summaryrefslogtreecommitdiff
path: root/test/files/jvm/typerep.scala
Commit message (Collapse)AuthorAgeFilesLines
* deprecate Pair and TripleDen Shabalin2013-11-201-1/+1
|
* Cull extraneous whitespace.Paul Phillips2013-09-181-1/+1
| | | | | | | | | | | | | | | | | | | | | One last flurry with the broom before I leave you slobs to code in your own filth. Eliminated all the trailing whitespace I could manage, with special prejudice reserved for the test cases which depended on the preservation of trailing whitespace. Was reminded I cannot figure out how to eliminate the trailing space on the "scala> " prompt in repl transcripts. At least reduced the number of such empty prompts by trimming transcript code on the way in. Routed ConsoleReporter's "printMessage" through a trailing whitespace stripping method which might help futureproof against the future of whitespace diseases. Deleted the up-to-40 lines of trailing whitespace found in various library files. It seems like only yesterday we performed whitespace surgery on the whole repo. Clearly it doesn't stick very well. I suggest it would work better to enforce a few requirements on the way in.
* SI-6388 Remove first parts of deprecated @serializable annotationSimon Ochsenreither2012-10-081-26/+0
|
* SI-5189 fixed: safe type infer for constr patternAdriaan Moors2012-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Begone t1737...Hubert Plociniczak2011-11-021-1/+1
|
* Renamed Application to App.Martin Odersky2011-02-211-1/+1
|
* [no content change] Fixed all SVN properties: m...Gilles Dubochet2009-09-241-1/+0
| | | | | | | | [no content change] Fixed all SVN properties: mimes, EOL, executable. Id expansion is consistently enabled for Scala/Java/C# sources in 'src/' and consistently disabled and removed from everywhere else: there should not be any dead Id tags anymore.
* 1.4-related cleanup and reorganization.Antonio Cunei2009-05-151-8/+17
| | | | | | | Removed a bunch of now useless 1.4 code, merged back jvm5-specific partest tests into the general jvm tests, documentation updates.
* chyanged implicits so that implicit Builder pat...Martin Odersky2009-03-171-2/+2
| | | | | chyanged implicits so that implicit Builder pattern works.
* Moved pending tests that succeed to their place...Iulian Dragos2008-06-111-0/+374
| | | | | | Moved pending tests that succeed to their place in the 'files' directory.
* moved typerep test to jvm5michelou2008-03-121-383/+0
|
* updated typerep testmichelou2008-03-111-8/+17
|
* build target is now 1.5Martin Odersky2008-01-171-0/+374
| | | | | | case classes now generate objects not factory methods. some small cleanups for type inference
* Had to create a test/pending/jvm5 directory.Geoffrey Washburn2008-01-111-374/+0
| | | | | Moved tests that are failing, but no present fixes into pending.
* -target 1.5 now the default.Martin Odersky2007-12-191-6/+6
|
* added type param to Classmichelou2007-12-191-3/+4
|
* runtime tests of type representationmichelou2007-11-131-0/+373