| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
The tests `i1059.scala` and `t3480.scala` are failing due to a bug
in pattern matcher that evaluates the `x` in `List(x: _*)` incorrectly.
Concerned issue: #1276
|
|
|
|
|
|
|
|
|
| |
To make tests pass, this required a looser specification of
`assumedCanEquals`, so that an abstract type T can be compared to
arbitrary values, as long as its upper bound can be compared. E.g.
T == null
T == "abc"
|
| |
|
|
|
|
| |
(and add it to commit set).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Also, check that pattern matching against idents/selects/literals makes
sense.
The hooks perform an implicit search for an instance of `Eq[L, R]`, where
`L`, `R` are the argument types. So far this always succeeeds because Eq.eqAny
matches all such types. A separate commit will check the returned
search term for validity.
|
| |
|
|
|
|
|
|
|
|
|
| |
Compare selected contravariant arguments as if they were covariant.
Which ones is explained in the doc comment for method `isAsSpecificValueType`
in Applications.scala.
This has the same motivation than what @paulp proposed around 2012. The solution is a bit
different from the one proposed then because it only affects top-level parameters.
|
|
|
|
| |
Unrelated to other commits but useful to get in.
|
|
|
|
| |
Real test is in neg/customargs
|
|
|
|
|
| |
Used to throw an uncaught merge error in checkAllOverrides
when compiling i1240c.scala.
|
| |
|
|
|
|
|
| |
This showcases a tricky interaction between overloading and overriding.
See discussion of #1240 for context.
|
|
|
|
|
|
|
|
| |
When finding two symbols in the same class that have the same signature
as seen from some prefix, issue a merge error.
This is simpler and more robust than the alternative of producing an overloaded
denotation and dealing with it afterwards.
|
| |
|
| |
|
|
|
|
|
| |
Since we decided to go with the non dotty-scanner approach these are
unnecessary to have altered, might just as well revert them.
|
| |
|
|
|
|
|
| |
No longer needed because we are going to allow dependent method types
in extractors, and the unary requirement is kind of obvious.
|
|
|
|
|
| |
Now explains in detail why an possibly found unapply or
unapplySeq is ineligible.
|
| |
|
|\ |
|
| |\
| | |
| | | |
Allow to specify per-callsite @tailrec annotation.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
It was fixed by 2460f9603b0f0ed1d73dfea99edcee9ba6261d36
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When an implicit argument is not found, we should in any case
assume the result type of the implicit method as the type of
the tree (after reporting an error, of course). If we don't
do that, we get implicit errors on weird positions when we try
to find an implicit argument for the same tree again. This
caused a spurious error in subtyping.scala, and also caused
an additional error at the end of EqualityStrawman1.scala.
|
|/ /
| |
| |
| |
| |
| |
| | |
This test shows how we can make equality non-universal in Scala. It also
exhibited the two bugs fixed in the previous two commits.
Also related: SI-9763.
|
|\ \
| | |
| | | |
Fix strawmans
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Bring strawman-4 and strawman-5 to feature-parity.
Test also strawman-4.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
New CollectionStrawMan5, executed as runttest in two different ways:
- built with scalac, test compiled by dotty in tests/run.
- built with dotty, test compiled by dotty using separate compilation.
|
| |/
|/| |
|
|\ \
| |/
|/| |
Fix Tasty errors
|
| |
| |
| |
| |
| |
| |
| | |
1) Move passing test to pickling
2) Add test case for #1212 in pending
3) Disable annotations/internal in pickling tests. They lead to a stable symbol error
which is explainable (modifiers are read before symbol is created).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Two problems were fixed:
- isJava needs to look at function symbol, not its type (references
to Java methods get normal MethodTypes not JavMethodTypes)
- we also need to handle the case where the repeated argument is
wrspped in a type ascription.
|
| |
| |
| |
| |
| |
| | |
ParamAccessor is not a pickled flag. This is not a problem for
normal parameter accessors which are pickled as PARAM fields. But setters
of parameter accessors also need to have the flag set (and Deferred reset).
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Improvements to cyclic checking, avoidance, named parameters
|
| |
| |
| |
| |
| |
| | |
Now verifies that the named type parameters of an overriding
type or class are the same as the named type parameters of
an overridden type.
|
| | |
|
| |
| |
| |
| | |
The intent is that Repr implementations should not bind the Out parameter.
|
| | |
|
| |
| |
| |
| |
| | |
The previous formulation broke for named parameters.
Test case in flowops1.scala.
|