| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
And some tests for pending.
Closes SI-5358.
|
|\ |
|
| |
| |
| |
| | |
multi-argument list methods.
|
| |
| |
| |
| | |
The elision is now done by not emitting method calls (it was done by removing the elidable methods).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While [@specialized A] already tries to include specialization,
a bug in specializedOn prevented this from happening: any empty
list could mean that the type var was unspecialized, or that it
was specialized on everything.
The fix is to have this function create the full list of symbols
in the case where the @specialized annotation doesn't explicitly
include any types.
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | | |
Some in pending, some in files. Closes SI-4770.
|
| | |
| | |
| | |
| | |
| | |
| | | |
A reimagining of erik's patch in 1df4fc6e59 . He did the hard
part, this is the batman reboot. I added more tests and tried
to make the anyref caching code less fragile.
|
| | | | |
| \ \ | |
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The basic problem here was that generic type params were getting
confused between the various specialized subclasses. For instance,
calling typeParamsSubAnyRef(A, C2$mcLI$sp) might return the wrong
specialized type param, e.g. C2$mcLZ$sp.A$sp (note the Z instead
of the I).
The fix is to cache with both the sym (A) and also the clazz
(C2$mcLI$sp). This may resolve a whole host of other obscure
AnyRef specialization problems.
|
| | | | | | |
| \ \ \ \ | |
|\ \ \ \ \ \
| |_|/ / / /
|/| | | | |
| | | | | | |
into develop
|
| | | |_|/
| | |/| |
| | | | |
| | | | | |
Chain contexts by sharing the error buffer, unless you explicitly create a silent context. Review by @odersky
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of trying to track the fallback attempts we rely on the
context state to inform us which fallback is the last one.
setError cannot always be called in NoBestMethodAlternativeError
because inferMethodAlternative relies on side-effects.
Review by @paulp.
|
|\ \ \ \ |
|
| |/ / / |
|
|\ \ \ \
| |_|/ /
|/| | /
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed some tests so that they work now.
The Transactions.scala test was failing when defined in scala.concurrent
package, reporting that type `_$1` is defined twice. Until we figure out
the reason for this, the package name in that test is renamed.
|
| |\|
| | |
| | |
| | |
| | | |
Conflicts:
src/library/scala/package.scala
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
execution-context
|
| | | | | | |
|
| |/ / / / |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
execution-context
Conflicts:
test/files/jvm/concurrent-future.scala
|
| | | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
block on {
}
is now changed to:
block(timeout) {
}
|
| | | | | |
|
|\ \ \ \ \ |
|
| | \ \ \ \ | |
| | \ \ \ \ | |
| |\ \ \ \ \ \
| | | | |_|_|/
| | | |/| | |
| | | | | | | |
'adriaanm/topic/virtpatmat', 'dcsobral/ticket/5439' and 'magarciaEPFL/cleanInliner' into develop
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
don't consider the matcherror-throwing catch-all case (generated by virtpatmat) a default case
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
catch handlers are now also translated by the virtualizing pattern matcher
emit type-based switches when possible, fallback to catch-all with full pattern match
(the logic used to emit constant-based switches was generalized to type-based switches,
abstracting out how to refer to the scrutinee and the shape of a default/catch-all case)
this was the last missing piece of essential functionality
now the virtualizing pattern matcher and the old one are mutually exclusive:
-Yvirtpatmat disables the old matcher logic completely
|
| |/ / / / |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
At least for the value of fix which means "better than it was in
2.9." I accidentally spent a long while trying to fix something I didn't
realize I hadn't broken. But then I lucked into partially fixing it, so
that's good news.
See run/t5488-fn.scala if you want to see what still doesn't work.
(It's covered at SI-4770, which is now reopened.) Closes SI-5488.
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
This mainly helps performance when comparing keys is expensive.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This avoids unnecessary allocation of Option and Function objects,
mostly helping performance of small trees.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Performance of `to` and `until` is now the same.
|