aboutsummaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* | Fix i321, tail call needs to be careful with abstracting over class type ↵Dmitry Petrashko2015-02-031-0/+10
|/ | | | | | arguments. Or it could lead to Ycheck error that was triggered in #321.
* Merge pull request #338 from dotty-staging/fix/t3152-findMemberodersky2015-01-3110-0/+38
|\ | | | | Fix/t3152 find member
| * New testsMartin Odersky2015-01-2710-0/+162
| |
| * Use normnalized type to report type errors.Martin Odersky2015-01-278-124/+0
| | | | | | | | | | | | | | | | | | Without it, we get strange error messages like found: (implicit X)Y requred: Z when the problem is really that Y is not a subtype of Z.
* | Merge pull request #331 from dotty-staging/fix/refined-subtypingodersky2015-01-3114-67/+71
|\ \ | | | | | | Fix/refined subtyping
| * | Fixed problem with ensureSingletonMartin Odersky2015-01-281-3/+1
| | | | | | | | | | | | | | | Need to also ensure that the singleton is stable. This makes compound.scala pass.
| * | Cleanups prompted by reviews.Martin Odersky2015-01-281-1/+4
| |/
| * Fixes suggested by reviews from @smarter.Martin Odersky2015-01-242-3/+2
| | | | | | | | Also, added tests trhat work now.
| * Moved previously failing tests to posMartin Odersky2015-01-185-66/+6
| | | | | | | | | | GADTs now work again (they stopped workign when we went to the inductive satisfiability checks). The deep for expression also works, even with some more levels added.
| * New test: moduleSubtypingMartin Odersky2015-01-141-0/+23
| | | | | | | | Tests (non)equivalence of modules and their ThisTypes.
| * Made constraint data structures pluggable.Martin Odersky2015-01-121-0/+13
| | | | | | | | | | Factored out interface for constraints. Current implementation: NaiveConstraint. Preparing for a more efficient one.
| * Rename RefinedThis -> SkolemTypeMartin Odersky2015-01-101-1/+1
| | | | | | | | | | Also, make binder type of SkolemType refer to arbitrary type, not necessarily RefinedType.
| * Reverting the idea that RefinedThis types take levels.Martin Odersky2015-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the end, this did not buy us anything. What matters is that - we can reliably identify RefinedThis types pointing to a given refinement type. Making sure that the `binder` field of q RefinedThis type in a refinedInfo is always the containing refined type is good enough for that. - we take care to rebind RefinedThis types in isSubType. This was leaky before, is handled now better in the new isSubType. So, in the end, adding a level was a needless complication. Also, as a next step we should be able to identify skolem types and RefinedThis types.
| * Simplify and fix bounds propagation in constraints.Martin Odersky2015-01-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous scheme did not ensure that transitivity was eliminated. Example scenario: We have in the constraint P <: Q for constrained variables P, Q and add Q <: T Previous propagation added the constraint and then tested whether the bounds of all variables were satisfiable. For Q we test P <: T but that is true because P <: Q and we already added the constraint Q <: T. So we fail to add the constraint P <: T, and transitivity is no longer eliminated. Instead we now test the new bounds (in this case P <: T) *before* adding the new constraint Q <: T. This is also simpler than the previous scheme.
| * New scheme for subtyping refined types.Martin Odersky2015-01-081-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Instead of rebasing, use the DeBrujn level of a RefiendThis. - Make sure lower type is a singleton by skolemizing it if necessary. - Do the correct rebinding of the upper type's RefinedThis. Remarks: - The new scheme discovered quite a lot of errors which are mostly fixded in other commits of this branch. i0268 (GADT matching) still does not work, moved to pending. - Some optimizations are currently missing: (1) fast path refined subtyping (2) faster operations for substituting refined thistypes which explot the fact that RefinedThis is relatively rare.
| * Reorg of subtyping.Martin Odersky2015-01-014-1/+26
| | | | | | | | Plus, RefinedThis gets a second parameter, `level`. This will replace the first one in due time.
| * test reorgMartin Odersky2014-12-214-1/+3
| | | | | | | | Moved working tests to pos, annotated non-working ones.
* | Merge pull request #313 from dotty-staging/more-testsDmitry Petrashko2015-01-0918-24/+92
|\| | | | | More tests
| * tests reorgsMartin Odersky2014-12-216-0/+35
| | | | | | | | Move some tests into proper slots + comments what they are.
| * Don't emit copy method for case classes with repeated parameters.Martin Odersky2014-12-201-0/+0
| | | | | | | | | | | | | | | | scalac has the same restriction. The reason is that we do not have a means to specify a sequence-valued default for a vararg parameter. It would be nice if we could, but this requires a more substantial development effort.
| * New passing tests.Martin Odersky2014-12-192-0/+31
| |
| * Harden implicit scope computation against CyclicReference errors.Martin Odersky2014-12-192-31/+0
| |
| * Fix isUnboundedGeneric for alias types.Martin Odersky2014-12-191-0/+52
| | | | | | | | | | Fixes problem in test case SI-7638a.scala which gave an override error before.
| * Avoid name clashes when generating synthetic companion objects.Martin Odersky2014-12-191-1/+2
| |
| * Test re-org.Martin Odersky2014-12-196-23/+3
| | | | | | | | Moved some working test to pos. I wonder why they were in pending? They did work for me.
| * Fix NoCyclicReference testMartin Odersky2014-12-191-0/+0
| | | | | | | | | | | | The problem was that, unlike a classDefSig, a higher-kinded typeDefSig did not get a preset info with its type parameters. So any type-application of the defined type in its bounds would fail.
* | Merge pull request #317 from dotty-staging/fix/java-varargsDmitry Petrashko2015-01-082-23/+30
|\ \ | | | | | | Fix/java varargs
| * | Fix passing : _* arguments to Java methodsMartin Odersky2014-12-212-23/+30
| |/ | | | | | | | | Arguments of the form (xs: _*) which are passed to Java methods need to be converted to arrays, not sequences.
* | Merge pull request #309 from dotty-staging/fix/#306-avoidance-problemDmitry Petrashko2014-12-311-0/+17
|\ \ | | | | | | Avpid returning ExprTypes from blocks.
| * | Added testMartin Odersky2014-12-181-0/+17
| | |
* | | Merge pull request #310 from dotty-staging/fix/#305-annot-bootstrapDmitry Petrashko2014-12-311-0/+8
|\ \ \ | | | | | | | | Fix/#305 annot bootstrap
| * | | More careful usage of unforced decls in classes.Martin Odersky2014-12-181-0/+8
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Rename `decls` to `unforcedDecls` to make it clear that it is danegrous to use. 2) Prefer `info.decls` over `unforcedDecls`. This fixes the problem reported in #305 where the primary constructor was not found.
* | | Fixed testMartin Odersky2014-12-191-3/+1
| | |
* | | Allow for varargs passed to Java annotation constructors.Martin Odersky2014-12-192-8/+5
| |/ |/|
* | Merge pull request #271 from dotty-staging/fix/i268-gadtsodersky2014-12-191-0/+15
|\ \ | |/ |/| Fixed #264 - failure to typecheck GADTs
| * Fixed #264 - failure to typecheck GADTsMartin Odersky2014-12-161-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | The previous scheme derived the right bounds, but then failed to use them because a TypeRef already has a set info (its bounds). Changing the bounds in the symbol by a side effect does not affect that. This is good! But it showed that the previous scheme was too fragile because it used a sneaky side effect when updating the symbol info which failed to propgate into the cached info in TypeRef. We now keep GADT computed bounds separate form the symbol info in a map `gadt` in the current context.
* | Merge pull request #251 from dotty-staging/shared-backendDmitry Petrashko2014-12-173-0/+32
|\ \ | | | | | | Shared backend
| * | Handle Arrays in backend.Dmitry Petrashko2014-12-161-0/+8
| | |
| * | Label test with nested cycles and simple patterns.Dmitry Petrashko2014-12-161-0/+21
| | |
| * | Add test for backend.Dmitry Petrashko2014-12-161-0/+3
| | |
* | | Fix #300: Make literals have the same constants as their types.Martin Odersky2014-12-171-0/+6
| | |
* | | Merge pull request #294 from samuelgruetter/tests-rewrite-2odersky2014-12-16509-64/+125
|\ \ \ | | | | | | | | Run rewrite tool on tests (2)
| * | | move failing tests from tests/untried/pos to tests/pending/posSamuel Gruetter2014-12-16494-0/+0
| | | |
| * | | run srewrite version 88d3cd4126d135617a8189f0a855757d7e2ab806 on ↵Samuel Gruetter2014-12-1635-57/+118
| |/ / | | | | | | | | | tests/untried/pos
* | | Merge pull request #282 from dotty-staging/fix/i0239-package-objectsodersky2014-12-162-0/+35
|\ \ \ | |/ / |/| | Fix #239 - handling of package objects
| * | Fix to asSeenFrom for package object membersMartin Odersky2014-12-151-0/+24
| | | | | | | | | | | | | | | Like TypeAssigner, asSeenFrom needs to insert a package object if the prefix is a package but the class enclosing the type is not.
| * | Fix #239 - handling of package objectsMartin Odersky2014-12-131-0/+11
| | | | | | | | | | | | | | | | | | References to `.package` are now also inserted if the accessed member comes from a class inherited by a package object.
* | | Fix typechecking rules for Binds of type trees.Martin Odersky2014-12-151-0/+19
| |/ |/|
* | Merge pull request #279 from dotty-staging/test/#91odersky2014-12-132-0/+17
|\ \ | | | | | | Two new tests
| * | Two new testsMartin Odersky2014-12-132-0/+17
| |/ | | | | | | | | 1) Verify we survive illegal infinite paths. Closes #91. 2) Verify we handle fbounds in and types correctly.