| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
truth of theory. No review.
|
|
|
|
|
| |
Moved test for #4727 to where it was supposed to go, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A total rewrite of "runtimeClass", discarding the user-space approach in
favor of simply fixing getClass.
def f1 = 5.getClass // Class[Int]
def f2 = (5: AnyVal).getClass // Class[_ <: AnyVal]
def f3 = (5: java.lang.Integer).getClass // Class[_ <: java.lang.Integer]
class A
class B extends A
def f1 = (new B: Any).getClass().newInstance() // Any
def f2 = (new B: AnyRef).getClass().newInstance() // AnyRef
def f3 = (new B: A).getClass().newInstance() // A
def f4 = (new B: B).getClass().newInstance() // B
But that's not all!
def f0[T >: B] = (new B: T).getClass().newInstance()
def f5 = f0[Any] // Any
def f6 = f0[AnyRef] // AnyRef
def f7 = f0[A] // A
def f8 = f0[B] // B
Closes #490, #896, #4696. Review by moors. (Note: I think this is pretty
good, but picky review requested.)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Removed "isInterpreterWrapper" from the conditions which imply an
effective root. This was an old hack from before my time which is no
longer necessary and then recently became actively hostile. Closes
#4710, no review.
|
|
|
|
|
|
|
|
| |
Relaxes a typer check which fails valid code with NoCommonType. If the
instantiated types or type bounds do not conform, it tries normalizing
the type before throwing the exception. Closes #4553. I wrote this patch
with adriaan already, but bonus review by moors.
|
|
|
|
|
|
| |
Routed Stream.+: through cons to avoid some truly pathological
performance. Closes #4697, no review.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
|
| |
When TypeVars were given higher-order abilities, so too should have been
WildcardType, which acts as a plceholder for typevars. Always inflicting
arguments upon it was the cause of #2308. Closes #2308, review by moors.
|
| |
|
|
|
|
|
|
|
|
| |
Fixed an overflow which occurs in hashtable size computations. Fixes
#4678.
No review.
|
|
|
|
|
|
|
|
| |
Fixed an issue with higher kinded type inference on constructors without
any help from adriaan. Provisionally notched belt. Wrapped up as many
tickets as I added characters of code. Closes SI-3343, SI-4018. Review
by moors.
|
| |
|
|
|
|
|
|
| |
Go back to printing the message that transcript pastes can be finished
with ctrl-D. No review.
|
|
|
|
|
|
|
|
|
|
|
| |
closes #4692: unification in type constructor inference now widens *and*
dealiases when necessary
in 2.8.1 implicit conversion search started with a widened type, so that
combo never came up
no review
|
|
|
|
|
|
|
|
| |
Update manually created tree which was calling Predef.error to call
scala.sys.error instead. Created convenience functions in Definitions
for getting package objects akin to those for getting classes and
objects. No review.
|
|
|
|
|
| |
review by rompf -- odersky may want to take a quick look and update the spec
|
|
|
|
|
|
|
| |
Test case for implicits which unwrap typeclasses, something which must
really live on the edge given the multiple ways we've busted it lately.
Also some Array/signature and repl tests. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Views using methods implemented in terms of isEmpty (in particular,
headOption and lastOption) were traversing the collection twice up
to the nonEmpty element, because "if (isEmpty) None else Some(head)"
means calling isEmpty separately from head. I overrode those methods in
TraversableViewLike to avoid the second traversal.
This leaves at least init and tail still in that boat, but they were
getting too involved.
How do I say "review by pool of reviewers", who can help set that up? In
the meantime no review.
|
|
|
|
|
|
| |
The '#' sign may easily to lead to problems, So we use '_' instead of
'#'. Closes #4641.
|
|
|
|
|
|
| |
Don't issue unchecked warnings on higher-kinded types. Closes #1439,
review by moors.
|
| |
|
|
|
|
|
|
| |
Reverts r25051 due to witnessed movement of scalaz in the noncompiling
direction. Postmortem help I hope in the review by moors.
|
|
|
|
|
|
| |
A test case demonstrating some of the issues with DelayedInit.
References #4680. Review by odersky.
|
|
|
|
|
|
|
| |
Compilation of spec-List enters an infinite loop under -optimise,
disabling in the hopes of seeing a new build before I die. I'll put it
back. No review.
|
|
|
|
|
|
|
|
|
| |
Tweaks repl tests to enforce -Yrepl-sync and other setup on all clients.
Also includes some more why-do-tests-hang bosons for the particle
accelerator in case that doesn't wrap it up. I think it will though,
because now constrained-types is the only one which failed and it's also
the only one which overrides Settings. No review.
|
|
|
|
|
|
|
|
|
|
|
| |
Modified erasure not to generate instance tests for statically known
types. It appears the production of types like "Foo with Bar" in the
pattern matcher (where the scrutinee is known to be Foo) has been a
major contributor of suboptimal pattern matches. I will also fix it in
the matcher, but it makes sense to catch it in erasure as both a check
on the matcher and because they may come from elsewhere too. Review by
odersky.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Proliferating the number of debugging modes because it's still way
too hard to see what's going on in there. Until we get hubert's type
debugger with its whiz-bang whizbanginess, we'll have to struggle along
with somewhat prettier ascii. This introduces:
-Yinfer-debug
which tries to print in readable fashion what is happening in the
worlds of inference and implicit search. It should be made a bit more
complementary and less overlappy with -Ytyper-debug. No review.
|
|
|
|
|
|
| |
Carved out access exception for java protected statics, which otherwise
cannot be accessed from scala. Changes close status of #1806, no review.
|
| |
|
|
|
|
|
|
| |
More adjustments to repl parsing to accomodate inaccurately positioned
parse trees. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The eagerly awaited companion commit to r23622, the surprise hit of last
winter. Singletons now have the singleton type inferred in monomorphic
contexts as well. In english:
scala> object X
defined module X
scala> def f = X
f: X.type
Wait, that's not english. English review by moors.
|
|
|
|
|
|
|
|
| |
Fixed a repl regression with parentheses handling, reminding me we
really need that honest parser phase which doesn't betray us with
parentheses abandonment and dramatic desugarings. I'll promote it from
page 14 to page 11. Closes #4661, no review.
|
|
|
|
|
|
|
|
| |
There were two distinct bugs in here, which if I ran the world would be
a wakeup call that robust software cannot emerge from thousands of lines
of low-level AST matching. In case you are frozen in suspense: I do not
run the world. Review by moors.
|
|
|
|
|
| |
test in r25038, so closes #4512, no review.
|
|
|
|
|
|
| |
Cleaning up power mode import issues (and the amazing first power mode
test) no review.
|
|
|
|
|
|
|
| |
Now :t types declarations as well as expressions, and cleans up the
output the same way the repl does so stray unsolved type constraints
don't befuddle anyone. Closes #4391, no review.
|
| |
|
|
|
|
|
|
|
|
| |
Fixed a crasher in the scanner when unicode escape sequences offered up
EOF before completion. Also made the repl a little more robust against
crashers in scalac. Treat it like a hostile witness! Closes #4584, no
review.
|
|
|
|
|
|
|
|
|
|
|
| |
Each of the three commits preceding this are to correct regressions
which would have been caught by the interpreter test and never checked
in in the first place, were it not disabled. The windows tax claims
another victim. Or three victims.
Re-enabled the interpreter test. No way for me to know if it will pass
everywhere without trying it. No review.
|
|
|
|
|
|
| |
Fixing an interpreter output regression and updated repl debugging and
tracing code. No review.
|
|
|
|
|
|
| |
Yikes, prependToList was violating List immutability. Closes #4656, no
review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Overcoming limitations of the repl, multiple-tree lines and assignments.
The best part of nicely documented limitations is that you can stare at
the same comment for years and then the day comes when you give it the
heave-ho.
Exhibit A (regarding a single bare expression): "This is necessary due
to it being hard to modify code at a textual level, and it being hard
to submit an AST to the compiler." Yes, it IS hard to modify code at
a textual level (see enclosed patch) but we won't let that stop us
anymore. Closes #4578.
Exhibit B (regarding the left hand side of assignments having to be
Ident): "An unfortunate limitation." Unfortunate no longer! No review.
|
|
|
|
|
| |
Finished reverting the misbegotten r23262, no review.
|