| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Interpolating typevars that appear co- or contra-variantly in a type
is a cleanup measure - it helps keep the constraint set small. However,
if there are uneported errors, some of these errors might report on
unsatisfiable constraints for these type variables. In that case, instantiating
the type variables risks being confusing.
|
|\
| |
| | |
Fix #1442: add new phase, SelectStatic
|
| |
| |
| |
| |
| |
| |
| | |
The new behaviour is more reasonable.
Now the module if forced consistently in both examples.
Note that this is deviation from behaviour of scalac.
|
| | |
|
|\ \
| | |
| | | |
Fix #1443: Replace toplevel TypeBounds with Any
|
| |/ |
|
|\ \
| | |
| | | |
Add arrays to collection strawman
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Followinf @szeiger's suggestion, equip IndexView with
optimized operations for map/drop/take.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Avoids missing member in tangledCompanion.scala, which is a minimization
of intermittent failures in CollectionStrawMan6. Intermittent, because it
depended on order of compilation. CollectionTests have to be compiled together with
but before CollectionStrawMan6 (this was _sometimes_ the case because partest did not
honor indicated compilation order so far). I.e.
dotc CollectionTests_2.scala CollectionStrawMan6_1.scala
would trigger the error. tangledCompanion.scala captures the dependencies
in a single file.
|
| | |
| | |
| | |
| | | |
This is achieved by putting it into a new trait, LinearSeqLike.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Add proper :: to lists
- Move some methods to IterableOps in order to keep Iterable clean
- Rename knownLength to knownSize
- Add some implentations for performance and completeness
|
| | |
| | |
| | |
| | | |
Following the other colltests, put each in a separate package.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test generated code before but fails with verify error at runtime.
Here's the message:
Exception in thread "main" java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
D$.<init>()V @2: invokedynamic
Reason:
Type uninitializedThis (current frame, stack[1]) is not assignable to 'D$'
Current Frame:
bci: @2
flags: { flagThisUninit }
locals: { uninitializedThis }
stack: { uninitializedThis, uninitializedThis }
Bytecode:
0x0000000: 2a2a ba00 1f00 00b7 0022 2ab3 0024 b1
at Test$.main(t3048.scala:13)
at Test.main(t3048.scala)
With the fix in last commit, test causes backend to crash with
java.lang.AssertionError: assertion failed: val <none>
at scala.Predef$.assert(Predef.scala:165)
at scala.tools.nsc.backend.jvm.BCodeHelpers$BCInnerClassGen$class.assertClassNotArray(BCodeHelpers.scala:214)
at scala.tools.nsc.backend.jvm.BCodeHelpers$BCInnerClassGen$class.assertClassNotArrayNotPrimitive(BCodeHelpers.scala:219)
at scala.tools.nsc.backend.jvm.BCodeHelpers$BCInnerClassGen$class.getClassBTypeAndRegisterInnerClass(BCodeHelpers.scala:238)
at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.getClassBTypeAndRegisterInnerClass(BCodeSkelBuilder.scala:51)
at scala.tools.nsc.backend.jvm.BCodeHelpers$BCInnerClassGen$class.internalName(BCodeHelpers.scala:210)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The closures generated by elimByName did not get the InSuperCall
flag set. This caused problems in lambda lift which led to a
verify error for the new version CollectionStrawMan6. That version
replaces explicit function parameters in class LazyList by
by-name parameters.
Also: Clarify logic for liftLocals in LambdaLift (liftLocals caused the immediate
problem but was in the end not to blame).
|
| | |
| | |
| | |
| | | |
Makes it clearer what it is. Also, fixed check file.
|
| | |
| | |
| | |
| | |
| | |
| | | |
substDealias did not follow aliases when the prefix of a typeref changed
under substitution. This was exhibited by a bug in extensionMethods which was
first discovered in CollectionStrawMan6 and was minimized in extmethods.
|
| | |
| | |
| | |
| | |
| | | |
By making LinearSeq an IterableLike, we can use tail-recursion
on drop.
|
| | |
| | |
| | |
| | |
| | | |
Demonstrates how to integrate lazy non-view collections
in the framework.
|
| | |
| | |
| | |
| | |
| | | |
This PR investigates what it takes to extend CollectionStrawMan5 to
arrays.
|
| |/
|/|
| |
| | |
This allows objects to be easily aliased
|
|\ \
| | |
| | | |
Fix #1372: Add handler for `PatDef`s to REPL
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fix #1396, #1403: Properly handle unbound wildcard types
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Fix #1426: Fix varable printing in REPL
|
| | |
| | |
| | |
| | |
| | |
| | | |
We accidentally used `toString` instead of `show`.
Fixes #1426.
|
|\ \ \
| |/ /
|/| | |
Fix #1269: Typing and pattern matching of nested subclasses
|
| | |
| | |
| | |
| | |
| | | |
Previous test did not reflect deeper paths for outer references. This caused
a -Ycheck:patMat failure for i1269.scala.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Ensure that partest runs bootstrapped Dotty.
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
Fix #1263: Suppress super initializer call for val parameters of traits.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Val-parameters of traits don't have an initializer, as other vals do. So
we cannot call the initializer in an initialization sequence of a subclass.
Fixes #1263.
|
|\ \ \ \
| | | | |
| | | | | |
partest: Enable separate compilation
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently, the classfiles emitted by dotty do not contain the type
parameters information that javac relies on.
Fixing this is tracked by #1303.
|
| | | | |
| | | | |
| | | | |
| | | | | |
javac wants the public class name to match the filename.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This lead to inference failures when separately compiling t1751 and
t294, this did not happen under joint compilation because JavaParser
does not create the overloaded constructor
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This test failed before because strawman.collections.CollectionStrawMan5
is defined in two places:
- src/strawman/collections/CollectionStrawMan5.scala
- tests/run/colltest5/CollectionStrawMan5_1.scala
The first will be compiled by scalac (unless the tests are run through a
bootstrapped dotty) and the second will be compiled by dotty, the value
class encoding of scalac and dotty are not binary compatible.
This would not be a problem if we always used the `CollectionStrawMan5`
coming from the partest output directory and ignored the one in the
dotty sources, but which one gets picked depends on the classpath and whether compilation
is joined or separate, see #1301.
For now, it's safer and simpler to just avoid having tests which define
a class that is also defined in the sources of dotty.
Also, fix a bug in colltest4 where it was importing CollectionStrawMan5
instead of CollectionStrawMan4
|
|\ \ \ \
| | | | |
| | | | | |
fix #1354: improve type test of union types
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1284: Make classTag depend directly on erasure
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In the end, a classTag reflects the erased version of a type. The only
condition for its generation should be that the erasure is stable under
possible instantiations.
|