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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25110 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25089 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
must really live on the edge given the multiple ways we've busted
it lately. Also some Array/signature and repl tests. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25084 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25083 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25065 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25061 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25059 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25051 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25050 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25048 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25039 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25038 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
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.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@25032 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
the relatively small number of partest tests in Scala's suite that were still
using SUnit now either just use regular asserts, or they print stuff that
partest checks with a .check file. Also fixed some bad indentation, removed
ancient useless-looking commented-out code, etc.
Contributed by Seth Tisue (way to go seth) no review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24995 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
formerly the test case caused this to be printed:
Note: test/files/pos/t1263/Test.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
we suppress this using @SuppressWarnings.
Contributed by Seth Tisue, no review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24994 5e8d7ff9-d8ef-0310-90f0-a4852d11357a
memory hungry buddy in pending. References #4512. This should be
straightened out imminently, but I will solve this more easily by
looking forward, not backward. No review.
git-svn-id: http://lampsvn.epfl.ch/svn-repos/scala/scala/trunk@24964 5e8d7ff9-d8ef-0310-90f0-a4852d11357a