aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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 #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
| |
| * Fix documentation of Config.checkConstraintsSeparatedGuillaume Martres2016-02-081-4/+4
| |
| * Avoid `related` buffer in `addConstraint`.Martin Odersky2016-02-051-11/+17
| |
| * Narrow problematic constraint instead of widening it.Martin Odersky2016-02-051-8/+22
| |
| * Fix docs and namingMartin Odersky2016-02-052-6/+9
| |
| * Prune constraints that could turn into cyclesMartin Odersky2016-02-053-3/+65
| | | | | | | | Fixes #864. Review by @smarter.
* | Merge pull request #1053 from dotty-staging/fix-#1045odersky2016-02-085-25/+90
|\ \ | | | | | | Fix #1045
| * | Drop redundant context parameterMartin Odersky2016-02-081-1/+1
| | |
| * | Disable benchmark testMartin Odersky2016-02-041-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | The test checks that Scala collections perform within 10x of Java collections. That's not something we need to test for dotty. And because of the heavily parallel execution of the tests it does not always hold. This is the second time in a a month that this particular test failed on jenkins. I think we lost enough cycles on it.
| * | Slight optimizationMartin Odersky2016-02-041-6/+8
| | |
| * | Try to make refinements match in approximateUnionsMartin Odersky2016-02-043-2/+48
| | | | | | | | | | | | | | | See comment in Typer#approximateUnion for an explanation. Fixes #1045.
| * | Push `|' into corresponding RefinedTypes in approximateUnionMartin Odersky2016-02-042-25/+42
| | | | | | | | | | | | | | | This gives in general a supertype, that's OK for approximation. See ee76fda for an explanation.
* | | Merge pull request #1067 from dotty-staging/fix-1065odersky2016-02-082-2/+22
|\ \ \ | | | | | | | | Fix #1065 erasedLub for arrays of primitives.
| * | | Test that #1065 is fixed.Dmitry Petrashko2016-02-081-0/+12
| | | |
| * | | Fix #1065 erasedLub for arrays of primitives.Dmitry Petrashko2016-02-081-2/+10
| |/ / | | | | | | | | | | | | | | | Unlike arrays of objects, that can be accessed as an array of a super type of this object, int[] cannot be accessed as an array of primitives.
* | | Merge pull request #1063 from dotty-staging/fix-#803Dmitry Petrashko2016-02-083-3/+18
|\ \ \ | | | | | | | | Handle "missing args" case when expected type is a singleton type.
| * | | Handle "missing args" case when expected type is a singleton type.Martin Odersky2016-02-053-3/+18
| | |/ | |/| | | | | | | Fixes #803.
* | | Merge pull request #1057 from dotty-staging/fix/hide-stacktracesodersky2016-02-069-9/+11
|\ \ \ | | | | | | | | Hide stack traces behind -Ydebug