This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Scala 2.10.0 Milestone 3

A new milestone release for Scala is now available. This release is cut directly from current development and is not intended for production environments, but is a great chance to try out the up and coming features for Scala 2.10.0. The milestone 2.10.0-M3 includes many fixes and improvements, listed below.

 

Included SIPs:

  

Here's a high level list of non-SIP features new to this release:

  • should be able to implement a combiner using a concurrent (thread-safe) collection.
  • Ctries added to the standard library. Implement parallel ctries using the above mechanism.
  • Execution contexts on parallel collections, to enable customizing a thread pool, number of threads, etc.
  • Virtual pattern matcher improvements -- now default
  • A significantly faster optimizer.
  • Improvements to RedBlack tree.
  • Fixes to specialization (AnyRef, interaction of final and @inline -- thank you, Erik Osheim!).
  • Up and coming reflection library
  • Experimental version of Macros (pending SIP: http://docs.scala-lang.org/sips/pending/self-cleaning-macros.html)
  • Reification: what used to be Code.lift is now scala.reflect.mirror.reify, works for most of the language features and is officially supported.
  • Type tags: greatly improve upon manifests. Tags use Scala reflection API (that’s been there since September/October 2011) to expose full-fledged Scala types instead of just type arguments and toStrings. 
  • Manifests: are deprecated, but otherwise intact, exactly as they were in 2.9.
  • Scaladoc: members inherited by implicit conversions can now be listed in the scaladoc page pass the -implicits flag to scaladoc)

 

Here's a list of the issues that have been fixed since 2.10.0-M2:

543df62aed  fixes SI-5713
c577aaca7a  SI-3755: catch exception thrown by adaptToNewrun
9d925a30c7  SI-5702 Pattern parser halts on star
efd1293df9  SI-5690: no-selector match in function yields function
b242637ee1  diagnostics for SI-5692
bd3eacbae2  fixes SI-5693
bf621aa912  fixes SI-5707
0a24981d0a  fixes SI-5706
f32d301fb5  fixes SI-5704
72052b6070  Fix for SI-5471
c3b0113f31  Fix a documentation comment of Product(n)#productElement
e59cadeb9d  Scaladoc's tests should work with test/partest
1dba0583fa  fixes SI-5689
be11c92b6e  fixes SI-5680
b5d583063e  SI-5677, Tiny typo. Fixed.
c2cd6acf99  don't emit tiny switches: optimizer chokes on them
1a6e7129da  work around optimizer bug SI-5672
9998a85b4c  work around optimizer bug SI-5672
72d86cbe8c  SI-5663: Tweak warnings on case class equals
593112ed56  Adds test and check files for SI-5666. Covers common non-newable types.
983f414dd3  SI-5510: string interpolation: parser no longer hangs on unclosed string
90960a1384  Workaround for SI-5657.
08505bd4ec  Workaround for SI-5583.
f1c6714e22  Fix for SI-5535.
00e9446bfc  Fix for SI-5648.
af4e0f0991  SI-5571: adds @volatile to field Enumeration.vsetDefined
174a75f78d  SI-4540 Fix [RichDouble|RichFloat|RichLong].isValid[Byte|Short|Char|Int].
72f6f0e57c  SI-4134: abstract override crasher if lacking super impl
41c0b0b7b9  Fix for SI-5591.
19bb173264  Fix for SI-5644.
a7f68ce32c  Unify "object Foo" and "Foo.type".
03f32bd22f  Fix for SI-3272.
883ca63361  SI-5627 BigInt.equals(Number) and BigDecimal.equals(Number) should implement equality in mathematical sense
88bc33301a  Fixes SI-5632 (serialization of large HashTables)
75e584bd0c  Fix for regression with inference at arity 21+.
399bd6240f  Never write final fields outside of constructors.
97f03245d9  Revived the lisp test.
017f48e00b  String interpolation bug fix
2b90e85b68  Workaround for "package is not a value".
5632167f6c  Fixes SI-5373
4b0d4571ec  Fix .empty and add .ofDim factory method.
1c0bef8838  Close issue #SI-4488
c0e9e75bec  Broke up def bridgeDefs.
479dd13148  Document regex replacement strings behavior.
e3dec9f006  Regex improvements
fb788e03f6  Test case closes SI-4987.
2c58044335  Fixed SI-5599
72c104b8b7  Fixes SI-5593
5d555ef90f  Overhaul of JavaConver{sions,ters}.
39938bcc29  Fix for SI-5580.
bed3304bf8  Fixed SI-5063.
eb8afde688  Fixes SI-5248
fb44bb28b8  Test cases closes SI-4574.
c82ecabad6  Finally did something about broken irrefutability.
910a701fcc  SI-5189: refined GADT soundness fix
b27a31b87d  Added alternate test for SI-5545.
a99579a2b3  Remove assert given the test. Fixes #SI-5572.
e533b2672b  SI-1118: * Use new-style deprecation annotations * Slightly less cutesy test text * Move t1118.scala to the right directory
e7ea29cc0b  SI-1118 WIP
24d8760030  SI-1118 WIP
fbeceb8f38  Removed "Todo: test" where a test exists.
79e937bea2  Fix for tailcall transform/recognition bugs.
29bcadefb4  SI-5189 fixed: safe type infer for constr pattern
0cffdf38d9  SI-5189 1/2: inferConstrInst uses correct variance
02fb34822b  Fix for public final fields.
c5f68c11d3  Force .info before creating new synthetic syms
6bcea98c0e  Closes #SI-5554
2d865327a9  #SI-5546 fixed: refine refined typing for getClass
35252961db  Oops, all the preceding meant SI-5541.
777dbd70f5  Revert attempt to limit private types in lubs.
f708b87e55  Overcame trait/protected/java limitation.
fb87f2de76  Test case closes SI-4777.
d852612c35  Fix for corner case in type printing.
c1e76ddb80  Fixes SI-5532
8cc36cdfa1  Fixes SI-5530
02e260a8e6  Fixes SI-5380: non-local return of try expression
4ab3600298  Test for SI-5529.
c11ec6f532  Fix for typing of objects in patterns.
f3711b634c  Improving error message.
07ffa8d66d  Fix for "." appearing on classpath.
680ed48b00  Workaround for scaladoc bug SI-5527 that crashes the build when mixed with range positions
76e9da2ca4  Added updated ForkJoinPool, w/ necessary updates to Scala Actors.
ac7376ed53  Improvement to API docs: GenTraversableLike and List. Fixes SI-5522.
a983f2b30c  Revert recent elidable commits.
a1d8029b3d  Test for SI-5171
b732859147  Test for SI-5316
61c9b4f01d  Fix for SI-5215 part 2: generate return value when eliding method calls
fa8ef34b9b  Removed dead code in RefChecks.

 

