aboutsummaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Test that #939 is fixedDmitry Petrashko2016-01-241-0/+8
|
* Merge pull request #1039 from dotty-staging/fix-#998Guillaume Martres2016-01-231-0/+6
|\ | | | | Fix #998
| * Fix #998Martin Odersky2016-01-201-0/+6
| | | | | | | | Needed a fix in approximateUnion.
* | Merge pull request #1038 from dotty-staging/fix-#1037Guillaume Martres2016-01-232-0/+7
|\ \ | | | | | | Fix #1037
| * | Extend testMartin Odersky2016-01-192-0/+7
| |/ | | | | | | | | We verified that before the combination abstract/concrete for `x` also led to AMEs. So we test it here explicitly, too.
* / Fix #1036Martin Odersky2016-01-201-0/+12
|/ | | | Achieved by tweaking from where we get the parameter types of an eta-expansion.
* Check AppliedTypeTrees bounds inside AppliedTypeTreeGuillaume Martres2016-01-181-0/+5
|
* Adapt and add testsMartin Odersky2016-01-183-7/+143
| | | | | New test that exhibited the problem is ski.scala. Previously this did not fail with a bounds violation.
* Fix caching bug: don't assume that tvars instantiation cannot be retractedGuillaume Martres2016-01-171-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When TypeVar#inst is empty but an instantiation exists in the typer state, we should set ephemeral to true, because this instantiation will be retracted if we throw away the current typer state. This makes hkrange.scala pass, it compiled before but the type parameter of `f` was inferred to be `Nothing` because of this bug, and this failed Ycheck. For anyone who wonders how caching bugs manifest themselves, here's what happened in details in hkrange.scala: 1. In an ExploreTyperState we set `CC` to be `IndexedSeq` in the constraint set 2. In that same typer state the TypeRef `CC[Int]` (it's a TypeRef because `CC` is a type lambda) gets the denotation `IndexedSeq[Int]`, which is correct, but the denotation is cached since `ephemeral` is false, which is wrong. 3. Later, we retract the ExplorerTyperState, so `CC` is uninstantiated again and unconstrained. 4. Then we do the subtyping check `CC[Int] <:< IndexedSeq[Int]`, because the denotation of `CC[Int]` was cached, this returns true, but `CC` stays unconstrained. 5. This means that when we instantiate `CC`, we get `Nothing` After this fix, the TypeRef denotation is no longer cached, so when we do `CC[Int] <:< IndexedSeq[Int]`, `CC` gets constrained as expected.
* Stop crashes because we're out of memory by disabling t7880Guillaume Martres2016-01-171-0/+1
| | | | | | | | | | | | | | | | All of our recent memory-related tests failures since https://github.com/lampepfl/dotty/pull/1030 was merged seem to be caused by t7880.scala. It tries to intentionally trigger an OutOfMemoryError, however since we don't pass -Xmx to our run tests it's possible that this we fill up the memory of our host before we reach the maximum heap size of the JVM. Ideally, we would specify a -Xmx for run tests (scalac uses 1 GB), unfortunately in the version of partest we use this is tricky because we need to set the system property "partest.java_opts". If we upgrade our partest to the latest release, we can instead specify it by setting the argument `javaOpts` of the constructor of `SuiteRunner`, see https://github.com/scala/scala-partest/commit/7c4659e1f88b410109ad3c4e7f66ae7070c6e985
* Compute type params in namer without completing the whole infoMartin Odersky2016-01-161-0/+6
| | | | | | | | | Type params should be computed before computing the whole info of a type. Without the patch we get a cyclic reference in the compileMixed test. Note that compileIndexedSeq does not pass with this commit (it passed before), this is fixed in the next commit.
* Fix checkNonCyclic.Martin Odersky2016-01-162-0/+10
| | | | | | | Need to also look info refined types. Need to handle case where we hit a NoCompleter again. Fixes #974 and makes MutableSortedSetFactory in stdlib compile.
* Merge pull request #1005 from dotty-staging/ycheck-erasure-arraysDmitry Petrashko2016-01-042-0/+30
|\ | | | | Ycheck that scala.Array is erazed to either Object or JavaArrayType.
| * Fix erasure of raw arraysDmitry Petrashko2015-12-211-0/+15
| |
| * Minimize #996Dmitry Petrashko2015-12-201-0/+15
| |
* | Merge pull request #1010 from dotty-staging/fix/new-asSeenFromodersky2016-01-031-0/+13
|\ \ | | | | | | Fix #1009: Do not forget to skolemize some types
| * | Fix #1009: Do not forget to skolemize some typesGuillaume Martres2015-12-241-0/+13
| | |
* | | Merge pull request #1006 from dotty-staging/more-testsGuillaume Martres2015-12-26257-273/+65
|\ \ \ | |/ / |/| | More tests
| * | The big pending/pos test triageMartin Odersky2015-12-20196-670/+57
| | |
| * | Fix problem dealing with symbolic import renamesMartin Odersky2015-12-201-0/+9
| | |
| * | Fix hk comparison between class and range lambdaMartin Odersky2015-12-202-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | In a situation like List <: [X] -> <: GenTraversable[X] We have to ask whether the rhs contains the instantiated lhs, not whether it is a supertype.
| * | Don't flag override errors for synthetic companion objects.Martin Odersky2015-12-191-0/+25
| | |
| * | Fix parsing of blocks that end in an importMartin Odersky2015-12-191-0/+35
| | |
| * | Fix desugaring of symbols.Martin Odersky2015-12-191-0/+518
| | | | | | | | | | | | Symbols can appear in patterns, so inserting an `apply` is wrong.
| * | Fix eta lifting for functions with vararg parameters.Martin Odersky2015-12-191-0/+5
| | |
| * | Categorize more testsMartin Odersky2015-12-1962-199/+2
| | | | | | | | | | | | All pos tests up to 3999 have been triaged. One new test in pending.
* | | Update test error countMartin Odersky2015-12-221-2/+2
| | | | | | | | | | | | | | | One error gest supporessed now because it has the same position as a previous one.
* | | Fix off by 2 error for symbol positionsMartin Odersky2015-12-221-5/+0
| | |
* | | Make asSeenFrom idempotentMartin Odersky2015-12-211-0/+12
|/ / | | | | | | | | | | Let asSeenFrom generate a marker annotated type for any unsafe instantiation. Then cleanup in typedSelect.
* | Add test caseMartin Odersky2015-12-191-0/+40
| |
* | Revise alias rules in type comparisons.Martin Odersky2015-12-152-0/+0
|/ | | | The fix solves two cases where we had a deep subtype before.
* Check types for overriding conditions.Martin Odersky2015-12-142-9/+18
| | | | Closes #241 -- that took a while!
* Better diagnosis for cyclic references caused by class clashes.Martin Odersky2015-12-142-19/+20
| | | | | | | We now get a cyclic reference when inheriting from an inner class with the same name in an outer supertype. Since this was legal in Scala2 it's good to explain that particular case. Test case in overrideClass.scala
* Add test caseMartin Odersky2015-12-141-0/+26
|
* Make some types of definitions symbolicMartin Odersky2015-12-141-11/+11
| | | | | | | | | This is needed to ensure that the type of a definition node (ValDef, TypeDef, or DefDef) always refers to the symbol of that definition. Caused a spurious error in selfReq to go away (so error count was updated).
* Do not report data races between symbols defined in class and its selftypeMartin Odersky2015-12-141-0/+13
| | | | | | | Analogous to the previous situation where we do not report a data race if the previous symbol comes from a superclass, we now do the same if the previous symbol comes from a given self type. Makes overrideDataRace.scala pass, and finally enables stdlib test with TraverableViewLike.scala added.
* Fix tricky bug coming up when compiling TraversableViewLike.Martin Odersky2015-12-141-0/+18
|
* Allow deep subtype for sets and related code in dotty/transform.Martin Odersky2015-12-131-0/+0
| | | | | The change in subtyping led to a deep subtype recursion for sets.scala. It seems legit, so the -Yno-deep-subtypes check is disabled.
* Perform variance adaptation only when needed in isSubTypeMartin Odersky2015-12-131-0/+0
| | | | | | Previously adaptIfHK was performed on every type application. This made t3152 fail. We now do this only on demand, in isSubType. t3152 now passes again. But the change unmasked another error, which makes Iter2 fail to compile.
* Disallow hk type parameters in lower bounds.Martin Odersky2015-12-111-0/+11
| | | | Also: various cleanups to comments.
* Move failing test to pendingMartin Odersky2015-12-061-0/+0
| | | | | Seems to be a hk-type inference issue. Needs further investigation but is not high priority right now.
* Switch to new hk scheme.Martin Odersky2015-12-061-3/+3
|
* Add missing type params in testMartin Odersky2015-12-061-1/+1
|
* Disallow existentially bound parameters as type parametersMartin Odersky2015-12-064-22/+37
| | | | | | | Done in order to keep the basics as simple as possible. Treating existentially bound parameters as still instantiatable type parameters does not seem to add anything fundamental, and makes the type system less regular.
* Add pickling/unpickling of stable modifierVladimirNik2015-11-271-0/+8
| | | | | Pickling/unpickling of STABLE modifier allows to fix problem with unpickling of path-dependent types (#982)
* isSubtype: try to dealias TypeRefs before recursively checking the prefixesGuillaume Martres2015-11-251-0/+15
| | | | | | | As demonstrated by tests/pos/hk-deep-subtype.scala, we can avoid some deep subtype recursions that result in stack overflows by doing this. Fix #943.
* Fix ambiguity errors with polymorphic implicitsGuillaume Martres2015-11-182-0/+15
| | | | | | | | | Previously, `isAsSpecific(alt1, tp1, alt2, tp2)` did not handle having `tp2` be a polymorphic non-method type like `[A]Foo[A]`. Also update the documentation of `isAsSpecific` to account for this change, the new documentation is based on SLS ยง 6.26.3 but adapted to reflect the code.
* Merge pull request #957 from dotty-staging/fix-#938odersky2015-11-171-0/+21
|\ | | | | Fix #938
| * Add test caseMartin Odersky2015-11-171-0/+21
| |
* | Links between companions after unpickling are addedVladimirNik2015-11-172-0/+10
|/