| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This implementation is based on AVL trees.
The current implementation is contributed by Lucien Pereira.
Fixes #4147.
|
|
|
|
| |
Let type parameter be inferred. Closes SI-4871.
|
| |
|
|\
| |
| |
| | |
'jsuereth/fix-5053-view-unzip' into develop
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Added unzip and unzip3 to TraversableViewLike
* Added partest tests for unzip on views returning specific collection types.
Closes SI-5053
Review by @paulp
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Remove some dead code, activate ByOne generator again, add generators
for inclusive ranges, add generators that concentrate on the boundaries,
and add some print statements next to exceptions that might get eaten
by out of memory errors.
|
| |
| |
| |
| | |
Closes SI-4024.
|
| | |
|
| | |
|
| |\ |
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
'kepler/ticket/5295' and 'blair/clarify-Map-withDefaultValue' into develop
|
| | | |/ /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Usually scripts like scala.bat and scalac.bat correctly propagate
exit codes from underlying Java invocations. However, if you run these
scripts as follows: "cmd /c scala ...", then errorlevel gets swallowed.
This simple patch fixes the aforementioned problem.
Fixes SI-5295, no review.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This makes code like
0 to 100 foreach (x += _)
as fast as (often faster than, in fact) a while loop. See the
comment in Range for the gory details. More investigation should
be done regarding total impact on inlining behavior.
Review by @odersky.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The hash code is further improved by using a special value in the hash sets
called a `seed`. For sequential hash tables, this value depends on the size
of the hash table. It determines the number of bits the hashcode should be
rotated. This ensures that hash tables with different sizes use different
bits to compute the position of the element. This way traversing the elements
of the source hash table will yield them in the order where they had similar
hashcodes (and hence, positions) in the source table, but different ones in
the destination table.
Ideally, in the future we want to be able to have a family of hash functions
and assign a different hash function from that family to each hash table
instance. That would statistically almost completely eliminate the possibility
that the hash table element traversal causes excessive collisions.
I should probably @mention extempore here.
|
|/ /
| |
| |
| |
| |
| | |
It foiled me right on the cusp of a successful windows nightly.
https://scala-webapps.epfl.ch/jenkins/job/scala-nightly-windows/1170/consoleText
|
|\|
| |
| |
| | |
'jsuereth/dont_resolve_releases'
|
| |\ \
| | | |
| | | |
| | | | |
'fedgehog/docs_fix_for_scala.Either.cond___SI-5113' and 'kepler/ticket/5266' into develop
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Wrapper method for AST undergoing a reflective compilation
has been incorrectly marked as static.
This was off the radars until one day the code being compiled declared
a top-level method. During flatten that method got hoisted into the
wrapper module, and its invocation got translated into an instance
call upon the module. This led to static wrapper method trying to call
an instance method, and that blew up the bytecode verifier. More info:
https://issues.scala-lang.org/browse/SI-5266.
Fixes SI-5266, review by @odersky.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The @migration annotation can now be used like @deprecation.
Old syntax is still supported, but deprecated.
Improve wording and consistency of migration messages, migration
warnings also print the version in which the change occurred now.
Partially fixes SI-4990.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The documents with use cases should be restructured like:
/**
* The full definition, either used with an implicit value or with an explicit one.
*
* Some more explanation on implicits...
*
* @param lost a lost parameter
* @return some integer
*
* @usecase def test(): Int
*
* This takes the implicit value in scope.
*
* Example: `test()`
*
* @usecase def test(explicit: Int): Int
*
* This takes the explicit value passed.
*
* Example: `test(3)`
*/
def test(implicit lost: Int): Int
|
|\ |
|
| | |
|
|\ \
| | |
| | |
| | | |
'blair/remove-documentation-stutters' into develop
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Everyone's favorite "will they or won't they" tests, akka and timeofday.
They will be welcomed back into the fold once they can stick to a
decision on whether to pass or fail.
|
| |
| |
| |
| | |
Also see https://github.com/scala/scala/pull/25.
|
|\ \ |
|
| | | |
|
| | | | |
| \ \ | |
|\ \ \ \
| | | | |
| | | | |
| | | | | |
'ijuma/feature/signum' into develop
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The Java implementation is faster as it doesn't have branches.
java.lang.Math includes implementations of signum for Double and Float,
but I didn't change the ones in scala.math because there is a difference
on how negative zero is handled.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Multiple minor fixes to Martin's implementation of reflection infrastructure.
Dominating theme is allowing for the fact that compilation via reflection
involves numerous exports/imports between various reflection universes.
Fixes SI-5230. Review by @odersky.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Rolled damaru-levenshtein algorithm back to my original "pure"
version. Cut max distance to 1. Turned on by default because
now it offers nothing unexpected, and removed short-lived
-Ysuggest-idents option.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Suggest possible alternatives when an identifier is not in scope.
% scala -Ysuggest-idents
scala> import scala.collection.mutable._
import scala.collection.mutable._
scala> new MistBuffer
<console>:11: error: not found: type MistBuffer (similar: ListBuffer, Buffer)
new MistBuffer
^
Too bad, no MistBuffer. We'll settle for ListBuffer.
|
| | |
| | |
| | |
| | |
| | | |
No secondary "reassignment to val" for unknown identifiers
in assignment position.
|
|/ / |
|
| | |
|
| | |
|
| | | |
| \ | |
| \ | |
| \ | |
| \ | |
| \ | |
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
'dcsobral/parserFilter', 'soc/library-range-sum', 'szeiger/feature/enumeration-valueset', 'szeiger/issue/5117' and 'jsuereth/pull-binary-error-message' into develop
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Closes SI-5117.
|
| | | | |/
| | | |/|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Make Enumeration.ValueSet a SortedSet and back it by a BitSet
- Add toBitMask and fromBitMask methods for value sets
- Add an Ordering for the values
- Deprecate names seq in the Enumeration constructor
- Add + method to Value for easy ValueSet creation
|
| | |/ /
| | | |
| | | |
| | | | |
Partially fixes SI-4658. NumericRange stays slow, thanks to the brilliant idea that Numeric doesn't need a division operation.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
Complement map and flatMap when used in for comprehensions. This is
required when pattern matching is used on the result of the generators.
It is implemented through a new filterWithError method on ParseResult.
|
|/ /
| |
| |
| | |
Can be used to reliably override the default no success messages.
|
|/
|
|
| |
Closes SI-3481.
|
|
|
|
|
|
|
|
|
|
| |
I haven't been able to find any reason for that reversal, but
this version is an improved version provided with SI-3796, which
never got committed along with the patch.
This version generates trees directly instead of using the methods
under test. It also puts an upper bound on tree size and, therefore,
execution time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Mutable and immutable BitSets now extend SortedSet, using a fixed
Ordering.Int and an efficient bit mask based rangeImpl()
- fromArray methods in both implementations are deprecated in favor of
new fromBitMask and fromBitMaskNoCopy methods
- New toBitMask method for converting bit sets back to Array[Long] bit
masks
- immutable.BitSet uses a more efficient Builder, based on
mutable.BitSet (closes SI-4647)
- Delete scala.tools.nsc.util.BitSet (not used anywhere)
Review by @odersky
|
|
|
|
|
|
| |
At the last minute I made -Xfuture leading-0 an error and failed to
update the checkfile.
|