| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Some collections overrides for more efficient toSeq and toBuffer where
possible. Closes #2972, review by malayeri.
|
| |
|
|
|
|
|
|
|
| |
Parser relaxation so that one can name the type variables in a
constructor pattern match: this is a prerequisite to realizing the full
potential of gadts. (Nothing new works here however.) No review.
|
|
|
|
|
|
|
| |
Found several minor thigns wrong with checkSensible, which tries to
issue warnings for comparisons which will always be true or false. No
review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deprecated the @serializable annotation, introduce a new trait
"scala.Serializable" which has to be extended instead (cross-platform).
Known issues:
- Companion objects of serializable classes (including case classes) are automatically made serializable. However, they don't extend "Serializable" statically because of the known difficulty (should be done before typing, but hard).
- Writing "case class C() extends Serializable" gives "error: trait Serializable is inherited twice"
- Functions are serializable, but don't extend Serializable dynamically (could be fixed by making FunctionN Serializable - shouldn't we?)
Note that @SerialVersionUID continues to be an annotation; it generates
a static field, which is not possible otherwise in scala.
Review by dragos, extempore.
Question to dragos: in JavaPlatform.isMaybeBoxed, why is there a test
for "JavaSerializableClass"? Is that correct?
|
|
|
|
|
|
|
| |
It looks like the fix for #2318 was causing problems, so I gave it some
more graceful failure. Leaving #2318 open because the implementation
could still work harder to find the right method. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial implementation of TraversableOnce could not supply concrete
methods or even signatures for map and flatMap because they have
different signatures in Iterator and TraversableLike. But we can take
another approach which works out as nicely:
1) Create implicits which install those methods and flatten on
TraversableOnce instances. 2) Generalize the signatures of flatten
and flatMap to work with A => TraversableOnce[B] instead of A =>
Traversable[B].
And voila, you can mix and match Iterators and Traversables in a for
comprehension, map, flatMap, and flatten, without the tedious process
of sprinkling .iterator or .toList around to appease the compiler. No
review.
|
|
|
|
|
|
| |
Fleshed out Equiv[T] so that it can be used in a manner similar to
Ordering[T]. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"I invite everyone to change this rule, and observe what breaks!"
This much beloved comment from #1208 has been on my radar for two years.
The worm has turned. Closes #1208. The inferred type of an object is now
Foo.type instead of "object Foo". What once was this:
scala> val x: Map[Int, Singleton] = Map(1 -> None)
<console>:5: error: type mismatch;
found : (Int, object None)
required: (Int, Singleton)
Now exudes a pleasing aura of workingness:
scala> val x: Map[Int, Singleton] = Map(1 -> None)
x: Map[Int,Singleton] = Map(1 -> None)
No review.
|
| |
|
|
|
|
|
|
| |
Did some more polishing on the infamous partial function error message.
No review.
|
|
|
|
|
|
| |
Moved sigint handler to InterpreterLoop and made it discriminate based
on contents of current line. No review.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fleshed out the mock code a little further so it's easy for closures to
become SAMs.
// implicit not necessary, but improves fun factor
scala> implicit def mkUFn(x: AnyRef) = scala.tools.reflect.UniversalFn(x)
mkUFn: (x: AnyRef)scala.tools.reflect.UniversalFn
scala> (() => 5*5*5).as[java.util.concurrent.Callable[Int]]
res1: java.util.concurrent.Callable[Int] = <function1>
scala> res1.call
res2: Int = 125
No review.
|
|
|
|
|
|
| |
Some hardening of the repl's internals extracted from a more interesting
patch in progress. No review.
|
|
|
|
|
| |
Followed up on the claim that wrapArray can be removed. No review.
|
|
|
|
|
|
| |
Some cleanups in the *Runners and a few compiler I/O conveniences. No
review.
|
|
|
|
|
|
|
|
| |
Refactored parallel collections for pluggable task support
implementations.
No review.
|
|
|
|
|
|
|
| |
Temporarily disabled varargs annotation on constructors.
No review.
|
| |
|
|
|
|
|
|
| |
The usual flailing associated with changing a shell script and using too
recent a feature. Hopefully unbreaks build, no review.
|
|
|
|
|
|
|
|
|
| |
Moved the painful-in-ant git/svn revision getting logic into bash
where it's at least somewhat less painful. Made it more flexible for
easy use in more places since we presently have all kinds of revision
figuring logic variations in other build files (sbaz, installer,
scala-documentation, scala-tool-support, etc.) No review.
|
|
|
|
|
|
| |
Some work on error messages, somewhat based on ideas in #3092. No
review.
|
|
|
|
|
|
| |
Seeing if I can unbreak things without actually removing the visible
motivation for the whole exercise. No review.
|
|
|
|
|
|
|
| |
Making the installation of the repl sigint handler take place less
eagerly. And more relevantly to recent hangs, made the repl only create
daemon threads. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new totally safe signal manager, along with all the support code
needed for that. See the classes in scala.tools.reflect.* for
interesting new weapons. Also includes inaugural handy usage:
scala> val x = 10
x: Int = 10
scala> while (true) ()
[ctrl-C]
Execution interrupted by signal.
scala> x
res1: Int = 10
No review, but feedback welcome.
|
|
|
|
|
|
| |
A manifest init order issue motivates some shuffling around and making
confusing identifiers more explicit. No review.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
|
| |
Changes to the vector class that will be needed for ParVector.
Review by Rompf.
|
|
|
|
|
|
|
| |
You shall not pass the testing stage when abort crashes the resident
compiler. previously it succeeded even though the error message was
printed. Review by phaller
|
| |
|
|
|
|
|
|
| |
I keep forgeting which phase the browser is currently showing, so added
phase name. No review
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
|
|
| |
In the absence of known reasons why some exceptions are intercepted or
have their stack trace printed and others fly unchallenged, changed
script and object runners to handle everything consistently when an
exception is thrown. Closes #3978 again, no review.
|
|
|
|
|
|
|
| |
Added toParIterable, toParSeq, toParSet and toParMap conversions.
No review.
|
|
|
|
|
|
| |
Temporarily reverted sun.misc.* using code until reflective version is
complete. No review.
|
|
|
|
|
| |
Review by Rytz.
|
|
|
|
|
|
|
|
|
| |
Changing EnclosingMethod generation not to drop the trailing $ from the
name of the container class. I'm sure this was done for some reason but
proguard objects rather strenuously (and fails) because it can't find
the method, since it says it's in the class but is really in the object.
Review by dragos.
|
|
|
|
|
|
|
| |
Added varargs annotation.
Review by Rytz.
|
|
|
|
|
|
| |
Applied patch from davetron5000, improving documentation on ProductN and
FunctionN traits. Closes #4021.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Review by extempore.
|
|
|
|
|
|
| |
Make interrupts non-interruptible, otherwise the interrupt exception can
just go direct to the user (IDE). Review by odersky.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Fixes #3647, closes #3647, adds a test case for it, and a missing test
case for #3935.
No review.
|
| |
|