reflection warning with threading macro

2013-10-15 Thread Brian Craft
This gives me a reflection warning:

(.write out ^String (- slist meta :hex))

This does not:

(.write out ^String (:hex (meta slist)))

= (clojure.walk/macroexpand-all '(- slist meta :hex))
(:hex (meta slist))

What's going on? Is there some other way to type hint the case with the 
threading macro?

-- 
-- 
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.


Re: reflection warning with threading macro

2013-10-15 Thread Sean Corfield
My guess would be the ^String is attached to the following expression
in both cases but the macro-expansion process loses that metadata...

On Tue, Oct 15, 2013 at 10:51 AM, Brian Craft craft.br...@gmail.com wrote:
 This gives me a reflection warning:

 (.write out ^String (- slist meta :hex))

 This does not:

 (.write out ^String (:hex (meta slist)))

 = (clojure.walk/macroexpand-all '(- slist meta :hex))
 (:hex (meta slist))

 What's going on? Is there some other way to type hint the case with the
 threading macro?

 --
 --
 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.



-- 
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

Perfection is the enemy of the good.
-- Gustave Flaubert, French realist novelist (1821-1880)

-- 
-- 
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.


Re: reflection warning with threading macro

2013-10-15 Thread Marshall Bockrath-Vandegrift
Brian Craft craft.br...@gmail.com writes:

 What's going on? Is there some other way to type hint the case with
 the threading macro?

I’m pretty sure this is CLJ-865 “Macroexpansion discards form metadata”:

   http://dev.clojure.org/jira/browse/CLJ-865

In which case you’ll need to use an alternative form of the code in
order to attach the type-hint to e.g. a local.  At least until 1.6...

-Marshall

-- 
-- 
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.