aboutsummaryrefslogtreecommitdiff
path: root/tests/pending
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix problem of overloading resolution when receiver is not stable.Martin Odersky2016-02-191-15/+0
|
* Add test to illustrate overloading problem.Martin Odersky2016-02-191-0/+15
|
* Fix pending test for picklingMartin Odersky2016-02-191-2/+2
| | | | | There is a before/after difference having to do with the order in which class declarations show up.
* Move failing test to pendingMartin Odersky2016-02-191-0/+20
| | | | | | Named parameters cause some elements to be unpickled in a different order as they are pickled. In particular term parameter aliases and type parameter aliases seem to be swapped.
* Merge pull request #1075 from dotty-staging/fix-t920-testDmitry Petrashko2016-02-161-0/+25
|\ | | | | Drop empty companion objects
| * Move test to pendingMartin Odersky2016-02-111-0/+25
| | | | | | | | | | | | | | | | | | | | The underlying problem on MacOS/Windows remains: We have a class `B` and an object `b` in the same scope. We used to get a conflict on `B$/b$` because we created an empty companion object for `B`. Now we get a conflict for `B/b`, because the `b` object creates to classes: `b.class` an `b$.class` and `b.class` clashes with `B.class`.
* | Add test case for #645Martin Odersky2016-02-121-15/+0
|/
* Enable tests for old fixed issuesGuillaume Martres2016-02-096-584/+0
| | | | Fix #530, #654, #681, #684, #685
* Fix caching bug: don't assume that tvars instantiation cannot be retractedGuillaume Martres2016-01-171-5/+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/+8
| | | | | | | | | | | | | | | | 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
* The big pending/pos test triageMartin Odersky2015-12-20189-3607/+8
|
* Categorize more testsMartin Odersky2015-12-191-0/+10
| | | | All pos tests up to 3999 have been triaged. One new test in pending.
* Remove empty test fileMartin Odersky2015-10-221-0/+0
|
* More testsMartin Odersky2015-10-214-0/+54
|
* Move failing test to pendingMartin Odersky2015-10-011-0/+45
| | | | | | | | | | There is a diff, but a minor one. Instead of (T? >: Int <: Int) we get (T? = Int) after pickling.
* Move failing test to pending.Martin Odersky2015-09-181-0/+52
| | | | | | The original IterableSelfRec is not syntactically legal after the hk changes. I attempted to fix, but there's still a type error. Need to investigate whether this is a true error or a bug.
* Enable more tests that passDmitry Petrashko2015-09-1475-1581/+0
|
* Revert "Workaround #742 and add a test for it."Martin Odersky2015-08-051-7/+0
| | | | This reverts commit a43d39ad719978fbb36663f336c1c7cd2c4da1e0.
* Merge pull request #735 from dotty-staging/ycheck-methodsodersky2015-08-0497-4440/+13
|\ | | | | Ycheck that methods defined in ClassInfo exist in tree.
| * Add a test for #743 to pending.Dmitry Petrashko2015-07-281-0/+6
| |
| * Workaround #742 and add a test for it.Dmitry Petrashko2015-07-281-0/+7
| | | | | | | | | | Making a correct fix could take some time, and I want to find other issues before I start working on this one.
| * Enable 61 tests that succeed.Dmitry Petrashko2015-07-1395-4440/+0
| |
* | Implement emotion of annotations in GenBCode.Dmitry Petrashko2015-07-141-12/+0
|/ | | | Fixes #688
* Merge pull request #694 from dotty-staging/fix/dependent-methodsodersky2015-07-061-28/+0
|\ | | | | Fix/dependent methods
| * Add test from pending.Martin Odersky2015-06-251-32/+0
| |
| * Handle normalization of implicit dependent methods.Martin Odersky2015-06-231-1/+5
| | | | | | | | Now handles included test if toplevel implicit is given, but not yet without.
* | Drop Module flag from lifted symbols.Martin Odersky2015-06-261-19/+0
| | | | | | | | | | | | | | Reason: A lifted module is no longer a module (i.e. singleton object) in the scope to which it is lifted. Fixes #689.
* | Fix erasure of Thistypes.Martin Odersky2015-06-262-59/+0
| | | | | | | | | | | | | | | | | | | | Thistypes erased to the underlying class. This is wrong. When seen as part of some other type, a ThisType has to erase to the erasure of the underlying type (i.e. the erasure if the selftype of the class). unittest-collections.scala failed with a MethodNotFound error because the erasure was computed incorrectly. On the other hand, a tree with a ThisType type, should keep the type, analogous to a tree with a TermRef type.
* | Merge pull request #678 from dotty-staging/fix/#670-orphan-polyparamodersky2015-06-251-26/+0
|\ \ | |/ |/| Avoid junk produced by Constraint#replace.
| * Avoid junk produced by Constraint#replace.Martin Odersky2015-06-221-26/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two instances where a constraint undergoing a replace would still refer to poly params that are no longer bound after the replace. 1. In an ordering the replaced parameters was n ot removed from the bounds of the others. 2. When a parameter refers to the replaced parameter in a type, (not a TypeBounds), the replaced parameter was not replaced. We now have checking in place that in globally committable typer states, TypeVars are not instantiated to PolyParams and (configurable) that constraints of such typer states are always closed. Fixes #670.
* | Merge pull request #677 from alexander-myltsev/am-579-implement_class_ofDmitry Petrashko2015-06-232-54/+0
|\ \ | | | | | | Closes #579 Implement mini-phase for classOf[T]
| * | Closes #579 Implement mini-phase for classOf[T]Alexander Myltsev2015-06-222-54/+0
| | |
* | | Merge pull request #667 from dotty-staging/fix/#646-array-additionodersky2015-06-222-15/+0
|\ \ \ | | | | | | | | Fix/#646 array addition
| * | | Do not check for ambiguous implicits in viewExistsMartin Odersky2015-06-222-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `viewExists(X, Y)` failed if there were ambiguous implicit conversions from X to Y. This is too fragile, as demonstrated by test case run/array-addition.scala. Here, the `genericArrayOps` implicit was not inserted because its result type `Array[?T]` was deemed to be incompatible with `? { +: : ? }`. It was incompatible because there were multiple implicits that added :+ to arrays of various element types. But once `genericArrayOps` gets applied, the type parameter `?T` of the array result is fixed, and the ambuity goes away. The scenario shows that we should not test for ambiguous implicits in viewExists. Such a test is fragile because it depends on the progress of type inference when the test is made. It's preferable to just test for any implicit conversion to exist and to check for ambiguities later, when the implicit conversion is actually applied. This has also the potential of speeding up implicit search in situations where `viewExists` is called often (e.g. when coupled with overloading resolution).
* | | | Merge pull request #675 from dotty-staging/fix/#652-erase-constructorsodersky2015-06-228-227/+0
|\ \ \ \ | |/ / / |/| | | Fix/#652 erase constructors
| * | | Map outer fields to parameters in primary constructorMartin Odersky2015-06-204-161/+0
| | | | | | | | | | | | | | | | | | | | | | | | Previously this was only done in secondary constructors; need to do it in primary constructor as well to avoid "reference to this before super" problems.
| * | | Map proxy references in constructors to parametersMartin Odersky2015-06-202-34/+0
| | | | | | | | | | | | | | | | | | | | Proxy references in constructors can't be left as fields because they can happen before the supercall.
| * | | Map outer accessors to outer paramatersMartin Odersky2015-06-192-32/+0
| |/ / | | | | | | | | | | | | Map references to outer accessors in secondary constructors to outer parameters. This was the second source of "reference to this before super call" errors.
* | | Merge pull request #668 from lampepfl/fix/#650-self-typesodersky2015-06-222-161/+0
|\ \ \ | |_|/ |/| | Fix checking whether types are instantiable.
| * | Fix checking whether types are instantiable.Martin Odersky2015-06-192-161/+0
| | | | | | | | | | | | | | | The logic for checking aginst the self type was wrong, as demonstrated by pos/checkInstantiable.scala.
* | | Merge pull request #674 from dotty-staging/fix/#655-eta-expansionodersky2015-06-212-20/+0
|\ \ \ | |_|/ |/| | Fix/#655 eta expansion
| * | Fix problem in eta expansion.Martin Odersky2015-06-192-20/+0
| | | | | | | | | | | | Failure to do a widen caused by-name parameters to go undetected.
* | | Merge pull request #669 from dotty-staging/fix-patmat-seqodersky2015-06-194-56/+0
|\ \ \ | |/ / |/| | Fix sequence matching.
| * | Enable t5629b.Dmitry Petrashko2015-06-192-46/+0
| | | | | | | | | | | | Was also fixed in this PR.
| * | Fix wrong test in PatMat.Dmitry Petrashko2015-06-192-10/+0
| | | | | | | | | | | | | | | Call drop method directly if class derives from sequence. I do not understand how callRuntime works in scalac. Calling this method requires implicit search.
* | | Add failing test for #670.Martin Odersky2015-06-191-0/+26
| | |
* | | Take expected result type into account more often for overloading resolutionMartin Odersky2015-06-191-108/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the expected result type of a FunProto type was ignored and taken into account only in case of ambiguities. arrayclone-new.scala shows that this is not enough. In a case like val x: Array[Byte] = Array(1, 2) we typed 1, 2 to be Int, so overloading resulution would give the Array.apply of type (Int, Int*)Array[Int]. But that's a dead end, since Array[Int] is not a subtype of Array[Byte]. This commit proposes the following modified rule for overloading resulution: A method alternative is applicable if ... (as before), and if its result type is copmpatible with the expected type of the method application. The commit does not pre-select alternatives based on comparing with the expected result type. I tried that but it slowed down typechecking by a factor of at least 4. Instead, we proceed as usual, ignoring the result type except in case of ambiguities, but check whether the result of overloading resolution has a compatible result type. If that's not the case, we filter all alternatives for result type compatibility and try again.
* | Merge pull request #663 from dotty-staging/fix/#643-scala2-noinitsDmitry Petrashko2015-06-192-181/+0
|\ \ | | | | | | Fix #643 - Scala2 unpickling now sets NoInits flag for interfaces.
| * | Avoid spurious StaleSymbol error in <refinement> membersMartin Odersky2015-06-162-181/+0
| |/ | | | | | | | | | | | | Refinement classes and their members could give spurious stale symbol errors if the symbol is loaded in a different run than the classfile containing it. The problem is that refinement classes do not form part of the scope of their owners. The fix assumes that refinement classes are always "stillValid".
* | Merge pull request #664 from dotty-staging/more-testsodersky2015-06-181098-13928/+0
|\ \ | |/ |/| Enable tests that pass, move macro tests to disabled.