| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This commit extends the fix done in #1920 to implicit closures.
|
|\
| |
| | |
Fix #1568 - avoid transforming error trees
|
| |
| |
| |
| |
| | |
If a tree has type error, subtrees may not have an assigned type.
Therefore we should avoid transforming such trees.
|
|\ \
| |/
|/| |
Fix #1569: Fix logic for by-name parameters of inline methods
|
| |
| |
| |
| |
| | |
As #1569 shows, by-name parameters should be treated in the same way
as by-value parameters. If the expression is not pure, install a binding.
|
|\ \
| |/
|/| |
Fix-#1723: Avoid private leaks on completion
|
| |
| |
| |
| | |
As #1723 demonstrates, doing this at PostTyper is too late.
|
|\ \
| | |
| | | |
Fix #1644: Disallow inner classes in value classes
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix #1915 Synthetic function traits need NoInits flag
|
| | |/
| |/|
| | |
| | | |
Fixes #1915.
|
|\ \ \
| | | |
| | | | |
Implement structural type member access
|
| | | |
| | | |
| | | |
| | | | |
We can't handle them with the proposed scheme. I made a note in #1886.
|
| | | |
| | | |
| | | |
| | | | |
The PR also fixes #1866, as shown by this test case.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Use base types instead of implicits. This is more robust
in the presence of type abstraction.
|
| | | |
| | | |
| | | |
| | | | |
New scheme for implementing structural type member access.
|
| |/ /
|/| |
| | |
| | |
| | | |
xxl closures need to get the SAM type FunctionXXL as their explicit
type field after ersure.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Illegal class overrides are fundamentally at odds with the way dotty
represents types and therefore can cause lots of low-level problems.
Two measures in this commit
First, we detect direct illegal class overrides on completion instead of
during RefChecks. Break the override by making the previously
overriding type private.
This fixes i1750.scala, but still fails for indirect overrides between
two unrelated outer traits/classes that are inherited by the same class or trait.
We fix this by catching the previously thrown ClassCastException
in both ExtractAPI and RefChecks.
Test case for indirect overrides is in i1750a.scala.
|
|\ \
| | |
| | | |
Add sbt-based bootstrap
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fix #1687: postpone computations in tailrec until they are needed.
|
| | |
| | |
| | |
| | | |
The b-test would compile for a millenia without the fix.
|
|/ /
| |
| |
| |
| |
| | |
The upgraded backend contains a single new PR:
https://github.com/DarkDimius/scala/pull/4 which fixes Java interop with
Dotty-emitted inner classes in objects.
|
|\ \
| | |
| | | |
Fix #1877: Add forwarders for primitive/generic mixins.
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
Partially fix Java interop for emitted inner classes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The backend uses `rawname` to define the "inner name" of an InnerClass
entry in a classfile, this should be the simple name of the class before
any mangling takes place.
Fixing this allows Java code to reference dotty inner classes, except if
they're defined in objects which is still broken until
https://github.com/DarkDimius/scala/pull/4 is merged and a new backend
is published.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Before adding a constraint, make sure there is no way
the two types are already in a subtype relation.
Adding redundant constraints is problematic because we
might introduce cycles. See i1891.scala for a test.
|
| | |
|
|\ \
| |/
|/| |
Fix #1867: Set position of empty refined types
|
| | |
|
|\ \
| | |
| | | |
Fix #1865: Compute outer path at right phase
|
| | | |
|
| |/
| |
| |
| |
| | |
When computing the outer path, we need to be careful to dealias before erasure,
even if the outer path is demanded during erasure. Otherwise we lose prefixes.
|
| | |
|
|\ \
| | |
| | | |
Fix #1868: Fix a logic error in a match
|
| |/ |
|
|/ |
|
|\
| |
| | |
Fix #1845: Survive illegal this-type prefixes
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Wildcards don't make sense as type arguments to methods, and I believe to keep things
simple this should also apply to method type arguments in patterns.
The best way to enforce this is to make use of the existing infrastructure in the parser
for topLevelTypes.
|
|\ \
| | |
| | | |
Make more parts of stdlib compile
|
| |/
| |
| |
| |
| | |
Argument comparison of hk types did not take into account that
the compared types could have themselves wildcard arguments.
|
|/ |
|
|\
| |
| | |
Fix #1812, Symbols.mapSymbols shouldn't replace denotations
|
| | |
|