aboutsummaryrefslogtreecommitdiff
path: root/tests/neg
Commit message (Collapse)AuthorAgeFilesLines
* Change testsMartin Odersky2016-07-111-37/+0
| | | | | | | | | | | | | | | | - compileMixed failed because there was a cycle between immutable.Seq (compiled) and parallel.ParSeq (loaded from classfile). Inspection of the completion log (turn completions Printer on) and the stack trace showed that there's nothing we can do here. The old hk scheme did not go into the cycle because it did not force an unrelated type. I believe with enough tweaking we would also hva egotten a cycle in the old hk scheme. The test is "fixed" by adding parallel.ParSeq to the files to compile. - Disable named parameter tests Those tests do not work yet with the revised hk scheme. Before trying to fix this, we should first decide what parts of named parameters should be kept.
* Eta-expand unapplied types that have type parametersMartin Odersky2016-07-111-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We would like to change from a scheme where eta-expansion was prototype driven to one where unapplied parameterized types are always eta expanded. The reason is that we might miss some eta expansions due to cyclic references. run/colltest4 is an exmaple. Here, we missed an eta expansion in the type of Iterator. The class definition is: trait Iterable[+A] extends IterableOnce[A] with FromIterable[Iterable] { We'd expect that the second parent would expand to FromIterable[[X0] -> Iterable[X0]] But we miss the expansion because at the time we complete Iterable we have not completed FromIterable yet. In fact this happens in both the old and the new hk scheme. But in the old scheme we did not notice the error whereas in the new scheme we get an error in PostTyper that the type Iterable does not conform to its bound `[X0] -> Iterable[X0]`. With this commit, we change the scheme, so that eta-expansion depends on the type parameters of a type itself, instead of the expected type. We should investigate whether we can do a similar change for Scala2 classloading. Check kinds of type parameters Also, do not allow a hk type if the bound is a * type.
* Add a second betaReduceMartin Odersky2016-07-111-1/+1
| | | | | | | | | | | | | The new one only reduces straight applications of type lambdas with definite arguments. It is called very early on appliedTo, and derivedRefinedType. The old one, now renamed to normalizeHkApply also handles wildcard arguments and can garbage collect general unneeded hk-refinements. It is called later, at various places. TODO: See what functionality of normalizeHkApply should go into betaReduce instead. Maybe we can even drop normalizeHkApply? However: need to be careful to maintain aliases for hk type inference.
* Normalize RecTypes on creation to avoid cycles.Martin Odersky2016-07-111-20/+21
| | | | | With this change, ski compiles (but with more errors than before). Without it, it goes into various infinite recursions.
* Fix #856: Handle try/catch cases as catch cases if possible.Nicolas Stucki2016-06-281-0/+35
| | | | | | | Previously they were all lifted into a match with the came cases. Now the first cases are handled directly by by the catch. If one of the cases can not be handled the old scheme is applied to to it and all subsequent cases.
* Test #1224.Dmitry Petrashko2016-06-071-0/+11
|
* Test #1220Dmitry Petrashko2016-06-071-0/+4
|
* Properly report errors when cli flags are malformedGuillaume Martres2016-06-021-0/+2
| | | | | Previously we returned an empty Reporter with no errors so partest reported the test as a success.
* Don't evaluate isInstanceOf for value classes, disable bugged testsFelix Mulder2016-05-261-0/+6
| | | | | | | The tests `i1059.scala` and `t3480.scala` are failing due to a bug in pattern matcher that evaluates the `x` in `List(x: _*)` incorrectly. Concerned issue: #1276
* Add Eq instances of standard types to PredefMartin Odersky2016-05-231-1/+10
| | | | | | | | | To make tests pass, this required a looser specification of `assumedCanEquals`, so that an abstract type T can be compared to arbitrary values, as long as its upper bound can be compared. E.g. T == null T == "abc"
* Add Java types to equality testMartin Odersky2016-05-231-0/+21
|
* Make Eq contravariantMartin Odersky2016-05-231-5/+4
| | | | (and add it to commit set).
* Test caseMartin Odersky2016-05-231-0/+80
|
* Hooks to check that comparisons with == / != make senseMartin Odersky2016-05-231-96/+0
| | | | | | | | | | Also, check that pattern matching against idents/selects/literals makes sense. The hooks perform an implicit search for an instance of `Eq[L, R]`, where `L`, `R` are the argument types. So far this always succeeeds because Eq.eqAny matches all such types. A separate commit will check the returned search term for validity.
* Add new strawman for multiversal equalityMartin Odersky2016-05-231-0/+96
|
* Remove stray testMartin Odersky2016-05-191-17/+0
| | | | Real test is in neg/customargs
* Handle MergeErrors in RefChecksMartin Odersky2016-05-192-14/+26
| | | | | Used to throw an uncaught merge error in checkAllOverrides when compiling i1240c.scala.
* Another test case involving super accessorsMartin Odersky2016-05-181-0/+17
|
* Issue MergeError exception for double def situationsMartin Odersky2016-05-182-17/+20
| | | | | | | | When finding two symbols in the same class that have the same signature as seen from some prefix, issue a merge error. This is simpler and more robust than the alternative of producing an overloaded denotation and dealing with it afterwards.
* Fix test caseMartin Odersky2016-05-181-2/+2
|
* Test caseMartin Odersky2016-05-181-0/+40
|
* Merge branch 'master' into fix-equalityodersky2016-04-262-0/+20
|\
| * Fix test failures in tailcall due to name clashes.Dmitry Petrashko2016-04-211-1/+1
| |
| * Add neg-test for method with @tailrec callsites that is not final.Dmitry Petrashko2016-04-181-0/+10
| |
| * Test #1221.Dmitry Petrashko2016-04-181-0/+10
| |
* | Support implicitNotFound annotationMartin Odersky2016-04-221-3/+6
| |
* | Avoid propagating unresolved implicitsMartin Odersky2016-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | When an implicit argument is not found, we should in any case assume the result type of the implicit method as the type of the tree (after reporting an error, of course). If we don't do that, we get implicit errors on weird positions when we try to find an implicit argument for the same tree again. This caused a spurious error in subtyping.scala, and also caused an additional error at the end of EqualityStrawman1.scala.
* | Straw man for multiversal equality.Martin Odersky2016-04-211-0/+76
|/ | | | | | | This test shows how we can make equality non-universal in Scala. It also exhibited the two bugs fixed in the previous two commits. Also related: SI-9763.
* Merge pull request #1186 from dotty-staging/fix-#1185odersky2016-04-061-0/+3
|\ | | | | Improvements to cyclic checking, avoidance, named parameters
| * Domain checking for named type parametersMartin Odersky2016-03-301-0/+3
| | | | | | | | | | | | Now verifies that the named type parameters of an overriding type or class are the same as the named type parameters of an overridden type.
* | Tailrec: drop support for polymorphic recursion.Dmitry Petrashko2016-03-311-2/+2
| | | | | | | | | | | | | | | | | | | | If the method that recurses over a different type arguments, if this method is specialised, it would lead to method not being tail-rec anymore. Eg: def foo[@specialized A, @specialized B]: Unit = foo[B, A]
* | Remove Variances.scala files accidentally leftover from #1193Guillaume Martres2016-03-311-15/+0
| | | | | | | | These files were supposed to be remove, their content are now in variances.scala
* | merge variances and VariancesMartin Odersky2016-03-311-0/+15
| |
* | Add tests related to variance checking.Sandro Stucki2016-03-301-0/+15
|/
* support `xs @ _*` and `_*` in Scala2 modeliu fengyun2016-03-181-0/+10
| | | | | | | | | | | | The standard syntax in Dotty now is `xs : _*`. In Scala2 mode, following code should be valid: list match { case List(_, _, _, _ @ _*) => 0 case List(_, _, _*) => 1 case List(_, _: _*) => 2 case Nil => 3 }
* Merge pull request #1160 from dotty-staging/add/collection-strawmanodersky2016-03-181-0/+17
|\ | | | | Add/collection strawman
| * Refine pretypeArgsMartin Odersky2016-03-091-0/+17
| | | | | | | | | | It worked more or less by accident before. Now it's more complicated, but we also have tests.
* | More neg testsMartin Odersky2016-03-122-0/+22
| | | | | | | | Some random neg tests from previous experiments.
* | Fix bug where ambiguous references were not reportedMartin Odersky2016-03-091-0/+11
|/ | | | | | | There was a mssing condition which meant Tyepr thought it was at the outermost scope where but was mistaken. Fixes #1145
* Neg tests: remove negTest flag; neg tests are binded to neg directoryVladimirNik2016-03-031-0/+9
|
* Neg tests: remove xerror parameter from tests (compute based on // error)VladimirNik2016-03-0311-58/+12
|
* Merge pull request #1111 from dotty-staging/fix-#1099Dmitry Petrashko2016-03-021-38/+0
|\ | | | | Special case pattern matching against abstract types with class tags
| * Remove bogus test on rebasingMartin Odersky2016-02-201-38/+0
| |
* | Merge pull request #1112 from dotty-staging/value-classes-private-this-paramDmitry Petrashko2016-02-201-2/+0
|\ \ | |/ |/| Value classes: add support for private[this] parameter
| * Add support for private[this] parameter in value classesVladimirNik2016-02-191-2/+0
| |
* | Merge pull request #1066 from dotty-staging/fix-#997odersky2016-02-192-0/+66
|\ \ | | | | | | Fix #997
| * | Add error markersMartin Odersky2016-02-191-2/+2
| | |
| * | Move leak detection to CheckingMartin Odersky2016-02-191-0/+2
| | | | | | | | | | | | Also: include a test that private aliases are transparent.
| * | Add checking for leaking private definitionsMartin Odersky2016-02-191-0/+45
| | | | | | | | | | | | First version. Fixes #997.
| * | Copy access flags to derived definitions during desugaringMartin Odersky2016-02-191-0/+19
| |/ | | | | | | Previously, some definitions were too public, others too private.