I got a "Can't type hint a local with a primitive initializer" triggered by the following fragment of a "let" binding vector:
^BigDecimal d0x (- x (:x rp)) ^BigDecimal d0y (- y (:y rp)) d0x2 (- (* d0x d0x) (* d0y d0y)) d0y2 (* 2M (* d0x d0y)) d0x3 (- (* d0x d0x2) (* d0y d0y2)) d0y3 (+ (* d0x d0y2) (* d0y d0x2)) ^BigDecimal dx (+ (- (* ax d0x) (* ay d0y)) (- (* bx d0x2) (* by d0y2)) (- (* cx d0x3) (* cy d0y3))) The error message incorrectly pointed to the start of the enclosing "let" form as the error location, but it was actually the line starting ^BigDecimal dx ... that it objected to, as evidenced by the removal of that particular type hint making the message go away. (The cause of the error was double contamination from ax, ay, bx, by, cx, and cy. A few (bigdec ...) wrappings earlier in the code made it go away.) By way of contrast, a reflection warning generated by a "(with-precision m-log" line was much more helpful -- the column number pointed at the start of the symbol "m-log", and type-hinting m-log's prior declaration with ^Integer made that reflection warning go away. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.