aboutsummaryrefslogtreecommitdiff
path: root/tests/pending
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * Move tests that have " macro" or "reify" to disabled.Dmitry Petrashko2015-06-151020-11391/+0
| |
| * Enable tests that succeed.Dmitry Petrashko2015-06-1578-2537/+0
| |
* | Fix #651 Generalize criterion for isOpAssignMartin Odersky2015-06-152-354/+0
|/ | | | | Methods like + can have multiple parameters. In that case += also takes multiple parameters.
* Move test from lambdaLift.scala to a separate file in pending.Dmitry Petrashko2015-06-021-0/+20
|
* Fix bridge creation for value classesGuillaume Martres2015-05-233-44/+0
| | | | | | | | | As the comment in the code says: "In general, a bridge is needed when the signature of the closure method after Erasure contains an ErasedValueType but the corresponding type in the functional interface is not an ErasedValueType." So we need to check if _at least one_ of the type needs to be adapted, not if _all of them_ need to, the use of "forall" was an error.
* Add some run tests related to value classesGuillaume Martres2015-05-2321-415/+0
|
* Remove tests from pending.Dmitry Petrashko2015-05-22695-18871/+0
|
* Disable byNameVarargs. Kills JVM.Dmitry Petrashko2015-05-201-0/+27
|
* Use LegacyApp in run tests.Dmitry Petrashko2015-05-13902-959/+902
|
* Running rewrite tool on run tests.Dmitry Petrashko2015-05-13731-1786/+2131
|
* Run tests as they were in scala.Dmitry Petrashko2015-05-123383-0/+92963
|
* Merge pull request #526 from dotty-staging/fix/#522odersky2015-05-032-20/+0
|\ | | | | Fix #522.
| * Moved tests from pendingMartin Odersky2015-05-032-20/+0
| |
* | Enable test strip-tvars-for-lubbasetypes.scalaGuillaume Martres2015-05-031-25/+0
|/ | | | | The test had to be slightly modified because of dotty's stricter checking of type bounds validity, see #525 where this was discussed.
* Enable pending pos tests related to value classesGuillaume Martres2015-05-015-76/+0
| | | | | | | | | | | | | Each test needs to have its own package because pos_all will try to compile the whole valueclasses directory at once. The remaining tests with "extends AnyVal" in tests/pending/pos are related to separate compilation, except for: - t6482.scala and t7022.scala which were fixed by https://github.com/scala/scala/pull/1468 in scalac and seem to trigger a similar bug in FullParameterization - strip-tvars-for-lubbasetypes.scala which was fixed by https://github.com/scala/scala/pull/1758 in scalac
* Ensure spaces after `if` in Dotty tests.Dmitry Petrashko2015-04-096-7/+7
|
* Add spaces around + in tests.Dmitry Petrashko2015-04-097-15/+15
|
* Remove trailing spaces in Dotty tests.Dmitry Petrashko2015-04-097-28/+28
|
* Replace tabs with 4 spaces in Dotty tests.Dmitry Petrashko2015-04-0918-59/+59
|
* add/strictMartin Odersky2015-03-132-49/+0
| | | | | | | | | | | Add -strict option to do some type checks that are encessary to ensure type soundness, but are stricter than what Scala 2.x enforces. The first such test is the "pattern cannot be uniquely instantiated" problem where we reject a non-variant case subclass of a covariant superclass in a pattern match. The error is now only issued in -struct mode, otherwise it will be a warning. We might move more tests into the same category. This should help the transition.
* Java methods: JavaMethodType instead of MethodType, convert Object to AnyOndrej Lhotak2015-02-072-10/+0
| | | | | | | | | | Fixes two bugs needed for java-override test: Namer was creating a MethodType instead of a JavaMethodType even though the JavaDefined flag was set on the DefDef. Following Scalac, Namer needs to convert Java method parameters of type j.l.Object to s.Any.
* New failing testMartin Odersky2015-02-072-0/+10
| | | | As noticed by @retronym, Any and Object are not identified when matching Scala and Java methods. I believe this is because the Java method does not have the Java flag set. @olhotak can you take a look?
* Test reorgMartin Odersky2015-02-0715-210/+1
|