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.