diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-09-23 14:07:22 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-09-28 14:21:45 +0200 |
commit | a6b81ac12a45866e97d30133c12dee775b93ea39 (patch) | |
tree | 89020413a56a36ebde3a02b99e4ec367f81cf33c /build.number | |
parent | 4e87654a9187fc65e5971580f4e25589fff052b9 (diff) | |
download | scala-a6b81ac12a45866e97d30133c12dee775b93ea39.tar.gz scala-a6b81ac12a45866e97d30133c12dee775b93ea39.tar.bz2 scala-a6b81ac12a45866e97d30133c12dee775b93ea39.zip |
SI-6417 correctly reifies non-value types
If we're reifying non-value types (e.g. MethodTypes), we can't use them
as type arguments for TypeTag/WeakTypeTag factory methods, otherwise
the macro expansion won't typecheck:
http://groups.google.com/group/scala-internals/browse_thread/thread/2d7bb85bfcdb2e2
This situation is impossible if one uses only reify and type tags, but
c.reifyTree and c.reifyType exposes in the macro API let anyone feed
anything into the reifier.
Therefore I now check the tpe that is about to be used in TypeApply
wrapping TypeTag/WeakTypeTag factory methods and replace it with AnyTpe
if it doesn't fit.
Diffstat (limited to 'build.number')
0 files changed, 0 insertions, 0 deletions