aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* The big pending/pos test triageMartin Odersky2015-12-20196-670/+57
|
* Fix problem dealing with symbolic import renamesMartin Odersky2015-12-202-1/+10
|
* Make isBottomType work for derives types as well.Martin Odersky2015-12-201-4/+1
|
* Fix hk comparison between class and range lambdaMartin Odersky2015-12-203-4/+25
| | | | | | | | | In a situation like List <: [X] -> <: GenTraversable[X] We have to ask whether the rhs contains the instantiated lhs, not whether it is a supertype.
* Don't do eta expansion on bottom typesMartin Odersky2015-12-202-11/+11
|
* Fix eta expansionMartin Odersky2015-12-191-1/+2
| | | | revios fix crashed for nullary functions
* Turn println into logMartin Odersky2015-12-191-1/+1
|
* Don't flag override errors for synthetic companion objects.Martin Odersky2015-12-192-2/+32
|
* Add position to implicit defs generated from implicit classes.Martin Odersky2015-12-191-1/+2
|
* Fix parsing of blocks that end in an importMartin Odersky2015-12-193-2/+38
|
* Fix desugaring of symbols.Martin Odersky2015-12-192-1/+519
| | | | Symbols can appear in patterns, so inserting an `apply` is wrong.
* Fix eta lifting for functions with vararg parameters.Martin Odersky2015-12-193-6/+12
|
* Categorize more testsMartin Odersky2015-12-1962-199/+2
| | | | All pos tests up to 3999 have been triaged. One new test in pending.
* Add test caseMartin Odersky2015-12-192-0/+41
|
* Refactoring of derivedSelectMartin Odersky2015-12-181-17/+17
| | | | If splitProjections is set, it is more efficient that way.
* Fix higher-kinded unions and intersectionsMartin Odersky2015-12-183-35/+83
| | | | | | Since And/Or type themselves are parameterless, their the union and intersection of hgiher-kinded types has to be treated specially: The types have to be pulled under a common lambda.
* Fix layoutMartin Odersky2015-12-151-17/+17
|
* Optionally rewrite projections.Martin Odersky2015-12-152-2/+41
|
* Revise alias rules in type comparisons.Martin Odersky2015-12-154-42/+36
| | | | The fix solves two cases where we had a deep subtype before.
* Dont push `|' inside refined types.Martin Odersky2015-12-151-11/+8
| | | | As the comment explains, this is not sound.
* Better error message in splitterMartin Odersky2015-12-151-1/+4
|
* Print bounds of TypeVars only when option is enabled.Martin Odersky2015-12-152-1/+3
|
* Merge pull request #1000 from dotty-staging/fix-#241odersky2015-12-1546-878/+1181
|\ | | | | Fix #241
| * More tweaks to override checks.Martin Odersky2015-12-151-2/+2
| |
| * Change <:< to overridesMartin Odersky2015-12-151-1/+1
| | | | | | | | This is needed to freeze the constraint.
| * Check types for overriding conditions.Martin Odersky2015-12-144-15/+34
| | | | | | | | Closes #241 -- that took a while!
| * Use symbolic refs when testing whether a TypeBounds contains a ClassInfoMartin Odersky2015-12-142-9/+14
| | | | | | | | | | Without the fix and the later commit that checks types for overriding we get a Ycheck failure in t3452h.scala.
| * Add comments to whitelist with assignments for further action.Martin Odersky2015-12-141-6/+5
| |
| * Generalize overriding checking from isDefinedMartin Odersky2015-12-143-1/+9
| | | | | | | | | | | | | | | | Generalize overriding checking from isDefined to all methods added by desugar to a case class. None of these methods has an override so we need to add one in case they do override another method (previously we would flag this as an error).
| * Only select parameterless get methods in unapplys.Martin Odersky2015-12-141-1/+1
| | | | | | | | | | | | Otherwise we'd get a failure due to an overloaded `get` definition whenever we typecheck a case class that is also a Map (because maps inherit a `get`).
| * Improve printing of overloaded denotationsMartin Odersky2015-12-141-1/+1
| |
| * Add new whitelists tests.Martin Odersky2015-12-141-3/+4
| |
| * Better diagnosis for cyclic references caused by class clashes.Martin Odersky2015-12-144-21/+28
| | | | | | | | | | | | | | We now get a cyclic reference when inheriting from an inner class with the same name in an outer supertype. Since this was legal in Scala2 it's good to explain that particular case. Test case in overrideClass.scala
| * Fix problem handling SuperTypes in asSeenFromMartin Odersky2015-12-141-11/+12
| | | | | | | | | | | | | | | | A SuperType should behave just as the underlying ThisType in asSeenFrom. Without this patch, compiling the ...ViewLike hierarachy crashes with a YCheck error in resolveSuper. The underlying issue is that the very complicated tangle of supercalls does not type check because an asSeenFrom with a SuperType prefix does not compute the right type.
| * Convert super. prefixes of types to this.Martin Odersky2015-12-141-1/+6
| | | | | | | | | | `super` has no meaning for type membes. Harmonizing the prefix to `this` avoids spurious incompatibilities.
| * Better diagnostics for clashing classesMartin Odersky2015-12-144-7/+18
| | | | | | | | | | | | We do not allow same-named class members in supertraits of a mixin composition anymore. This commit gives a better error message and avoids a crash in RefChecks.
| * Drop redundant conditionMartin Odersky2015-12-141-1/+1
| |
| * Add test caseMartin Odersky2015-12-141-0/+26
| |
| * Make some types of definitions symbolicMartin Odersky2015-12-143-15/+32
| | | | | | | | | | | | | | | | | | This is needed to ensure that the type of a definition node (ValDef, TypeDef, or DefDef) always refers to the symbol of that definition. Caused a spurious error in selfReq to go away (so error count was updated).
| * Fix sleeper bug in ParamForwardingMartin Odersky2015-12-144-7/+23
| | | | | | | | | | | | | | | | | | ParamForwarding converts some parameters to nullary methods, yet it does not update the references to these parameters. Their signature is still NotAMethod, which is wrong. Causes subtle differences in peckle tests: a param accessor get type T before pickling (which is wrong), gets => T when reading back (which is right). Test case in pickling/selfSym.scala.
| * Adaptations to checkSymAssignMartin Odersky2015-12-141-3/+8
| | | | | | | | | | | | | | | | (1) Also allow symbols to switch between a member of a class and a member of its selftype. Seen in the wild in TraversableViewLike.scala. Test case in pickling/selfSym.scala (2) Tidy up the error message.
| * Do not report data races between symbols defined in class and its selftypeMartin Odersky2015-12-144-6/+25
| | | | | | | | | | | | | | Analogous to the previous situation where we do not report a data race if the previous symbol comes from a superclass, we now do the same if the previous symbol comes from a given self type. Makes overrideDataRace.scala pass, and finally enables stdlib test with TraverableViewLike.scala added.
| * Fix tricky bug coming up when compiling TraversableViewLike.Martin Odersky2015-12-142-4/+52
| |
| * Avoid unassigned type errors when typing curried functions.Martin Odersky2015-12-141-21/+21
| | | | | | | | | | | | If a partial application of a function has an error type, make sure the whole tree also has an error type. Before, sometimes the type was missing which led to a partial application error.
| * Remove stray assignmentMartin Odersky2015-12-141-1/+0
| |
| * Add whitelist entries which now workMartin Odersky2015-12-141-4/+7
| | | | | | | | After changes to variance checker and fixes to stdlib.
| * Fix of too strict variance checking.Martin Odersky2015-12-141-1/+1
| | | | | | | | | | | | When following an alias type, go directly to aliased type. Going via the TypeAlias link causes the current variance ot be narrowed to 0.
| * Disregard BaseTypeArg parameters when variance checking.Martin Odersky2015-12-142-32/+8
| | | | | | | | Allows us to compile immutable.Set.
| * Make all arg bindings have flag BaseTypeArg.Martin Odersky2015-12-141-6/+15
| | | | | | | | | | | | It's unclear what the prupose of the previous restriction to Local only was. And we need it to be set for all arg bindings so that immutable.Set does not fail with a variance error.
| * Rename TypeArgument -> BaseTypeArg flag.Martin Odersky2015-12-141-5/+7
| | | | | | | | Describes its meaning more accurately.