| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
allows printing .icode files after any optimiz phase
|
| | |
|
|\ \
| |/
|/| |
skipping unnecessary work in GenASM when emitting 1.5 classfiles
|
|/ |
|
|\
| |
| | |
Partial redesign of incremental compiler invalidation.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now do the right thing when packages are either newly created or deleted. Previously there was a problem when a new package was created inside a system package (and, unofrtunately, root is a system package). That's fixed now. We also approximate more tightly now when packages are newly created (iei the newly created symbol gets rescanned, instead of its owner).
Incremental class invalidation: dealing with empty package.
The compiler can now also invalidate the empty package. Previously, no invalidation was done because empty was identified with root, which is considered a system package.
(1) Fixed NPE when creating a new toplevel package in invalidation. (2) generalized interface to deal with multiple entries at a time.
|
|\ \
| | |
| | | |
fix t5843
|
| | | |
|
|\ \ \
| |_|/
|/| | |
SI-4579 Yoke the power of lisp.scala as a stress for the optimizer.
|
| | |
| | |
| | |
| | | |
The reported bug was fixed between 2.10.0-M1 and 2.10.0-M2.
|
|\ \ \
| | | |
| | | | |
Implemented functionality to invalidate classpath entries
|
| | | |
| | | |
| | | |
| | | | |
incremental compiles.
|
|\ \ \ \
| | | | |
| | | | | |
SI-5845 Advances the example from a crasher to an inference failure.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The inference failure itself seems like an instance of of SI-3346.
But dependent method types (which triggered the crash), can be employed
to avoid inferring the type constructor CC.
class Num[T] {
def mkOps = new Ops
class Ops { def +++(rhs: T) = () }
}
class A {
implicit def infixOps[T](lhs: T)(implicit num: Num[T]): num.Ops = num.mkOps
implicit val n1: Num[Int] = new Num[Int] { }
5 +++ 5
}
|
|\ \ \ \
| |_|_|/
|/| | | |
fixes for exhaustivity
|
| | | | |
|
| |/ / |
|
|\ \ \
| |/ /
|/| | |
Fix a NSDNHAO in extension methods.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A bridge method, created when we override a method from
a superclass and refine the return type, was appearing
as an overloaded alternative. (`erasure` doesn't create
new scopes, so the bridges it builds are visible at
earlier phases.)
The problem was masked when compiling with specialization,
which *does* create a new scope, shielding the code in
question from the artefacts of erasure.
To fix the problem, we filter out bridge methods from
the overloaded alternatives returned by `.decl`, as would
happen internally in `.member`.
|
| | |
| | |
| | |
| | | |
Who could have suspected it would actually be right most of the time?
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Are these -msil checkfiles used in some secret fashion? The level of
activity suggest otherwise. Since scala-nightly-msil has been disabled
for over a year, it's an easy rm unless someone speaks up.
% tools/rm-orphan-checkfiles
Scanning for orphan check files...
rm 'test/disabled/run/code.check'
rm 'test/files/jvm/t1652.check'
rm 'test/files/neg/macro-argtype-mismatch.check'
rm 'test/files/neg/macro-noncompilertree.check'
rm 'test/files/neg/macro-nontree.check'
rm 'test/files/run/Course-2002-01-msil.check'
rm 'test/files/run/Course-2002-02-msil.check'
rm 'test/files/run/Course-2002-03-msil.check'
rm 'test/files/run/Course-2002-04-msil.check'
rm 'test/files/run/Course-2002-08-msil.check'
rm 'test/files/run/Course-2002-09-msil.check'
rm 'test/files/run/Course-2002-10-msil.check'
rm 'test/files/run/absoverride-msil.check'
rm 'test/files/run/bitsets-msil.check'
rm 'test/files/run/boolord-msil.check'
rm 'test/files/run/bugs-msil.check'
rm 'test/files/run/impconvtimes-msil.check'
rm 'test/files/run/infix-msil.check'
rm 'test/files/run/iq-msil.check'
rm 'test/files/run/macro-invalidret-doesnt-conform-to-impl-rettype.check'
rm 'test/files/run/macro-rettype-mismatch.check'
rm 'test/files/run/misc-msil.check'
rm 'test/files/run/promotion-msil.check'
rm 'test/files/run/richs-msil.check'
rm 'test/files/run/runtime-msil.check'
rm 'test/files/run/tuples-msil.check'
rm 'test/pending/jvm/t1464.check'
rm 'test/pending/run/subarray.check'
rm 'test/pending/run/t0446.check'
rm 'test/pending/run/t5629.check'
Scanning for orphan flags files...
rm 'test/files/neg/macro-argtype-mismatch.flags'
rm 'test/files/neg/macro-noncompilertree.flags'
rm 'test/files/neg/macro-nontree.flags'
rm 'test/files/pos/anyval-children.flags'
rm 'test/files/pos/t3097.flags'
rm 'test/files/run/macro-invalidret-doesnt-conform-to-impl-rettype.flags'
rm 'test/files/run/macro-rettype-mismatch.flags'
|
|/ /
| |
| |
| | |
...be a little less chatty.
|
|\ \
| | |
| | | |
fix SI-5829: refinement typeref has a prefix
|
| |/ |
|
|\ \
| | |
| | | |
Test case closes SI-4818
|
| | |
| | |
| | |
| | | |
Fixed between 2.10.0 M2 and M3, with both the old and new pattern matcher.
|
|\ \ \
| | | |
| | | | |
Test case closes SI-5041.
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Test case closes SI-4911.
|
|/ / /
| | |
| | |
| | | |
The unchecked warning departed sometime between 4afae5be...278a225.
|
|\ \ \
| | | |
| | | | |
SI-5318 Make implicit divergence checking PolyType aware.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replaces the two active subclasses of `SymCollector` with
direct use of traversal methods of `Type`.
Wildcard free class type parameters, not just method type parameters,
when stripping the core type of candidate implicits. The spec doesn't
make any such distinction, and the enclosed test, t5318c, crashes
without this change.
|
|\ \ \ \
| | | | |
| | | | | |
Cleaning up some code introduced for the old presentation compiler long ...
|
| | | | |
| | | | |
| | | | |
| | | | | |
ago. Review by @dragos
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Closes SI-5821.
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was an interesting one. Basically an erroneous
import was creating an erroneous symbol for Array (similary
for other symbols that were 'found' in this import) which was
leading to all sorts of inconsistencies and spurious errors.
This wasn't a bug in ContextErrors but rather something that
existed for ages and was hidden from the general audience.
Review by @paulp.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fixes SI-5085 and SI-4833.
|
| | |_|_|/
| |/| | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
don't error when not emitting required switch
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
we don't handle switches with guards, whereas the old patmat did
to ease the transition, let's not error out and see how we can resolve this
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Removing non-deterministic actor migration tests.
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
Testing these issues takes significant amounts of time so I am temporarely removing them from the master. The issue is not in the code but in the tests output order.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fixes SI-5805
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fixes SI-5428.
|
| |/ / / / |
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
Move implicit ExecutionContext to be determined by lexical scope
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Port of a pull request originally submitted by @havocp.
- declare the invariant that all app callbacks have an
associated ExecutionContext provided at the place
the callback is passed to a method on Future
- always run callbacks in their associated EC
- since all callbacks have their own EC, Promise
does not need one
- "internal" callbacks don't need to defer execution either
since we know the ultimate app callback will do so,
therefore we can use an immediate executor for these
|
|\ \ \ \
| |/ / /
|/| | | |
Clarify docs, see SI-5441
|
|/ / / |
|