| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
1. There may be calls to super on non-this.
2. there may be calls to in-dirrect super-traits.
|
|\
| |
| | |
Fix #1503: be more careful where to insert apply
|
| | |
|
|/
|
|
|
|
| |
`apply` nodes should not be inserted in the result parts
of a block, if-then-else, match, or try. Instead they should
be added to the surrounding statement.
|
|\
| |
| | |
Fix #1457: Three incompatbilities with scalac
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Three goals:
1. Fix crasher in compileStdLib by saving and restoring
foundUnderScala2 analogous to iportedFromRoot.
2. Make behavior the same as scalac under Scala2 mode -
ListBuffer behaved differently before.
3. Make findRef faster by making it tail-recursive
as long as nothing was found.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Scala2 does not conform to spec Section 2, where it says:
Bindings of different kinds have a precedence defined on them:
1. Definitions and declarations that are local, inherited, or made available by a package clause and also defined in the same compilation unit as the reference, have highest precedence.
2. Explicit imports have next highest precedence.
3. Wildcard imports have next highest precedence.
4. Definitions made available by a package clause, but not also defined in the same compilation unit as the reference, have lowest precedence.
In fact Scala 2, merges (1) and (4) into highest precedence.
This commit simulates the Scala2 behavior under -language:Scala2, but gives a migration
warning. For the naming-resolution test case we get:
dotc *.scala -language:Scala2 -migration
callsite.scala:9: migration warning: Name resolution will change.
currently selected : naming.resolution.Files
in the future, without -language:Scala2: java.nio.file.Files'
where Files is a type in package object package which is an alias of java.util.stream.Stream[java.nio.file.Path]
Files' is a class in package file
def gimmeFiles: Files = Files.list(Paths.get("."))
^
one warning found
|
| |
| |
| |
| |
| |
| |
| |
| | |
Two of these are unavoidable. I moved the tests to diabled/not-representable
and added in each case a comment to the main scala file detailing why there
is a deviation.
The last one (import-rewrite) is fixed.
|
|\ \
| | |
| | | |
Fix #1513: misaligned by name type parameter type bounds
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit removes a problematic duplicated `checkBounds` call on `TypeApply`.
To verify correctness of this change on has to check that `normalizeTree` used only once [1],
and the function using `normalizeTree` already takes care of calling `checkBounds`.
[1]: https://github.com/lampepfl/dotty/blob/0e8f05d88bfef95fac59f522fd9d06792126bd11/src/dotty/tools/dotc/transform/PostTyper.scala#L205
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix #1510: Fix error message when abstract member not implemented.
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Fixes for scala.Dynamic
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Better `try` and `catch` messages
|
| | | | | |
|
|/ / / / |
|
|\ \ \ \
| |_|/ /
|/| | | |
Move t1335 test from /pos to /run
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
More run tests
|
| | | | |
|
| | | | |
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Fix #1335: Generate null checks for extractors
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Partially fix #1500: Implicit search breaks at a certain depth
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
The issue fixed here was introduced by 71027f15. The added `csyms.isEmpty` condition on `case nil =>` is always true, which is clearely a bug.
t1500c still fails with covariant (or contravariant) type parameters on `::`, but this seams to be a more complicated issue involving the typer.
|
|\ \ \
| | | |
| | | | |
Get property from environment instead of from sysprops
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Bump dottydoc version for nightly builds
|
|/ / |
|
|\ \
| | |
| | | |
More tweaks to type inference
|
| | |
| | |
| | |
| | |
| | | |
Need to export just uncommittedAncestor, can hide
isCommitted and parent.
|
| | |
| | |
| | |
| | |
| | |
| | | |
type.
Test case is isApplicableSafe -Ycheck:first.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test case in isApplicableSafe.scala. It turns out that this
requires a context merge using the new `&' operator. Sequence of actions:
1) Typecheck argument in typerstate 1.
2) Cache argument.
3) Evolve same typer state (to typecheck other arguments, say)
leading to a different constraint.
4) Take typechecked argument in same state.
It turns out that the merge in TyperState is needed not just for
isApplicableSafe but also for (e.g. erased-lubs.scala) as well as
many parts of dotty itself.
|
| | |
| | |
| | |
| | | |
Not used yet, but we might use it as an alternative to typedArg invalidation later.
|
|\ \ \
| | | |
| | | | |
Fix #1490: type test of union types via type alias
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Update readme: mark Exhaustivity checks & multiv.eq. as implemented
|
|/ / |
|
|\ \
| | |
| | | |
Fixes of GADTs and test recategorization.
|
| | | |
|