summaryrefslogtreecommitdiff
path: root/test/files/neg
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Compiler now ready to accept value classes in standard library. Time for a ↵Martin Odersky2012-02-222-5/+2
| | | | | | | | | | | | new STARR!
| * | Updatwd check file.Martin Odersky2012-02-221-2/+2
| | |
| * | Implemented super access in value classes, restrictions for value classes.Martin Odersky2012-02-192-0/+82
| | |
| * | Added missing files from last commitMartin Odersky2012-02-132-0/+17
| | |
| * | All steps of value class proposal implemented. Most restrictions are now ↵Martin Odersky2012-02-133-9/+19
| | | | | | | | | | | | enforced. Super calls and specialized still missing.
| * | Removing unnecessary AnyVal code.Paul Phillips2012-02-066-43/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...since it works from source. The parser must be forcibly restrained from adding a bogus constructor, but other than that it's pretty much smooth sailing. To give an idea how smooth, if I change scala.Short like so: trait Bippy extends Any final class Short extends AnyVal with Bippy Then it just works, at least until the fiction is revealed. scala> def f(x: Bippy) = x f: (x: Bippy)Bippy scala> f(5) <console>:9: error: type mismatch; found : Int(5) required: Bippy f(5) ^ scala> f(5: Short) java.lang.ClassCastException: java.lang.Short cannot be cast to scala.Bippy at .<init>(<console>:9) at .<clinit>(<console>) at .<init>(<console>:11)
* | | Merge branch 'merge-inline' of /scratch/trunk3 into developPaul Phillips2012-03-1421-50/+78
|\ \ \
| * | | New starr to support new fundamental laws of reality.Paul Phillips2012-03-142-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And grueling recovery from branch drift. Merges a portion (and only a portion) of topic/inline into master. The major changes which come with this merge are: AnyVal is unsealed, can be extended directly. ScalaObject is no longer with us.
| * | | Merge branch 'master' into merge-inlinePaul Phillips2012-03-1475-17/+975
| |\ \ \ | | |/ / | |/| / | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: lib/scala-compiler.jar.desired.sha1 lib/scala-library-src.jar.desired.sha1 lib/scala-library.jar.desired.sha1 src/compiler/scala/reflect/internal/Definitions.scala src/compiler/scala/reflect/internal/Importers.scala src/compiler/scala/reflect/internal/Symbols.scala src/compiler/scala/reflect/internal/Trees.scala src/compiler/scala/reflect/internal/Types.scala src/compiler/scala/tools/nsc/Global.scala src/compiler/scala/tools/nsc/transform/Erasure.scala src/compiler/scala/tools/nsc/transform/LiftCode.scala src/compiler/scala/tools/nsc/transform/UnCurry.scala src/compiler/scala/tools/nsc/typechecker/RefChecks.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala test/files/run/programmatic-main.check test/files/speclib/instrumented.jar.desired.sha1
| * | Checkfile output update for AnyVal class.Paul Phillips2012-02-041-1/+4
| | | | | | | | | | | | And with that one, I believe all tests pass.
| * | Making AnyVal into a class instead of a trait.Paul Phillips2012-02-042-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- traits can extend Any, AnyRef, or AnyVal -- classes can extend AnyRef or AnyVal but not Any. This breaks reflection for the moment as it smuggles AnyVal so far downstream that it's reflecting its way into bytecode (or something) but the following test case goes five for six as anticipated. trait Foo1 extends Any trait Foo2 extends AnyVal trait Foo3 extends AnyRef class Bar1 extends Any // fail @inline class Bar2 extends AnyVal class Bar3 extends AnyRef Eliminated various hijinx from definitions.
| * | Updated checkfiles to subtract ScalaObject.Paul Phillips2012-02-049-25/+15
| | |
| * | Merge branch 'master' into topic/inlinePaul Phillips2012-02-039-1/+63
| |\ \
| * | | intermediate work towards a new starr for value classes.Martin Odersky2012-02-031-6/+6
| | | |
| * | | More work on inline classes.Paul Phillips2012-01-304-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fail compile if AnyVal is inherited by a trait, a non-@inline class, or a class with an AnyRef parent somewhere. Added tests. Added logging, like [log extmethods] Inline class class Bippy spawns extension method. Old: def getClass: Class[_ <: Bippy] New: final def extension$getClass($this: Bippy): Class[_ <: Bippy] Fixed what I hope was a bug in ExtensionMethods where the original method params were dropped. Since adding a NonNull parent was also inflicting an AnyRef on AnyVal subclasses, suppressed that for those. Had the bright idea that AnyVal could extend NotNull. It doesn't seem to accomplish much, but then, I don't think NotNull accomplishes much. Still, maybe it's time to restrict the ways one can use AnyVal so one can't do this: scala> var x: AnyVal = _ x: AnyVal = null
| * | | Removed obsolete checkfile.Paul Phillips2012-01-302-13/+0
| | | |
| * | | Merge branch 'master' into inlinePaul Phillips2012-01-302-0/+47
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Definitions.scala
| * \ \ \ Merge remote-tracking branch 'paulp/inline' into topic/inlineMartin Odersky2012-01-298-17/+31
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Temporarily removed getClass from AnyVal to get build going. Disabled anyval-childen test. Fixed some other build problems. Implemented step 1 + 2 of inline classes proposal.
* | | | | | Removed "Todo: test" where a test exists.Simon Ochsenreither2012-03-122-3/+3
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | - Renamed t960 to a more sensible name, because SI-960 is not related to the test and I couldn't find a ticket number. - Some minor fixes to @deprecated like switched or missing versions.
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge remote-tracking branches 'adriaanm/ticket/5189' and ↵Paul Phillips2012-03-114-0/+81
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'jsuereth/better-starr-flow' into develop
| * | | | | | SI-5189 fixed: safe type infer for constr patternAdriaan Moors2012-03-092-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | several fixes to the standard library due to - the safer type checker this fix gives us (thus, some casts had to be inserted) - SI-5548 - type inference gets a bit more complicated, it needs help (chainl1 in combinator.Parsers) To deal with the type slack between actual (run-time) types and statically known types, for each abstract type T, reflect its variance as a skolem that is upper-bounded by T (covariant position), or lower-bounded by T (contravariant). Consider the following example: class AbsWrapperCov[+A] case class Wrapper[B](x: Wrapped[B]) extends AbsWrapperCov[B] def unwrap[T](x: AbsWrapperCov[T]): Wrapped[T] = x match { case Wrapper(wrapped) => // Wrapper's type parameter must not be assumed to be equal to T, // it's *upper-bounded* by it wrapped // : Wrapped[_ <: T] } this method should type check if and only if Wrapped is covariant in its type parameter before inferring Wrapper's type parameter B from x's type AbsWrapperCov[T], we must take into account that x's actual type is: AbsWrapperCov[Tactual] forSome {type Tactual <: T} since AbsWrapperCov is covariant in A -- in other words, we must not assume we know T exactly, all we know is its upper bound since method application is the only way to generate this slack between run-time and compile-time types (TODO: right!?), we can simply replace skolems that represent method type parameters as seen from the method's body by other skolems that are (upper/lower)-bounded by that type-parameter skolem (depending on the variance position of the skolem in the statically assumed type of the scrutinee, pt) this type slack is introduced by adaptConstrPattern: before it calls inferConstructorInstance, it creates a new context that holds the new existential skolems the context created by adaptConstrPattern must not be a CaseDef, since that confuses instantiateTypeVar and the whole pushTypeBounds/restoreTypeBounds dance (CaseDef contexts remember the bounds of the type params that we clobbered during GADT typing) typedCase deskolemizes the existential skolems back to the method skolems, since they don't serve any further purpose (except confusing the old pattern matcher) typedCase is now better at finding that context (using nextEnclosing)
| * | | | | | SI-5189 1/2: inferConstrInst uses correct varianceAdriaan Moors2012-03-092-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed concurrent.impl.Promise by making FState invariant (it would be unsound to make it covariant)
* | | | | | | Fix for tailcall transform/recognition bugs.Paul Phillips2012-03-116-2/+35
| |/ / / / / |/| | | | | | | | | | | | | | | | | Closes SI-3275, SI-5455.
* | | | | | Merge remote-tracking branch 'hubertp/issue/5554' into developPaul Phillips2012-03-072-0/+106
|\ \ \ \ \ \
| * | | | | | Closes #SI-5554Hubert Plociniczak2012-03-062-0/+106
| | | | | | |
* | | | | | | Merge remote-tracking branches 'adriaanm/ticket/5546' and ↵Paul Phillips2012-03-064-0/+197
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | 'hubertp/issue/5553' into develop
| * | | | | | Closes #5553, review by dragosHubert Plociniczak2012-03-064-0/+197
| |/ / / / /
* | | | | | Test for SI-5529.Paul Phillips2012-02-282-0/+25
| | | | | |
* | | | | | Don't print underlying type of modules.Paul Phillips2012-02-283-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Since there is no useful information in such a message.
* | | | | | Fix for typing of objects in patterns.Paul Phillips2012-02-282-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An object in a pattern should have type "Foo.type" just as objects not in patterns do. Closes SI-5406. Review by @moors.
* | | | | | Improving error message.Paul Phillips2012-02-286-9/+9
|/ / / / / | | | | | | | | | | | | | | | | | | | | Hacked filename into message to alleviate meaningless "_$1 defined twice" error condition. References SI-4893.
* | | | | Merge remote-tracking branch 'adriaanm/ticket/errortests'Paul Phillips2012-02-236-1/+26
|\ \ \ \ \
| * | | | | test for DependentMethodTpeConversionToFunctionErrorAdriaan Moors2012-02-232-0/+9
| | | | | |
| * | | | | test for TooManyArgsPatternErrorAdriaan Moors2012-02-232-0/+9
| | | | | |
| * | | | | test for OverloadedUnapplyErrorAdriaan Moors2012-02-232-1/+8
| | | | | |
| | | | | |
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
*-------. | | | | | Merge remote-tracking branches 'namin/add-test-for-finitary-error', ↵Paul Phillips2012-02-2310-0/+56
|\ \ \ \ \| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'namin/add-test-for-parent-inherited-twice-error', 'namin/add-test-for-constructor-prefix-error', 'namin/add-tests-for-qualifying-class-error', 'namin/add-test-for-abstraction-from-volatile-type-error' and 'axel22/issue/5293' into develop
| | | | * | | | | | Add test for AbstractionFromVolatileTypeError.Nada Amin2012-02-232-0/+15
| | | | |/ / / / /
| | | * / / / / / Add tests for QualifyingClassError.Nada Amin2012-02-234-0/+21
| | | |/ / / / /
| | * / / / / / Add test for ConstructorPrefixError.Nada Amin2012-02-232-0/+11
| | |/ / / / /
| * / / / / / Add test case for ParentInheritedTwiceError.Nada Amin2012-02-232-0/+9
| |/ / / / /
* / / / / / Added test case for FinitaryError.Nada Amin2012-02-232-0/+7
|/ / / / /
* | | | | One last nudge for elidable.Paul Phillips2012-02-223-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | A method with return type Nothing elides into a call to ??? . It's the role ??? was born for.
* | | | | Reworked and restored elidable.Paul Phillips2012-02-223-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found a better elidable implementation which is robust against other parts of the compiler doing their things. Calls to elidable methods are replaced with zero of the same type. Elidable methods themselves remain in place, but with their body replaced with a zero of the method return type. Thus is everything to be found where it is expected to be found, but nothing will be found where nothing ought to be found. Nothing of course will never be found.
* | | | | Revert recent elidable commits.Paul Phillips2012-02-223-36/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On epfl jenkins, elidable.scala fails with: [partest] java.lang.VerifyError: (class: Test$, method: main signature: ([Ljava/lang/String;)V) Unable to pop operand off an empty stack [partest] [partest] at Test.main(elidable.scala) Strangely it is fine for me on OSX with either apple's jvm or openjdk. Since tests were not running for a while I don't know which of the recent elidable commits is responsible, so given present time demands all I can do is revert them all. Revert "Fix for SI-5215: scalac crash when @elidable used in trait" This reverts commit 5e52ce9a13f12ef159e25ac80c6be2803ec48950. Revert "Fix for SI-5215 part 2: generate return value when eliding method calls" This reverts commit 61c9b4f01d99a81e15391b270bd1b5a895f65ffd. Revert "Eliminating duplication in zero creation." This reverts commit fbb7865e137e83660257fdc79d19d29ff39c775b. Revert "Disallow eliding when Nothing is expected" This reverts commit f26a47c4e8bda2f6c689b4e9b0bb5c64ccf4c699.
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge remote-tracking branches 'som-snytt/elide-nothing', ↵Paul Phillips2012-02-215-1/+56
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'szabolcsberecz/SI-5316' and 'szabolcsberecz/SI-5171' into develop
| | * | | | | Test for SI-5316Szabolcs Berecz2012-02-212-1/+20
| |/ / / / / |/| | | | | | | | | | | | | | | | | Compiler NPE on 2.9.1 when implicit parameter not found
| * | | | | Disallow eliding when Nothing is expectedSom Snytt2012-02-213-0/+36
|/ / / / /
* | | | | A better error message for inheritance conflict.Paul Phillips2012-02-192-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And some tests for pending. Closes SI-5358.
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge remote-tracking branches 'hubertp/issue/5452' and 'hubertp/issue/5493' ↵Paul Phillips2012-02-176-0/+53
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | into develop
| | * | | | | Closes #5497.Hubert Plociniczak2012-02-184-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Chain contexts by sharing the error buffer, unless you explicitly create a silent context. Review by @odersky