I have code that compiles in Clojurescript as well as Clojure, and have 
noticed a new warning since moving to Clojurescript 1.10.439 from 
1.10.339.  I expect that this is due to this 
<https://clojurescript.org/news/news#_function_return_type_inference> 
enhancement to Clojurescript regarding "Function Return Type Inference".

This warning shows up when using figwheel and shadow-cljs.  Here is the 
shadow-cljs output since it shows the code nicely:


------ WARNING #1 
> --------------------------------------------------------------
>  File: zprint/focus.cljc:100:47
>
> --------------------------------------------------------------------------------
>   97 |         #_(println "range-ssv: start:" start "nwpath:" nwpath)
>   98 |         start (skip-whitespace-ssv ssv start)
>   99 |         ssv-next (next-ssv ssv start)
>  100 |         end (if (and ssv-next (not= start 0)) (dec ssv-next) (dec 
> (count 
> ssv)))]
>
> -----------------------------------------------------^--------------------------
>  cljs.core/-, all arguments must be numbers, got [#{nil clj-nil} number] 
> instead
>
> --------------------------------------------------------------------------------
>  101 |     #_(println "range-ssv:" [start end])
>  102 |     [start end]))
>
> --------------------------------------------------------------------------------
>
>
It is true that the return from next-ssv can be nil, and so the value of of 
ssv-next can be nil.  It is also true that it would be an error to call dec 
with a nil value. But unless I'm really confused, that can never happen 
since the call to dec is protected by the if with ssv-next in the and 
function.

I can (and have) changed this code to make the warning go away, but are we 
expecting that Clojurescript should emit a warning in this situation?  

Thanks!

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to