| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix t6114 - ++ on JList wrapper modifies underlying collection.
|
| |
| |
| |
| |
| |
| | |
We solve this by overriding clone for JListWrapper to actually do a full clone.
Note: This fix may need to be included other places, *but* we're not sure we've cloned the collection sensibly. I.e. is ArrayList a good default?
|
| |
| |
| |
| |
| | |
- also use type FiniteDuration due to a previous change to
Deadline’s type signature
|
|\ \ |
|
| |\ \
| | | |
| | | | |
fix usage of Duration in Promise impl
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- scaladoc the exceptions thrown by Await.* and Awaitable.*
- move intercept[Exception] into partest’s TestUtil object
- improve Promise.tryAwait implementation following Viktor’s comments
and make use of Deadline to avoid calling System.nanoTime too often
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- correctly treat MinusInf and Undefined
- don't toMillis in the timeout message (could be MinusInf)
- also notice that Inf did not actually wait unbounded
- and further notice that tryAwait swallows InterruptedException instead
of bailing out early => changed to do so and added throws annotation
- also removed some unused imports of Duration
|
| |\ \ \
| | | | |
| | | | | |
Fixes SI-6271 - Missing isEmpty override for views.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
GenIterableView didn't override isEmpty for views to look at *filtered* iterator, but was instead pulling
unfiltered iterator and causing issues. Chalk up another bizzare bug to lack of insight/visibility into
linearization and what havoc overriding new methods can spew on our library.
|
| |\ \ \ \
| | |_|_|/
| |/| | | |
SI-6162 Adds private[scala] @deprecatedInheritance/@deprecatedOverriding
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
While they ought to be generalized to aribirary modifier
changes before being offered in the standard library, the
opportunity to use them in 2.10 is too important to pass up.
So for now, they're private[scala].
En route:
- made the error messages more concise
- fix positioning of inheritance error
- improve test coverage
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These annotations are meant to warn from inheriting a class or
from overriding a member, due to the reasons given in `msg`.
The naming and placement of the methods is in line with
@deprecated and @deprecatedName.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Wip/si 6333
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Specifically, avoid reinstantiating an immutable object to alter the type parameter *IF*
that type parameter has nothing to do with the contents of the object.
|
| | | |_|/
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
* Added more comprehensive tests to Try.
* Delineated what methods do and don't catch exceptions in docs.
* Fixed combinator methods that should catch exceptions.
|
| |/ / / |
|
| |\ \ \
| | | | |
| | | | | |
SI-6318 fixes ClassTag.unapply for primitives
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ClassTag.unapply now has overloads for primitive value classes
so that it can preserve boxiness when performing subtyping tests.
First I wanted to annotate ClassTag.unapply with a ClassTag itself,
i.e. to transform its signature from "def unapply(x: Any): Option[T]"
to "def unapply[U: ClassTag](x: U): Option[T]".
But then virtpatmat_typetag.scala exhibited a nasty problem.
When pattern matching with this unapply, patmat first infers U as something
and then tries to pattern match against this inferred type. And if U gets
inferred as an abstract type itself, bad things happen:
warning: The outer reference in this type test cannot be checked at run time.
That's why I decided to drop the ClassTag idea and go with 9 extra overloads.
Not very beautiful, but definitely robust.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also introduces an important change to Manifest.Nothing and Manifest.Null.
Previously their `erasure` was equal to classOf[Object]. Now it's correctly
set to classOf[scala.runtime.Nothing$] and classOf[scala.runtime.Null$]
correspondingly.
See a discussion here:
https://groups.google.com/forum/#!topic/scala-internals/Y0ALGo7QPqE
|
| |/ /
| | |
| | |
| | |
| | | |
Aliases ClassTag.XXX to Manifest.XXX to reuse already existing
implementations of deprecated APIs.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
- copy partest TestUtil.intercept change from PR 1279 branch
- add comment on non-obvious match cases
|
| | |
| | |
| | |
| | |
| | | |
- make constants for fromNanos(Long) actually inlined constants
- clarify origin of require() check constants in FiniteDuration
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Inf / Zero == Inf
- add some more missing test cases
- clarify magic constant
- move exception descriptions into proper @throws docs
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- make Duration behave consistent with Double's non-finite semantics
- add ScalaDoc
- add complete test suite
- change overflow protection impl after review comments
- clean up code
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- add test cases (migrated from Akka sources)
- add overflow checking (will throw IllegalArgumentException instead of
giving wrong results)
- make string parsing more precise when giving >100days in nanoseconds
- make method signatures more precise in retaining FiniteDuration
throughout calculations
- fix mul/div of infinities by negative number
- add Ordering for Deadline (was accidentally left out earlier)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I don't know what good it is to have code review if we are checking
in code like this. We must raise the bar, people. When the
justification for code being in the standard library is borderline
at best - as it is here - then the code must be of exceptional
quality. This code is not of exceptional quality.
Mostly these are not behavioral changes, but:
- I removed finite_? as it is a gratuitous deviation from
every isXXX method in the world. This isn't ruby.
- I removed all the regexps, which only made things complicated
- I removed all the unnecessary casts, which is to say, all of them
- I made more things final, sealed, and private
- The unapply structure was all wrong; returning Option[Duration]
on the string unapply meant you'd have to say
case Duration(Duration(x, y)) => ...
So I fixed apply and unapply to be symmetric.
- And I removed the "parse" method, since it was doing what
apply is supposed to do.
There's a test case to exercise accessing it from java,
which also reveals what I hope are bugs.
Thanks to viktor klang for DurationConversions.
|
|\ \
| | |
| | | |
More worksheet nstrumentation changes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Made instrumenter more robust by taking into account the positions of the tokens in the source. This allows us to reliably put instrumentation code at the end of the previous token, which tends to put it at end of lines. Furthermore, we now skip left parents. Previously, the instrumenter got confused for a statement like
( x + 1 )
because it thought that the statement started at the `x` and not at the `(`.
Another small change is that we now use decoded names in the worksheet. So ??? will show as ??? not $qmark$qmark$qmark.
|
|\ \ \
| | | |
| | | | |
Fixes typos in the ScalaDoc of StringContext
|
| | | | |
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | | |
Deprecate unmaintained/old classes for removal in 2.11
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
So it can be used in value classes.
|
|\ \ \ \
| | | | |
| | | | | |
Fixes SI-6290 by creating real instnaces of language features.
|
| | | | | |
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
Expanded the reach of value classes.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Tuple2Zipped and Tuple3Zipped.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Now extending AnyVal:
- RichInt, RichDouble, etc.
- ArrayOps.ofRef, ofBoolean, etc
- StringAdd
- StringFormat
The rest of it is the changes necessary to enable those.
|
|\ \ \ \
| | | | |
| | | | | |
Si 6220
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Added utility method to create a HashTrieSet with two leaf HashSets with different hash
Used said utility method instead of creating a temorary HashTrieSet with an empty elems array
Added assertions to HashTrieSet to validate tree
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
Si 6261
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
That way it is possible to check if a ListMap has one element by checking x.tail.isEmpty. Size is O(1), so size==1 won't do!
|