diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-14 23:29:50 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-26 11:19:36 -0800 |
commit | 76bb23df5e2909871f4f6ba3184abe99f9ba667a (patch) | |
tree | b7c97de44a03071dd448dae332d1473cb8b32c80 /test/files | |
parent | 801eab55019c433d2fa6a925d02e41b1c47cbf22 (diff) | |
download | scala-76bb23df5e2909871f4f6ba3184abe99f9ba667a.tar.gz scala-76bb23df5e2909871f4f6ba3184abe99f9ba667a.tar.bz2 scala-76bb23df5e2909871f4f6ba3184abe99f9ba667a.zip |
SI-6083, misleading annotation error message.
When an implicit conversion causes an apparently constant
argument not to be constant, show the conversion, not the
constant.
Diffstat (limited to 'test/files')
-rw-r--r-- | test/files/neg/annot-nonconst.check | 2 | ||||
-rw-r--r-- | test/files/neg/t6083.check | 10 | ||||
-rw-r--r-- | test/files/neg/t6083.scala | 7 |
3 files changed, 18 insertions, 1 deletions
diff --git a/test/files/neg/annot-nonconst.check b/test/files/neg/annot-nonconst.check index b43e58a0ca..5b3da7a13c 100644 --- a/test/files/neg/annot-nonconst.check +++ b/test/files/neg/annot-nonconst.check @@ -8,7 +8,7 @@ make your annotation visible at runtime. If that is what you want, you must write the annotation class in Java. class Ann2(value: String) extends annotation.ClassfileAnnotation ^ -annot-nonconst.scala:6: error: annotation argument needs to be a constant; found: n +annot-nonconst.scala:6: error: annotation argument needs to be a constant; found: Test.this.n @Length(n) def foo = "foo" ^ annot-nonconst.scala:7: error: annotation argument cannot be null diff --git a/test/files/neg/t6083.check b/test/files/neg/t6083.check new file mode 100644 index 0000000000..c9b5ba05d3 --- /dev/null +++ b/test/files/neg/t6083.check @@ -0,0 +1,10 @@ +t6083.scala:6: warning: Implementation restriction: subclassing Classfile does not +make your annotation visible at runtime. If that is what +you want, you must write the annotation class in Java. +class annot(value: String) extends annotation.ClassfileAnnotation + ^ +t6083.scala:7: error: annotation argument needs to be a constant; found: conv.i2s(101) +@annot(101) class C + ^ +one warning found +one error found diff --git a/test/files/neg/t6083.scala b/test/files/neg/t6083.scala new file mode 100644 index 0000000000..1de18e6527 --- /dev/null +++ b/test/files/neg/t6083.scala @@ -0,0 +1,7 @@ +object conv { + implicit def i2s(i: Int): String = "" +} +import conv._ + +class annot(value: String) extends annotation.ClassfileAnnotation +@annot(101) class C |