| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The issue fixed here was introduced by 71027f15. The added `csyms.isEmpty` condition on `case nil =>` is always true, which is clearely a bug.
t1500c still fails with covariant (or contravariant) type parameters on `::`, but this seams to be a more complicated issue involving the typer.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If a super trait is given as a type (i.e. no argument list), implicit args were
not passed. This is fixed now. Also, we now check for parameterized traits lacking
type arguments in Typer instead of in Mixin.
Fixes #1444.
|
|\
| |
| | |
Fix desugaring of Bind(WILDCARD, _).
|
| | |
|
| |
| |
| |
| |
| |
| | |
Eta expansion yielded incorrect result if the eta expanded method
has more than one parameter sections and the expected result type
is a unary function type. In that case a postfix `_' needs to be appended.
|
|\ \
| |/
|/| |
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.
|
|\ \
| |/
|/| |
Add arrays to collection strawman
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Followinf @szeiger's suggestion, equip IndexView with
optimized operations for map/drop/take.
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
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
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/ |
|
|/
|
|
|
|
| |
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.
|
|\
| |
| | |
Fix #1386: Reduce double def errors
|
| | |
|
|\ \
| | |
| | | |
Changes to overloading
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Add scala.Dynamic support.
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Skip redundant superclasses\supertraits.
|
| |/ |
|
|/
|
|
| |
Should be erased to Object[], not Object.
|
|\
| |
| | |
Fix #856: Handle try/catch cases as catch cases if possible.
|
| |
| |
| |
| |
| |
| |
| | |
Previously they were all lifted into a match with the came cases.
Now the first cases are handled directly by by the catch. If one
of the cases can not be handled the old scheme is applied to to it
and all subsequent cases.
|
|/
|
|
|
|
|
| |
partest adds a warning in a comment at the beginning of source files
that it copies, but this means that every line number displayed in a
stack trace is offset by 6. We can workaround this by making the warning
a single line with no newline at the end.
|