Special thanks to all the contributors! (commits since 2.10.0-M2)

196  Paul Phillips
82  Martin Odersky
69  Adriaan Moors
42  Eugene Burmako
27  Josh Suereth
24  Miguel Garcia
22  Aleksandar Prokopec
20  Vlad Ureche
Iulian Dragos
Heather Miller
Szabolcs Berecz
Hubert Plociniczak
Dominik Gruntz
Alex Cruise
Vojin Jovanovic
Viktor Klang
Simon Ochsenreither
phaller
Nada Amin
Lukas Rytz
Kato Kazuyoshi
Som Snytt
Dmitry Nadezhin
aleksandar
Havoc Pennington
Daniel C. Sobral
Christopher Vogt
tkong
Tiark Rompf
Pavel Pavlov
Mirco Dotta
Manohar Jonnalagedda
Leif Wickland
kenji yoshida
Jason Zaugg
Geoff Reedy
gakuzzzz
Étienne Vallette d'Osia
Erik Osheim
David Hall
David Andrzejewski
Cristian Tălău

 

Here's a complete list of changes:

399ab16c29  Another tedious day at Checkfile Ranch.
1c3f66b6f2  Revert "Moved ancillary methods off specialized traits."
2bd62d2cff  fixes broken eval tests
e9c432093b  Maybe this will fix the test on windows.
543df62aed  fixes SI-5713
23b3e9dfd6  essential information about macro expansion
c577aaca7a  SI-3755: catch exception thrown by adaptToNewrun
9d925a30c7  SI-5702 Pattern parser halts on star
f7e1a49403  Better position printing in NodePrinters.
2aa44c230c  A brand new, fast classfile parser.
17165269e2  clean up typedMatchAnonFun
efd1293df9  SI-5690: no-selector match in function yields function
99388a81d4  cleaning up macros, one step at a time
8fc543b5dd  Trying to set an example in the land of macros.
1297d87d5e  More style tips for team macros.
6ea7324242  Reverts 211df62491 .
b242637ee1  diagnostics for SI-5692
bd3eacbae2  fixes SI-5693
79dfed0baa  removes Expr <-> Tree implicits
4c6f64b708  Minor tweaks to reifier logic.
c22ec635c7  Some long overdue conveniences.
07ed42f073  Added a Presentation Compiler test for hyperlinking.
4f47fba30f  updated tests now matches aren't translated if forInteractive
daeee86895  fail gracefully on very messed up source files
ef48117f4e  don't translate matches in the IDE
edc7071d3b  Fix reifier crashing repl.
bf621aa912  fixes SI-5707
0a24981d0a  fixes SI-5706
1d0372f84f  Moved ancillary methods off specialized traits.
211df62491  Reordering genBlock match cases by frequency.
4682c77b7a  Update checkfile with more backticks.
f32d301fb5  fixes SI-5704
7b113e94ea  updated check file
996f96fb3f  TODO: use tree attachments instead of subclasses
a47acbc36d  copy BackQuotedIdent trees (don't copy as Ident)
2890714d7b  generate well-formed patterns in parser
d9740f82a3  Back from the dead, it's ScalaObject!
40e9fe51a5  Express flags as bit shifts.
ed3dafc621  Fix unmatched parenthesis
20faec5815  "@returns" is not a Scaladoc tag
4a4d7e5def  $op_name, $op_names, $plus and $eq are not macro
9759909f12  Make scala.language vals lazy.
114be21b0d  adds isStatic to Symbols API in macro context
f4d7febab5  Removed FlatArray.
851491c73f  Fixes to OSGi version number based on IDE team's suggestions.
d4b8d8deef  interop between manifests and tags
f54e5c8bbd  resurrects manifests in their pre-2.10 glory
0f0144c740  migrates stdlib and compiler to tags * all usages of ClassManifest and Manifest are replaced with tags * all manifest tests are replaced with tag tests
2b09d8caf5  rethinks tags * introduces ArrayTag and ErasureTag * all type tags now feature erasure
7ec2126fbb  Revert "Fix for range positions."
34f0d4f91b  poor dummy, what have they done to you
b47189ad06  Fix for range positions.
72052b6070  Fix for SI-5471
3ddd348609  minor fixes to reification
c3b0113f31  Fix a documentation comment of Product(n)#productElement
e59cadeb9d  Scaladoc's tests should work with test/partest
8c95273b70  Reflection and reification: Names and Symbols.
1dba0583fa  fixes SI-5689
89fd256787  scala.reflect.api: Reporters => FrontEnds
56c1f29250  Good-bye, scala.dbc.
766499d60b  a deprecated method that I forgot to restore
be11c92b6e  fixes SI-5680
ec9fb82499  minor fix to macro tracing
756dbbc254  change com.typesafe.config dep to version 0.4.0
b5d583063e  SI-5677, Tiny typo. Fixed.
785252b4f7  suppresses warnings introduced in a2115b2352
016bc3db52  Minor optimizations with nested list operations.
8a285258fd  Sigh, sbt needs this one too.
745fe4e366  fixes tests
2093bccc56  reintroduces prematurely removed manifest factories
40c1fe388b  assorted stability fixes
b37350b412  adds a dummy mirror
e408aa9cca  adds erasures to concrete type tags
17fa0b1348  big fat error message, reloaded
80aaed000d  Fix an potentially-disturbing error (typo?) in Either doc.
add30e2f48  Try to fix sbt.
e224518c92  Another checkfile update.
e1ca95228a  One more checkfile update.
4a6f54b5f1  New facility: TypeDestructurers.
23ae258c37  Inliner won't touch private/protected fields anymore
a3d0544987  Updates forkjoin.jar sha1
a1c36ea5fc  Resolve feature and deprecation warnings in scala.concurrent
6ecb8263bf  Clean ups in futures based on review by @heathermiller and review by @viktorklang
967ceb28ab  big fat error message for default mirror failures
364dd41c3e  Fix for test checkfile.
c2cd6acf99  don't emit tiny switches: optimizer chokes on them
28483739c3  restore typedMatchAnonFun in all its glory
1a6e7129da  work around optimizer bug SI-5672
59bcf821ee  Revert "change com.typesafe.config dep to version 0.4.0"
904578fa10  removes obsolete macro tests
5e4c47f33b  implements reification of tough types
23aa1a8d7b  Fix issues with exception handling in futures. Review by @heathermiller
76903fe0b5  Added preliminary doc comments to language object.
f8653625f6  change Application to App in scaladoc sample code
9998a85b4c  work around optimizer bug SI-5672
1246f69185  Changes to access modifiers on Unsafe and NonFatal, adds/fixes doc comments
fb0024ce18  Made checkFeature conditionally run immediately. Adapted Macros to make use of it.
0b3b12fb29  Move primitive widening implicits to companions.
cb2468a8a0  Reimplemented shadowing between class members
95ad0bbddb  Adapted implicits testsuite for SIP18
651f2219b3  Fixing the docs.scalap breakage
883a97992e  no longer need -Yvirtpatmat
625397b02e  Added NameTree Tree interface.
4804efef20  virtpatmat on by default; chicken out: -Xoldpatmat
391f92f400  virtpatmat: initial CPS support
e1c8e2da26  wip: put skeleton for typetag-based typetests in place
3515ac4449  more prudent bridging to unapply[Seq]
d383f458aa  synth PartialFunction in uncurry
98a85ccae5  cleanup in refchecks
f5857462cc  print labeldef's parameter types
0ba3d542cc  restores some disabled macro tests, makes checkFeature synchronous when used for macros
7bd3b62ea5  One more macro test to disable for SIP 18.
e638405d4c  disabling scaladoc tests. Don't know how to fix them to make them work under SIP 18.
b2991c6676  one more macro test sdisabled that lipped through the net before.
66f75183c0  DynamicProxy: improved docs, fixed EOL style
c26f2ae86b  disabled failing macro test; needs to be adapted to new scheme.
f67a00a3ce  change com.typesafe.config dep to version 0.4.0
e9280cba72  Disabled macro neg tests that no longer make sense in this form
53a0e803f0  implemented DynamicProxy as portrayed by the Scala reflection team
b5757577c5  Fixed tests to account for SIP 18
3324a7215c  Fine-tuning of isRepresentableWithWildcards and wildcard printing.
7f2624e2ee  Fixed problems with new deprecated idents scheme.
72d86cbe8c  SI-5663: Tweak warnings on case class equals
1d0610840b  Renamed seven files.
cc764e9448  Added languageFeature annotation (was missing before). Resolved problem with late loading of nested classes in Definitions. Resolved handling of deprecated idents `then` and `macro`. Massaged test flags.
beae7735b8  Improved formatting/display of documentation.
b92eb70113  enable implicit enrichment when typing patterns
d5c27ed09d  parse patterns, not exprs in interpolatedString's holes
e29681b95a  rule out sequence arg to applyDynamic
2286d7b431  implement SIP Type Dynamic
412885a92e  Adds most recent iteration of the ForkJoinPool, and updates it to now run on JDK 1.6
593112ed56  Adds test and check files for SI-5666. Covers common non-newable types.
31771bdc62  Adding FIXME about putting mixed beans in the EC-basket
af8416bb7f  Adding NonFatal matching as to not catch anything that should terminate the JVM, also adding EX.reportFailure where it makes sense
381c0e12bf  Added missing objects.
05779d413e  Replacing all ⇒ with => in Promise.scala and harmonized def value to use same match approach as def isCompleted
828aa0aaa9  Making sure that the ScalaDoc for Future.apply has the right names
a2115b2352  Adding NonFatal and Unsafe to scala.concurrent.impl
7c049a15f6  Updating to latest version of Akka's DefaultPromise
020043c3a6  Small cleanup in typeref toString
5d42159cec  Touching the untouchable.
13d3fe99a0  Portability changes to binary-repo-lib.sh.
4b95f21060  Introducing some whitespace before colons.
355264f9d5  Scaladoc feature that shows implicit conversions
48b0a7360e  performance counters for macros expansions
821229f7fe  Fixes https://scala-webapps.epfl.ch/jenkins/job/scala-checkin-rangpos/404/
1c89ab7233  Enabling postfix ops feature warning, and working on libs to avoid them.
20cd7cc077  Fix for failing test.
a7a1e3a195  Various improvements to SIP 18 diagnostics. Made scala library and compiler feature clean.
8755141785  Adjustment to recent fix.
225d205f83  Add managed blockers to execution contexts.
983f414dd3  SI-5510: string interpolation: parser no longer hangs on unclosed string
dea848c7f5  Cache consistency checks for starr binary repo.
8390f2011f  Fixing a failing test.
004a54ca46  fixes petty macro tests
90960a1384  Workaround for SI-5657.
08505bd4ec  Workaround for SI-5583.
f1c6714e22  Fix for SI-5535.
cfc4757a58  fixes petty macro tests
c7a71c2d5c  Making changes in the scala.concurrent package.
27a978ab89  Reconfigure build.xml so -Xmacros isn't lost.
39a88f5680  Revert "Enabled continuations plugin by default."
6e7382b5da  New starr with implicit classes and macros.
535c8d73c9  Moving Duration DSL to a separate package.
f9e8a8c13f  Disabling failing tests.
46d0d73f66  GroundTypeTag => ConcreteTypeTag
af71b10083  Fixes and clean ups for futures based on review by @viktorklang
ca1bb43544  Fixed duplicate method problem for implicit wrappers.
c297b97072  Implementation of SIP 13 take 2.
2c28680ca9  Implementation of SIP 13 - implicit classes
814cf34fb0  Next generation of macros
699bb5886e  new annotation targets for companion classes/objects/factory methods.
f7a0558059  Implementation of SIP 18. We still need to get rid of the warnings caused by it. Before we do that, I'd like to check in the SIP 13 implementation.
d4d8f15ad1  changed applyDynamic explanation in trait Dynamic
9ea4ca3c80  This change enables the alphanumeric method to be called from SecureRandom
a56a606d54  fix for get-scala-commit-* on Windows (tested with Windows 7)
f93e2189dd  Fix memory leak related to default arguments in presentation compiler.
00e9446bfc  Fix for SI-5648.
af4e0f0991  SI-5571: adds @volatile to field Enumeration.vsetDefined
00547575de  fix field init problem in NoStackTrace
bed400c5a8  Cleaning up some repl mechanisms.
c456bebbcd  Less laborious type application.
7bddd73f6e  Make specialize check cheaper and consistent.
14fbad93cb  Bumped the number of samples of the memory leaks test to 50. This should make it much more resilient against spikes. Also removed usedmem file dumps.
174a75f78d  SI-4540 Fix [RichDouble|RichFloat|RichLong].isValid[Byte|Short|Char|Int].
b66d390ed4  More Symbols and Flags.
9574fd3b59  Small simplification of commit 87c9fc0df0f0e74d3a07f95634356d6425877091. eqTypeCode(Number) is equivalent to typeCode(Number). CHAR code is impossible because java.lang.Character is not subclass of java.lang.Number.
08b41ce467  make PresentationCompilerThread a daemon
1a6408c429  Flag performance and Name management.
22c229e4ed  Style tweaks to b28ece2f4b .
72f6f0e57c  SI-4134: abstract override crasher if lacking super impl
581a2e1a96  fix memory leak in Iterator.++
e593d8b9ed  Make NumericRange# O(1) instead of O(n).
41c0b0b7b9  Fix for SI-5591.
b5a01906f6  Moving flags around for performance.
19bb173264  Fix for SI-5644.
ec1d28ee0d  A little BoxesRunTime fix.
8c3b69341f  Disable dysfunctional inline annotation.
87c9fc0df0  Giving HotSpot a better chance at BoxesRunTime.
296b7061cc  A boatload of work on Symbols and Flags.
754b4a85e4  Test case for overloading resolution during reflection.
7f79ef0e30  Added overloading resolution to reflect.api.Symbol
2b89c3459d  Symbol activity tracer.
62acd24905  Fix for continuations issue with match blocks.
37eabf615a  Fix for continuations issue.
3c405ab57e  Fixed broken links in sources of scala/annotation
94b3dc83c4  avoid field init prob: make NoTreeAnnotation a def
c2b081e5bd  Add some ExecutionContext factories.
bb4935e92c  Added Option#fold.
a7f68ce32c  Unify "object Foo" and "Foo.type".
bdf663b5b9  Add tests for future combinators: map, flatMap, filter, collect, foreach, recoverWith, zip, fallbackTo
1928dff44f  Fixed class cast exception thrown when re-initializing maven-ant-tasks.
19b6ad5ee4  avoid memory leak by avoiding default arg
a81c907bd3  Added presentation memory leak test.
457172dca3  Remedies Try/Either signature disparity for source compat. w/ Akka
03f32bd22f  Fix for SI-3272.
883ca63361  SI-5627 BigInt.equals(Number) and BigDecimal.equals(Number) should implement equality in mathematical sense
f7535f7290  Pushed Symbol/Type creation partitioning further.
17356bf8a3  More principled unwrapping of types.
4f24d01d22  Cleaned up "isTupleTypeOrSubtype".
69d2999a4b  Maven repository dependencies are now added to distributions.
724976cab3  Build.xml can now resolve artifacts from maven central and use them in the build. * Artifacts are resovled from maven central after the STARR repostiory * All maven dependencies are added to aux.libs (every classpath) * Typesafe config library is added by efault.
88bc33301a  Fixes SI-5632 (serialization of large HashTables)
dc8b431f1c  Tagged builds now display tag version. (maven = canonical).
75e584bd0c  Fix for regression with inference at arity 21+.
0fae7b9064  Fix for string bug in genjvm.
9b0d1b5a2b  remove unnecessary classpath entry
44551b2e9f  Remove blocking from execution contexts.
1890a4175d  specialization: see outer contexts to fix symbols
118aef558f  virtpatmat support for the new partialfunction
383d28daa1  old patmat support for the applyOrElse partial fun
66b47e1a8c  a fast, functional PartialFunction implementation
71392585dc  Cleaning up logging in specialization.
0bc2210f55  A couple tests for pending.
794104f74d  Adds links to parallel collections overview in API docs
7c84f1fc32  Add withFilter and mapTo to futures.
802162b5b1  Add methods in the Future companion object.
622cc99673  Revert the lisp test.
399bd6240f  Never write final fields outside of constructors.
97f03245d9  Revived the lisp test.
4731810501  Work on source compatibility between akka and scala futures.
9a59a2ac54  SIP-11 String Interpolation Simplification
fdbca65fd1  SIP-11 String Interpolation Simplification
c14766c1af  Add JavaConversions and JavaConverters concurrent.Map support.
017f48e00b  String interpolation bug fix
37b6b48b5f  Rename ConcurrentTrieMap to concurrent.TrieMap.
2b90e85b68  Workaround for "package is not a value".
b5a88e0892  Remove sbaz and references from master repository.
960d16a87e  Removed git from source repo generation.
8948f80e78  Updated README for latest installations
e56e48ca3a  No longer generate SBAZ documentation as part of distribution.
506bcfe71c  Added latest link for sources so we can include them in distributions.
2e64b73a1d  [vpm] smarter type inference on when virtPatmat is on
65340ed4ad  [vpm] suppress refchecks in matches
5632167f6c  Fixes SI-5373
2a917f4830  Syntactic/organizational optimizations in Settings.
9c0442984f  [vpm] error message on missing parameter type
e0d1f15c24  [vpm] skolemize result type in translateMatch
4b0d4571ec  Fix .empty and add .ofDim factory method.
83d9d7e650  Slight comment tweak for more colloquial English.
a532ba0600  Removing some foolishness.
0e15be4274  Scaladoc is now pointing to sources in github
1c0bef8838  Close issue #SI-4488
c0e9e75bec  Broke up def bridgeDefs.
f5d68fb3ab  [vpm] defend against null in erroneous type pats
d38109dad5  further tweaking packing magic
0b565c0a80  splice in typed, dup'ed, trees for TRUE and FALSE
53d7b39c61  less invasive packing of types in branches/cases
63c96595ef  [vpm] need cast in one for GADT magic
e54eb1a149  typedMatchAnonFun's missingCase call use apply's arg
e33950ccaa  [vpm] be more careful about swatches
33a79fbc43  do nothing when closing closed block in ignoremode
d4a58883c4  [vpm] avoid verifyerror: leave jump to tail-pos label
bc44da79df  don't throw error in setError when -Ydebug
08a3ca9a2f  [vpm] typeMatchAnonFun improvements
dd2f367dc6  Adapted scaladoc test
cc66f378d0  Changing URLs for svn and issue tracking.
479dd13148  Document regex replacement strings behavior.
e3dec9f006  Regex improvements
20426fb137  [vpm] be more careful about swatches
09eda4ef92  do nothing when closing closed block in ignoremode
d786f26983  [vpm] avoid verifyerror: leave jump to tail-pos label
f8022c216d  don't throw error in setError when -Ydebug
8279a730f0  [vpm] typeMatchAnonFun improvements
91c5a3ba9a  Undo the revert.
3db29dde05  Test case for cause of previous commit's reversion.
5af2bf54d2  Revert "Made changeOwner more robust; now also deals with return expressions."
600b783747  Scaladoc: improved usecases, display full signature. Closes #5291
fb788e03f6  Test case closes SI-4987.
2c58044335  Fixed SI-5599
cd73ee6c0f  Increased the timeout from 5s to 60s to make the presentation compiler shutdown test more resilient on slow machines.
a1f5933e43  minimalist refactoring to allow annotating trees
72c104b8b7  Fixes SI-5593
41c9dd10ad  disable version numbers on windows, they're broken.
c535aec63f  An illustrative delayedInit test.
5d555ef90f  Overhaul of JavaConver{sions,ters}.
39938bcc29  Fix for SI-5580.
bd8bff3370  Fixed test cases.
5f82067bbf  Clarifying MethodSynthesis.
bed3304bf8  Fixed SI-5063.
437c626113  Allows now private primary constructors in value classes.
e2951867f5  Overhauling mixin.
fcc63e2b66  Restore irrefutability commits.
1c65152c7a  Fix for stability failure.
6d7bcd5818  Lots of tedious warning and tree printing work.
b9e933ffca  Tweak to string coloring.
d8ba5d091e  Revert irrefutability commits.
66f0679169  Prepared actors hierarchy for migration.
8552740bed  [vpm] pack types of if branches before lubbing
9e513a6d29  [vpm] fix half of my existential troubles
b046a6e331  [vpm] typer synths Function{} for empty-sel match
2d3b309a36  specialize symbols for labeldef params
cd3d342032  [vpm] tailcalls support for jumpy vpm
3e0f24d2e7  [vpm] label-based translation of matches
972bf59a65  [vpm] TODO note: make unapply type list stricter
d60099fb55  [vpm] test file for regression on old patmat
13a325b126  Deprecate scala.parallel.Future and privatize a few classes.
c57699bc02  Cleaned up Duration for the standard library.
e72ce5adc2  optimise flag should be shown in scalac.args info
eb8afde688  Fixes SI-5248
62422f3a54  Yet another attempt to make the version a good one
fb44bb28b8  Test cases closes SI-4574.
032b209125  Spiced up the irrefutability tests a bit.
365bb2b4e3  Discovered filter was still being generated.
c82ecabad6  Finally did something about broken irrefutability.
75ef45161d  Adapted usecases to full signature display
c7d8525583  Adapted indentation in scaladoc code blocks
aafcc104b6  Chill out repl ctrl-char filter.
752884f160  Overhaul of NodePrinters.
50bf852c9a  Tree adjustments.
a38fd5c324  Separating Scala Actors from the Scala Library.
910a701fcc  SI-5189: refined GADT soundness fix
1ba08472d6  Add 2 benchmark sources.
78c15103d5  First cut at a release notes tool to help generate them.
908636b596  Fixed versioning scheme when running on a tag.
438ae4766a  Library for ansi color management.
b3efb3d493  Added +: and :+ extractors to mirror append/prepend.
d267988ddb  Eliminating warnings in Cleanup.
8ebfd48564  Testing compiler asSeenFrom directly.
b27a31b87d  Added alternate test for SI-5545.
f90efea960  Simplify check for transient fields in mixin.
87992a842e  Revert "More uniformity for the parser."
5877a9264d  Fixing merge conflicts for trunk.
1ca6097152  Fixed sha to not have the 'g' for git. Swapped 'r' to 'v' now that I've had more coffee and sleep.
49b3e840ef  Fixed maven deployment issues for new versioning scheme.
1d8037bbf5  Finished migrating to new versioning scheme
479aee3617  properties loading is now maven/osgi version aware. yippie.
08778f747d  Modified build for new versioning scheme.
0574a3fa71  Moved to Mirco's versioning idea.
c3bff04254  Fixes to build numbering system for 2.9.x release
9cb9c4077d  Adapted tools/verify-jar-cache for Ubuntu
dd24b6a216  Renamed concurrent trie source files.
f5215cd20c  Renaming Ctrie to ConcurrentTrieMap.
bc7bf663f2  Finish fixing range positions.
a99579a2b3  Remove assert given the test. Fixes #SI-5572.
f987afe55e  More uniformity for the parser.
acb2c85172  New option -Ypos-debug, and fixed range position breakage.
783c2c655f  Fixed broken tests
57eaf9efbc  Tweaked deprecation annotations to avoid warning
c53390686e  Space/Tab cleanup script - run before committing
dca8725cbb  Merged and cleaned the 'feature/inheritdoc' branch
c8bc6dfd8f  Re-fixed 2.10-style literals. Oh, silly Windows and your line endings.
e533b2672b  SI-1118: * Use new-style deprecation annotations * Slightly less cutesy test text * Move t1118.scala to the right directory
5ea83bc80c  Cleaned up failed manual patch
e7ea29cc0b  SI-1118 WIP
24d8760030  SI-1118 WIP
e5b44726e0  create relative symlinks in ant scripts
a10ef1ae4f  Remove confusing nightly.checkinit target that was setting checkinit in optimise params
b707b2573c  Fix transient attribute check for checkinit to check the field of the getter.
6bd9b60b28  Remove some custom serialization boilerplate.
c58b6a8716  Whitespace and a couple checkfile updates.
5db8e84cb0  The rest of the inline classes.
b5d213be08  Eliminate build-breaking import.
9e6ffde8ac  Disable transient field checks in checkinit.
5b562d4e7e  Cleaning up stray ScalaObject references.
55990c9ec6  New starr to support new fundamental laws of reality.
57475a8eca  Fix tasksupport field initialization for the checkInit build.
fbeceb8f38  Removed "Todo: test" where a test exists.
79e937bea2  Fix for tailcall transform/recognition bugs.
292a861ca8  Updated flow for creating new STARRs.
f1c39dd981  Add symbol to Manifests.
02a1522063  shortening Name-String-Name-String conversions to just Name-String
29bcadefb4  SI-5189 fixed: safe type infer for constr pattern
0cffdf38d9  SI-5189 1/2: inferConstrInst uses correct variance
b908232121  cleaned up inferConstructorInstance; same behavior
cd62f523b1  rather than info.parents, superClass and mixinClasses are enough
42f9059353  Wider net on final fields.
3da5075247  Fix for a little last minute breakage.
02fb34822b  Fix for public final fields.
b98d748c9a  Changed printlns to use debugwarn.
54e284d669  Allows case classes as value classes
a9b6c140a2  dynamic dispatch instead of map lookups or equality tests
3fd40293e2  fewer lastInstruction lookups
05ddddff85  readability
af1b15ed74  readability
428aee0fde  mechanically applying the above recipe
9f2e73b5ac  there goes the pattern matching of CJUMP
3e4620c3b9  same story: inspector method beats pattern matching
4c6ca5684b  replacing pattern matching with isWideType invocations
f2ffc5be34  Fix for -Xcheckinit failure.
c5f68c11d3  Force .info before creating new synthetic syms
e9a1207eed  New starr which has java.io.Serializable as a universal trait
1d23ea6bf7  Make scala.io.Serializable a universal trait.
642c86a3fa  leveraging isIntSizedType
6bf479b24c  the idea is to cut down on checkcast instructions
d5caf821ae  de-specialcasing
6b67c3e23d  readability
0f24917e19  factoring out repetitive work
97e78b8720  readability
1e92776894  Fixes to value classes: Flags now double definitions, private constructors as errors. Fixed erasure scheme.
6bcea98c0e  Closes #SI-5554
d7e485d5fe  readability
483ecd96b9  readability
e328d853a6  fewer hops to emit ASTORE and ALOAD
4f99c2e589  Closes #5553, review by dragos
1691579e41  Fix one benchmark.
2d865327a9  #SI-5546 fixed: refine refined typing for getClass
9ca7297588  Updated checkfile for retronym commit.
53fb61cba9  Fix deadlocks occurring during presentation compiler shutdown.
ff43292ba3  Fix for phase-based logging.
fa55e4f0f8  Added check that primary constructor of a value class must be public.
edaf481155  new and updated test cases for value classes.
c9bee28c8f  making indentation IDE-aware
0df343a0c6  Now spots double definition after erasure errors involving value classes.
f97fa545cf  Fixes scaladoc rangepos
f3e545489e  Make task support implementations public.
891b763071  readability
35252961db  Oops, all the preceding meant SI-5541.
777dbd70f5  Revert attempt to limit private types in lubs.
f708b87e55  Overcame trait/protected/java limitation.
fb87f2de76  Test case closes SI-4777.
61d34ed3fd  An old patch on pattern matcher exhaustivity.
5f9756184a  readability
c2fdc7e591  avoiding fjbg's JClass in getFile()
a180d2e484  Handle empty format specifiers in the formatting interpolator.
d852612c35  Fix for corner case in type printing.
9f5767dd31  Fix for cps regression. Closes 5538. Closes 5445.
6aca8a074a  Adding execution context based task support implementation.
d92bcb5302  calling a side-effecting boolean-returning method last in condition
54b541b103  More consistent use of atPhase.
ee4fa5449e  Another try to quiet the inliner.
c5ac8005e2  Changes to appease the inliner.
8c6466c6e9  Fixed Issue 5321
c1e76ddb80  Fixes SI-5532
84ab871a18  Fixing whitespace-damaged test.
8cc36cdfa1  Fixes SI-5530
105dc63121  Merge remote-tracking branches 'VladUreche/issue/5527' and 'dragos/master' into develop
edf3ae0b8c  Lift only *non-local* returns of try expressions.
a183c6ad31  Whitespace commit.
568546ef3f  Better fix for presentation compiler memory leaks, take 2. The previous fix (explicit call to `perRunCaches.clearAll()` introduced subtle bugs since maps in `Namer` *are* needed between runs.
cfb04ef065  Added comments to local definitions. Closes 5527
fc2866efee  Reworking synchronized patch.
02e260a8e6  Fixes SI-5380: non-local return of try expression
4ab3600298  Test for SI-5529.
4b9c49d31e  Don't print underlying type of modules.
c11ec6f532  Fix for typing of objects in patterns.
f3711b634c  Improving error message.
0bcc8f8f92  Specialized NonLocalReturnControl.
07ffa8d66d  Fix for "." appearing on classpath.
8fa2d03a2f  Fixed deploy script for nightly
bbdc8f0bda  Added tool for verifying jar cache.
680ed48b00  Workaround for scaladoc bug SI-5527 that crashes the build when mixed with range positions
1bf6edcf4c  Update pull-binary-libs.sh to cope with curl not installed
0cd7a6726c  Some logging cleanup.
da12146b8f  Toward a higher level abstraction than atPhase.
7970e0d949  New forkjoin jar as described in 76e9da2ca4 .
4573e06a27  Mainstreaming phase awareness.
76e9da2ca4  Added updated ForkJoinPool, w/ necessary updates to Scala Actors.
ac7376ed53  Improvement to API docs: GenTraversableLike and List. Fixes SI-5522.
0c2f493804  Better fix for memory leaks in the presentation compiler. Switched to perRunCaches and call clearAll from the presentation compiler
e7b362ff91  -Xplugin value passed by the Eclipse IDE are incorrectly parsed when it contains whitespaces.
24b15a1f79  Fleshed out the @elidable documentation.
ef2361190c  Followed up on two aged todos.
cee16036bc  Fix to nightly build.
1e06aca8e3  update api docs for @elidable to match the behaviour more closely.
622656dfc8  Moved and edited tests.
119c9554cf  Make partest not fail over code.jar's placement.
382a16e948  One more to derive trees.
4cd1143d8d  Change time constants in test to avoid failures.
1852a7ddf7  Add tasksupport as a configurable field in parallel collections.
f9f888d36a  Add test for AbstractionFromVolatileTypeError.
7afd85b270  Add tests for QualifyingClassError.
2f79c6ac6e  Add test case for ParentInheritedTwiceError.
6f4fca6833  Added test case for FinitaryError.
5052b58089  Add test for ConstructorPrefixError.
6e7e4bb6b8  test for DependentMethodTpeConversionToFunctionError
7a5c176542  test for TooManyArgsPatternError
ce20632da7  test for OverloadedUnapplyError
d5006b118f  Methods to derive ValDefs and Templates.
bde711871a  Made new automatic version of mkCast more robust for non-standard compilation setups by refining the logic what it means to be after a phase.
4a984f82d5  Methods to derive new DefDefs.
98cf4014a3  One last nudge for elidable.
06384c052e  Reworked and restored elidable.
a983f2b30c  Revert recent elidable commits.
d6ed9e20fe  Disabled one failing test.
d1c0918e44  Made 3 classes in the standard library into value classes.
ac8c64e4c0  New binaries to support value classes in standard library (the ones two commits ago were a mistake).
4eae7511a2  Compiler now ready to accept value classes in standard library. Time for a new STARR!
455129b32d  More use of perRunCaches.
92291e72b1  Don't populate the concreteSpecMethod set in presentation compiler runs. This is safe because the presentation compiler never runs the tree transformer (where this map is needed). This is a source of serious memory leaks in the IDE, but it wasn't visible before because the IDE didn't run the info transformers far enough. Interestingly, this is not a leak in batch runs: each element of the set is removed when the tree is transformed.
d604417bac  Fixes in namers and extension methods to support nested value classes and generic value classes.
3f168cabab  Enable derived value classes with an underlying field of a type parameter. They are too useful to ban.
4c151ccd18  Make this substituter on trees also act on types, just as the other tree substitutres do.
7fe2892e42  Split StringAdd into StringAdd and StringFormat
c470c260eb  Deprecate Refined Build Manager. It contains bugs that we are no longer planning to work on, sbt is a recommended approach (see integration with scala-ide)
4c9b2b930d  Add 2 benchmarks for Ctries.
8dc2bbe4bd  Updatwd check file.
93a326e160  Changed erasure boxing/unboxing scheme to support value classes that wrap reference classes.
ab8cbeb6fc  Allowing for protected methods in value classes.
a3b33a1840  Made more traits universal.
3a5c70c063  Moved mkCast and derived method from reflect.internal.TreeGen to tools.nsc.ast.TreeGen. Made mkCast generate the "right" version of casts according to current phase.
15c9391d33  Made TreePrinters print classes that extend from AnyVal. For Paul to check if OK and remove commented code if that's the case.
19a48510c2  Made changeOwner more robust; now also deals with return expressions.
a1d8029b3d  Test for SI-5171
b732859147  Test for SI-5316
f26a47c4e8  Disallow eliding when Nothing is expected
bd8c9a01e7  Added the SYNTHETIC flag for BRIDGE methods. The Eclipse Java compiler complains about duplicate methods otherwise.
fbb7865e13  Eliminating duplication in zero creation.
61c9b4f01d  Fix for SI-5215 part 2: generate return value when eliding method calls
6fbd2a851c  Speed up deployment using combined deploy settings.
fa8ef34b9b  Removed dead code in RefChecks.
cae87f6797  Renamed "inline class" to "derived value class"
213ca741b0  Removed one more stone the parser threw at me for daring to have new value classes in the Scala library.
64aaef7250  Implemented super access in value classes, restrictions for value classes.
8cc7de74d3  New FlatArray scheme for handling value classes.
01ee3de96d  replace methods containing a synchronized body with synchronized methods
b8b19b1ca1  let fjbg know about the synchronized flag
186d855445  Trying generic value classes. Does not work yet, but fixed on bug already.
d638588797  Updated check file.
280192f2c5  New scheme for "Rows" of value classes.
cd6426a8c5  Changed array erasure scheme to never unbox elements of inline classes.
ea96b48d92  Changed erasure behavior of arrays to use always boxed representation.
5bbc2d089f  Refactoring to control the effects of inline erasure, restricting them to just the erasure phase and its actions.
ee560229d1  Fixing problems with generation of isInstanceOf, classOf.
087aee792e  Setting up things to demonstrate a swallowed type error in manifest generation.
436f141d21  Added missing files from last commit
52c99f57ef  All steps of value class proposal implemented. Most restrictions are now enforced. Super calls and specialized still missing.
7bcb1f2fc9  Deprecating /:\. Fold should be used instead.
26348f4542  wip. Getting started on erasing inline classes.
b925feb273  Fixes supercalls tyo AnyVal constructors. Meter example now compiles and runs correctly (but no erasure yet).
5f02cf9f40  Rename isValueClass -> isPrimitiveValueClass
aa7ca3599c  Making the Meter test expand and compile.
aee074e69e  Added test case.
7f9c2636cf  Removing unnecessary AnyVal code.
5376ded8ac  Added hook in erasure.
0559b62b2d  Fixed a bunch of scalap check files to account for absence of ScalaObject
a6790f969f  A first bunch of Any-extending traits.
6a6cd3ac29  Removing AnyVal as a source class. Removing automatic addition of ScalaObject. Undoing wrong fix in ExtensionMethods.
4407cdb4df  Definitions are now initialized in reflection (was missing before).
0149424350  Different treatment of Null <:< T, to allow for Any-extending traits. Without the change,
b6dde2b6cf  All tests passed... not counting scaladoc.
b2720bdaef  A couple more checkfiles and comments.
b5eab2f364  Made a typer hack less hacky.
65ae85738c  Hardening in Constructors.
fe90138238  A little msil I missed un-reverting.
7eb35ada3b  Removed now superfluous bootstrapper script.
1af71c9191  Hardened/documented AnyVal constructor switcheroo.
732a080fcb  Checkfile output update for AnyVal class.
b265d01441  Tweaking parent printing a little further.
90039fcf18  Fixing AnyVal verify error and reflection.
84bf74e334  Fixed all but one of the scalap tests.
6ba9411c7c  Restored msil.
dcb5fe9316  Utilizing convenience methods martin hasn't discovered yet.
156a2c6809  Fixed specialized tests.
66ff8f58ac  Fixed scalacheck tests.
c6a783ac08  Making AnyVal into a class instead of a trait.
513710c527  Simple test manipulating Any-derived traits.
6abac73c21  Having Proxy extend Any as well.
3a6b1124f1  Guard List_apply from premature forcitude.
6b8aed72e4  Made Any parents work more.
2b7fb460dd  Updated checkfiles to subtract ScalaObject.
8e4cf27128  Updated bootstrap script.
57f19c440a  ant and diff friendlier msil-disabling.
269a9ef9b2  Temporary bootstrapper script.
37a0c8dd30  New shas for bootstrap libs.
de82b37232  Disabled all things MSIL.
8c7005fc90  Eliminated ScalaObject.
c5871a974a  Mostly eliminated ScalaObject.
1adae9b13a  Fix in Definitions that now enables bootstrap without AnyVal.scala present. This should be a new starr.
b4cfd1161e  intermediate work towards a new starr for value classes.
e9a70f564a  First steps towards erasure of inline classes.
5cb688172c  New trait for erasure of inline classes.
a9eb9c5b69  More work on inline classes.
57bccd7e75  Pushed new starr and updated desired shas.
cb952efd29  Synthesize getClass method for AnyVal children.
66cf4e9a92  Removed obsolete checkfile.
2bfb2e6de1  Eliminated 2500 lines of whitespace changes.
d762e4caf9  Working AnyVal#getClass.
e1897c215c  updated check file; got accidentally dropped from last commit.
6eb24b2bea  Moving getClassReturnType out of erasure.
6eb066dade  Resinstantiating anyval-children test. Getting he complete build to run.
df01dc8d91  Fixed problems with step 2
5118fd0d08  New phase that creates extension methods for inline classes.
a03c34c140  inline method expansion code
e61eff23df  Unsealed AnyVal.
09544b756a  Dropping what looks like debug output from error message. Before the change, writing `class C extends AnyVal` in the REPL produced a compiler crash due to a NPE.
a1c99ffc7b  wip

 

Re: Scala 2.10.0 Milestone 3

So many SIPs and fixes!  I'm very excited about this release; thanks everyone!

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland