diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-08-21 16:15:58 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2009-08-21 16:15:58 +0000 |
commit | 78b61c43da92f9af2bcd09b61ed08c824f37cd8b (patch) | |
tree | 90002e74ed089a3575ade9e6e14a5a56b48a7b00 /test | |
parent | f73e819a415ecd290c5464206a4ef2a4080075f5 (diff) | |
download | scala-78b61c43da92f9af2bcd09b61ed08c824f37cd8b.tar.gz scala-78b61c43da92f9af2bcd09b61ed08c824f37cd8b.tar.bz2 scala-78b61c43da92f9af2bcd09b61ed08c824f37cd8b.zip |
replaced the implicit `identity` coercion by `c...
replaced the implicit `identity` coercion by `conforms`, which can be
used to encode generalised constraints the introduction of `conforms`
revealed a bug in adaptToMember, which was inferring views while already
inferring one, which gave rise to diverging implicits. Predef.identity
is no longer special as far as the compiler is concerned.
because conforms/identity was no longer prevented from being used as
a view (which does not make sense, but preventing it shouldn't be
necessary), removeNames in NamesDefaults suddenly didn't detect all
ambiguities because it relied on tryTypedApply failing fixed by using an
EmptyTree as an ambiguous argument instead of the argument, so failure
is guaranteed
fixed check file for t0590
new starr
fixed the weirdest bug ever: don't know why, but can't change the total
number of calls to newTermName in StdNames (so take away the one for
"identity", give one back, doesn't matter where --> see "utterweirdness"
at the end) the problem manifested itself by not finding Nil. This only
happens during start up (when the scala/package.scala file hasn't been
compiled yet), when Nil is required before List (because that would have
forced Nil to be loaded).
Diffstat (limited to 'test')
-rw-r--r-- | test/files/neg/t0590.check | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/test/files/neg/t0590.check b/test/files/neg/t0590.check index b928c1cb76..a3ef70c6cd 100644 --- a/test/files/neg/t0590.check +++ b/test/files/neg/t0590.check @@ -1,5 +1,6 @@ -t0590.scala:2: error: diverging implicit expansion for type (Null(null)) => T -starting with method foo in object Test +t0590.scala:2: error: type mismatch; + found : Null(null) + required: T implicit def foo[T] : T = null ^ one error found |