aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Strengthen requirement for auto-tuplingMartin Odersky2016-02-163-2/+6
| | | | | | | Was: corresponding parameter types "are compatible". Now: corresponding parameter types "conform". This avoids the inconsistency mentioned by @retronym in #897.
* Turn println into logMartin Odersky2016-02-161-1/+1
|
* Fix merge errorMartin Odersky2016-02-161-1/+1
|
* Add more pos and neg testsMartin Odersky2016-02-162-1/+5
| | | | Tests suggested by @retronym's comments on issue #897.
* Auto-uncurry n-ary functions.Martin Odersky2016-02-165-19/+87
| | | | Implements SIP #897.
* Merge pull request #1075 from dotty-staging/fix-t920-testDmitry Petrashko2016-02-168-37/+160
|\ | | | | Drop empty companion objects
| * Fix problems in DropEmptyCompanionsMartin Odersky2016-02-113-62/+89
| |
| * Only remove synthetic companion objectsMartin Odersky2016-02-112-3/+6
| | | | | | | | | | If the object was explicitly written, it might be referenced, even if it is empty.
| * Move test to pendingMartin Odersky2016-02-111-0/+5
| | | | | | | | | | | | | | | | | | | | 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`.
| * New phase to drop empty companion objectsMartin Odersky2016-02-113-0/+81
| |
| * Abstract out lazy local names somewhatMartin Odersky2016-02-112-6/+13
| | | | | | | | | | | | | | | | Add operations to NameOps to detect and produce names for lazy locals. @darkdimius Maybe there is already another way to do this? I could not find it.
* | Merge pull request #1080 from dotty-staging/fix-#619Dmitry Petrashko2016-02-124-3/+11
|\ \ | | | | | | Document dotty internal Annotations
| * | Document dotty internal AnnotationsMartin Odersky2016-02-124-3/+11
| |/
* | Merge pull request #1079 from dotty-staging/fix-#435Dmitry Petrashko2016-02-121-1/+1
|\ \ | | | | | | Fix #435
| * | Improve error messageMartin Odersky2016-02-121-1/+1
| | | | | | | | | | | | ... when package clashes with same-named object.
* | | Merge pull request #1076 from dotty-staging/fix/run-tests-memoryDmitry Petrashko2016-02-122-2/+11
|\ \ \ | | | | | | | | partest: run tests with -Xms64M -Xmx1024M instead of JVM defaults
| * | | partest: run tests with -Xms64M -Xmx1024M instead of JVM defaultsGuillaume Martres2016-02-112-2/+11
| | |/ | |/| | | | | | | | | | | | | This is the same settings that scalac uses, this should help use avoid using too much memory (the default on 64 bits Linux seems to be -Xms248M -Xmx3938M).
* | | Merge pull request #1081 from dotty-staging/fix-#645Dmitry Petrashko2016-02-122-0/+1
|\ \ \ | | | | | | | | Add test case for #645
| * | | Add test case for #645Martin Odersky2016-02-122-0/+1
| |/ /
* | | Merge pull request #1078 from dotty-staging/fix-#324Guillaume Martres2016-02-125-2/+21
|\ \ \ | |/ / |/| / | |/ Better handling enclosing class computations
| * Allow enclosing module as qualifying classMartin Odersky2016-02-122-1/+13
| |
| * Survive class of errors in implicit searchMartin Odersky2016-02-123-1/+8
|/ | | | | | | | An `C.this` term with erroneous class `C` will get a `NoPrefix` type. A subsequent implicit search on this crashed. This is fixed now. Fixes #324.
* Merge pull request #1071 from dotty-staging/add/more-testsodersky2016-02-108-3/+3
|\ | | | | Enable tests for old fixed issues
| * Enable tests for old fixed issuesGuillaume Martres2016-02-098-3/+3
|/ | | | Fix #530, #654, #681, #684, #685
* Merge pull request #1051 from dotty-staging/change-isVolatileodersky2016-02-0936-166/+633
|\ | | | | Change is volatile
| * Fix commpilation errorMartin Odersky2016-02-091-3/+7
| |
| * By-name parameters are not stable values.Martin Odersky2016-02-095-27/+30
| |
| * New test files from SI 7278.Martin Odersky2016-02-092-0/+74
| |
| * Perform typer realizability checks only during Typer.Martin Odersky2016-02-091-2/+2
| |
| * Big realizability refactoringMartin Odersky2016-02-0912-168/+300
| | | | | | | | | | | | | | Move logic from TypeOps to new file CheckRealizable.scala. Also check realizable fields under strict mode. Check at phase PostTyper rather than Typer to avoid cycles. New tests for imports and deep paths.
| * Handle paths of length > 1 for realizability checkingMartin Odersky2016-02-093-4/+69
| |
| * Consider by name parameters as lazily initializedMartin Odersky2016-02-091-1/+7
| | | | | | | | should be terated analogous to lazy vals for realizability checking.
| * Remove isVolatile and DNF methodsMartin Odersky2016-02-091-91/+1
| | | | | | | | These are replaced by the realizibility logic.
| * Drop lines from testMartin Odersky2016-02-093-5/+3
| | | | | | | | | | | | | | The lines in question now cause an error ("cannot be instantiated...") which masks the real tests at phase PostTyper. Also adapt bugcount of hklower test
| * Check that non-abstract classes have realizable bounds.Martin Odersky2016-02-094-14/+41
| |
| * Fix isRealizableTestMartin Odersky2016-02-091-1/+1
| | | | | | | | Need to demand "effecively final" instead of `is(Final)`.
| * Handle imports in path checks.Martin Odersky2016-02-093-12/+12
| | | | | | | | | | | | | | | | | | | | If `T` is a member of `p` then { import p._; ... T ... } should be checked in the same way as { ... p.T ... }
| * Fix path error disgnasticsMartin Odersky2016-02-094-8/+23
| | | | | | | | | | Fix wording so that it works for nested errors as well. Incorparte Tiark's latest example.
| * Only final lazy vals can be paths.Martin Odersky2016-02-094-4/+36
| | | | | | | | | | | | Reason: They might be overridden by other lazy vals that are not realizable, and therefore risk creating bad bounds.
| * Enforce rule that laziness is preserved when overriding.Martin Odersky2016-02-097-11/+23
| |
| * Reorganize tests to account for new typing of projectionMartin Odersky2016-02-0918-42/+112
| | | | | | | | | | | | Tests with failed projections are moved to pos-scala2, which was renamed from pos-special. Files in pos-scala2 are compiled with -language:Scala2 option.
| * Cleanup of isEffectivelyFinalMartin Odersky2016-02-091-7/+4
| | | | | | | | | | | | | | | | | | EffectivelyFinal came without documentation, so it was not clear what is was supposed to compute. I looked at the use sites, and it seems that all they need is "impossible to override". So I changed the code to do that and dropped the additional condition that members of modules or final classes were not allowed to be lazy or mutable. It was not clear to me what that had to do with finality.
| * Move realizability logic from Types to TypeOps.Martin Odersky2016-02-094-44/+45
| | | | | | | | Types is already big enough.
| * Realizability refactoringMartin Odersky2016-02-095-27/+58
| | | | | | | | | | | | Distinguish between isStable and isRealizable. Issue migration warnings for realizibility failures. Provide error diagnostics why something is not realizable.
| * Also consider type aliases when checking for realizabilityMartin Odersky2016-02-093-1/+41
| | | | | | | | Fixes #50.
| * Move scala2Mode test from isStable to isRealizableMartin Odersky2016-02-092-5/+5
| | | | | | | | This prepares the way for using isRealizable in different contexts.
| * Use isRealizable to identify stable prefixesMartin Odersky2016-02-095-11/+61
| | | | | | | | | | | | | | Replaces isVolatile, which is too weak (and more complicated). Backwards compatibility with Scala2 is ensured by dropping the requirement in Scala2 mode. Fixes #1047, which now compiles without inifinite recursion.
| * No volatile check needed for strict vals.Martin Odersky2016-02-092-10/+10
| |
* | Merge pull request #1058 from dotty-staging/fix-#864-v2Guillaume Martres2016-02-094-9/+94
|\ \ | |/ |/| Prune constraints that could turn into cycles
| * Fix documentation of ConstraintHandling#addConstraintGuillaume Martres2016-02-081-1/+1
| |