| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes a bunch of private functions which are never called. While based
on the nature of "private" one can generally feel pretty good that such
a thing is safe, there is always a chance the author had some future use
in mind. On that note I draw your attention in particular to:
(martin) Typers#stabilizedType: it "sounds" important, but most of it
has been commented out since 2007 and the little stub part is a never
called private.
(iulian) SpecializeTypes#makeTypeArguments: similarly sounds like a
cornerstone of a transformation until one notices it isn't used.
Unused methods are "attractive nuisances" for anyone (like myself) who
has to figure out how the compiler works by studying the compiler, for
reasons which are no doubt obvious. No review except as noted.
|
|
|
|
|
|
|
| |
One last batch of test cleanups and I think I'll call it a day. If
you're worried I didn't leave any for anyone else, let me put your fears
to rest. PLENTY left to sift through. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next batch of tests put up a little more struggle, but only a
little. See test/pending/pos/unappgadteval.scala (the changes for which
were in the previous commit) for an example of a test which might be on
to something. Any idea what it would take to get it working?
// the key lines
case i @ Suc() => { (y: Int) => y + 1 } // a = Int => Int
case f @ Lam[b,c](x, e) => { (y: b) => eval(e, env.extend(x, y)) } // a = b=>c
No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sorting through the tests in pending from oldest to newest because I
don't believe in having useless appendages. The verdict on the oldest
fifteen tests is: 15/15 are fixed. Many were already in files under a
different name. I moved a few and deleted the rest. Fun fact of the
day: apparently there was a time when to call into java varargs with no
arguments you might have to write something like:
getClass().getMethod("getCount", Array[java.lang.Class[T] forSome { type T }]())
On this basis I retract any complaints I've ever had about anything.
There is one question mark outlined in pos/testCoercionThis.scala, a
file formerly called pos/moors.scala and therefore... review by moors.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still giddy with the thrill of fixing #266, I vanquish another pattern
matcher bug from the dawn of time. If you've always wanted to write code
like this:
class Bob[K[_]] {
def foo(other: Any) = other match {
case x: (Bob[X] forSome { type X[_] }) =>
}
}
Now is your chance. Closes #1427, review by moors. (Is there a better
way to "shake off" the pattern existential?)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While trying to come to an understanding with #3869 I had one of those
"what are we doing" moments regarding the reams of output generated
under -Ydebug. We have all these places where extra
info is logged under -Ydebug -- like "if (debug) log(...)" -- and if
you try for those you are also saddled with all these irrelevant places
which instead say if (debug) Console.println(...).
I changed about every one of them to send it to log() instead. So if you
were enjoying that 600 MB of debugging output when you compile "goodbye
world", you can have it back and then some with -Ylog:all. Until then,
enjoy the calm, quiet competence of the new -Ydebug.
Also herein: raised default ANT_OPTS permgen because I can no longer
build a dist with the former defaults, and gave some synthetics a better
home in StdNames.
No review (but if anyone just can't live without some particular piece
of output every single time -Ydebug is given, I can put it back.)
|
|
|
|
|
|
|
| |
[scaladoc] JavaScript template search uses a statically built index to
considerably increase performance. Contributed by Kato Kazuyoshi. Review
by dubochet.
|
|
|
|
|
|
|
| |
Reverted an earlier binary incompatible change rolled into r23139. Now,
the presentation compiler should have no binary incompatibilties with
2.8.0
|
|
|
|
|
|
| |
Changed Response so that get does what it did before, and get(TIMEOUT)
returns provisional results if it can. Review by vigdorchick.
|
|
|
|
|
|
|
| |
need an access to compileRunner from Eclipse to check the thread I'm
called and not post a work request if I'm already in compiler thread.
Review by odersky
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Modified typekinds to offer a more general lub when it encounters
interfaces so it does not end up in a disagreement with the jvm.
References #3872, but modifying the compiler lubs is not yet done.
Review by dragos.
|
|
|
|
|
|
| |
Integrating feedback from martin and iulian into recent patches and
prettifying checker output. No review.
|
|
|
|
|
| |
no review
|
|
|
|
|
| |
review by odersky
|
|
|
|
|
|
|
|
|
| |
closes #3865: scaladoc now prints anonymous type functions since they
may occur due to normalization of type constructor arguments of inferred
types
review by dubochet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
situations where a mutable var will later be lifted. As a point of
interest, this bug reveals itself fairly clearly if you use a build
since r23112 and run the checker thusly:
scalac -d /tmp -Ycheck-debug -Ycheck:icode -Xprint:icode
test/files/run/bug3855.scala
It dies with the following explanation:
Output changed for Block 3 [S: 2] [P: 1, 4]
Exception in thread "main" scala.tools.nsc.backend.icode.CheckerException:
Incompatible stacks: TypeStack() and TypeStack(2 elems) {
REFERENCE(class IntRef)
REFERENCE(class IntRef)
} in Test.main at entry to block: 2
And indeed that was the source of the reported verifyerror.
Review by i. dragos.
|
|
|
|
|
|
|
|
| |
A little reorganization of some pattern matcher logic. I must have a
short memory to even consider touching it, but maybe I'm still infused
with the mario invulnerability star one receives after some time spent
consulting with martin. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refined crash avoidance related to self type tests in anonymous classes
as introduced for #576. Now it really only excludes anonymous classes.
Suddenly, this works:
override def equals(other: Any) = other match {
case _: this.type => true
case _ => false
}
Who will be the first to roll out some reference equality in the
this.type style? No review.
|
|
|
|
|
|
| |
Fixed an ancient crasher in explicitouter involving singleton
self-types. Closes #266, review by odersky.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
including "CheckEither", written against scalacheck 1.2 in the year 471
AD. Removed all the duplicates I could find, mostly between pending
and files. Renamed a bunch of tests so they wouldn't look like likely
duplicates next time around. Nominated somebody else to do this once in
a while.
No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
build/pack/bin/scalac -d /tmp -Ycheck-debug -Ycheck:all \
src/compiler/scala/tools/nsc/Global.scala
That blows up in constructors as most files do, so also try it with
-Ycheck:icode to see the pretty icode output (for a little while anyway,
after which it will again blow up.)
Our work has only just begun! See test/checker-tests/fail*.scala for
11 examples of places where the checker cries foul. Many of them are
telling us about real issues and we should listen, but I will need help
to figure out which are legitimate and which should be eliminated by
altering the checkers.
This patch also hacks on some territory the checkers drew me into,
especially TypeKinds, where I figured anything which had been commented
out since 2005 was fair game.
(Optional) review by dragos. (The one place I know I could use a look is
in Checkers.scala, because I had to relax some checks and add at least
one newer opcode.)
|
|
|
|
|
| |
review by maier as no good deed goes unpunished
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Some progress on reviving TreeCheckers, plus a couple bugfixes and
better error messages revealed by that progress. Also applied tiny
increment in understanding to fixing up TreeDSL some more. The hand of
martin guides from above, so no review.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
moved typing indentation to where it belongs, now inliner shuold be able
to do its job in implicits as well
no review
|
| |
|
|
|
|
|
|
| |
zippedWithIndex and zippedAll added to ParIterable. ZippedAll view
reimplemented. No review
|
|
|
|
|
|
|
|
|
| |
closes #3857: retain pre-erasure info in type history after cloning of
mixed in members and, specifically for this bug, fields, so that java
generic type sigs are more precise.
review by DRagos
|
|
|
|
|
|
|
|
| |
appliedType goes under annotations.
removed some dead code in isSubtypeHK0.
review by rytz
|
|
|
|
|
|
| |
Adds a zip for ParIterables + a new Zipped view for ParSeqView and
ParIterableView + a bench test. No review
|
| |
|
|
|
|
|
|
| |
InterruptedException while waiting for result should be ignored. review
by odersky
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert "CPI -> SCPI to (hopefully) fix scaladoc failure in nightly.
probably indicates a bug in scaladoc or the type checker or the spec,
since abstract type members seem to be allowed in objects inconsistently
across these three. no review."
that was a little too hasty.. SCPI was already defined somewhere
This reverts commit 165424cd9175d7e6d33bc541f2aff2575ee31121.
|
|
|
|
|
|
|
|
| |
CPI -> SCPI to (hopefully) fix scaladoc failure in nightly. probably
indicates a bug in scaladoc or the type checker or the spec, since
abstract type members seem to be allowed in objects inconsistently
across these three. no review.
|