summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4828 from retronym/topic/existential-containsLukas Rytz2015-11-165-13/+44
|\ | | | | Attacking exponential complexity in TypeMaps
| * Attacking exponential complexity in TypeMapsJason Zaugg2015-11-135-13/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't normalize existentials during the `contain`-s type map; `ExistentialType#normalize' calls contains internally and an exponential blowup ensues. - Ensure that the type map used in variance validation never returns modified types in order to avoid needless cloning of symbols. The enclosed test case still gets stuck in Uncurry, thanks to the way that `TypeMap#mapOver(List[Symbol])` recurses through the type first to check whether the type map would be an no-op or not. If not, it repeats the type map with cloned symbols. Doing the work twice at each level of recursion blows up the complexity. Removing that "fast path" allows the enclosed test to compile completely. As at this commit, it gets stuck in uncurry, which dealiases `s.List` to `s.c.i.List` within the type. Some more background on the troublesome part of `TypeMap`: http://lrytz.github.io/scala-aladdin-bugtracker/displayItem.do%3Fid=1210.html https://github.com/scala/scala/commit/f8b2b21050e7a2ca0f537ef70e3e0c8eead43abc
* | Merge pull request #4839 from SethTisue/reword-dependent-type-errorSeth Tisue2015-11-142-3/+3
|\ \ | | | | | | less confusing wording for a dependent method type error
| * | less confusing wording for a dependent method type errorSeth Tisue2015-11-072-3/+3
| |/ | | | | | | | | | | | | | | note to reviewers: the error messages in this file are over the place about whether they're called "parameter sections", or "argument lists", or what, so there's no point in being picky about that here for context see SI-823
* | Merge pull request #4824 from szeiger/wip/sbt-mkBinJason Zaugg2015-11-136-137/+394
|\ \ | | | | | | Improvements to the sbt build
| * | Improve version handling and scaladoc generation in sbt buildStefan Zeiger2015-11-062-91/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move version-related code into a separate VersionUtil object - Fix the canonical version. The sbt build previously took the full version including the suffix (plus timestamp and hash) whereas the ant build uses the version without the suffix - Include the version number in the generated scaladocs - Add project descriptions and include them in the scaladocs (like the ant build does) - Add other missing scaladoc options to the sbt build - Copy resources in all subprojects when building dist/mkQuick and fix `includeFilter` settings to include all required files
| * | Build scaladoc sets from sbtStefan Zeiger2015-11-052-23/+37
| | | | | | | | | | | | | | | | | | | | | - Docs for actors, compiler, library, reflect and scalap are built by default. Generated artifacts are removed when cleaning the respective subproject. - Fix some exclude patterns for scaladoc sources in the ANT build
| * | Create usable “quick” and “pack” builds from sbtStefan Zeiger2015-11-021-32/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add dependencies for scala-swing, scala-continuations-library and scala-continuations-plugin - Build all JARs for “pack” in dist/packageBin - Add “dist/mkQuick” task for building all required projects for “quick” and creating the launcher scripts - Add “dist/mkPack” task for packaging all required projects for “pack” and creating the launcher scripts - Include classes from “forkjoin” project in scala-library.jar
| * | Create shaded JLine in sbt buildStefan Zeiger2015-10-294-9/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reusing parts of #4593, this commits adds two additional subprojects to the sbt build: - repl-jline, which is already used by the ant build, builds the part of the REPL that depends on JLine. The actual JLine depenency is moved to this project. - repl-jline-shaded uses JarJar to create a shaded version of repl-jline and jline.jar. Unlike the ant build, this setup does not use any circular dependencies. dist/mkBin puts all of quick/repl, quick/repl-jline and quick/repl-jline-shaded onto the classpath of build-sbt/quick/bin/scala. A future addition to the sbt build for building build-sbt/pack will have to put the generated classfiles into the correct JARs, mirroring the old structure.
| * | Fix the dist/mkBin target in the sbt buildStefan Zeiger2015-10-271-3/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | - Set the correct unmanagedResourceDirectories for the compiler and library projects. These projects already had includeFilter definitions to copy the correct resource files to the target dirs but they were meaningless without a source dir. - Set a target path for ‘dist’ to make stream files go to the proper .gitignored dir. - Set permissions ugo+rx on all generated script and batch files.
* | Merge pull request #4809 from wpopielarski/delambdafy-multiple-outputsJason Zaugg2015-11-133-5/+78
|\ \ | | | | | | Multi output problem with delambdafied compilation
| * | Test addedwpopielarski2015-11-061-0/+73
| | |
| * | Sets source for newly created lambda classwpopielarski2015-11-051-0/+1
| | | | | | | | | | | | | | | This source is then used to figure out output folder for compilation product.
| * | Allows to propagate fatal errors when output folder not found.wpopielarski2015-11-052-23/+8
| | |
| * | Multi output problem with delambdafied compilationwpopielarski2015-11-042-9/+23
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | User code compilation with -Ybackend:GenBCode -Ydelambdafy:method fails for projects with multiple output directories. The problem has its root in a fact that some `lambdaClass` symbols the `associatedFile` field is not set. It can be done in Delambdafy.scala (`makeAnonymousClass` method) and is working for following lambda examples: {{{ package acme object Delambdafy { type -->[D, I] = PartialFunction[D, I] def main(args: Array[String]): Unit = { val result = List(1, 2, 4).map { a => val list = List("1", "2", "3").map { _ + "test" } list.find { _ == a.toString + "test" } } lazy val _foo = foo(result) { case x::xs if x isDefined => x.get.length case _ => 0 } lazy val bar: Int => Int = { case 2 => 13 case _ => val v = List(1).map(_ + 42).head v + 1 } } def foo(b: List[Option[String]])(a: List[Option[String]] => Int): Int = a(b) } }}} but is NOT working for following lambda: {{{ package acme object Delambdafy { type -->[D, I] = PartialFunction[D, I] def main(args: Array[String]): Unit = { lazy val _baz = baz { case 1 => val local = List(1).map(_ + 1) local.head } } def baz[T](f: Any --> Any): Any => Any = f } }}} so that's why source of compilation unit is used to determine output directory in case when source file is not found for symbol.
* | Merge pull request #4843 from SethTisue/scaladoc-little-d-pleaseJason Zaugg2015-11-1316-19/+19
|\ \ | | | | | | it's Scaladoc, not ScalaDoc
| * | it's Scaladoc, not "ScalaDoc" or "Scala doc"Seth Tisue2015-11-1216-19/+19
| | | | | | | | | | | | | | | renaming the existing ScalaDoc and ScalaDocReporter classes might break stuff, sadly, but at least we can fix the rest
* | | Merge pull request #4810 from ruippeixotog/fix-mutable-setlike-clearAdriaan Moors2015-11-122-1/+29
|\ \ \ | | | | | | | | SI-9497 Fix SetLike#clear() default implementation
| * | | SI-9497 Fix SetLike#clear() default implementationRui Gonçalves2015-10-212-1/+29
| | | | | | | | | | | | | | | | When dealing with mutable collections, it is not safe to assume iterators will remain consistent when the collection is modified mid-traversal. The bug reported in SI-9497 is very similar to SI-7269, "ConcurrentModificationException when filtering converted Java HashMap". Then, only the `retain` method was fixed. This commit fixes `clear`, which had the same problem.
* | | | Merge pull request #4804 from jvican/issue/9503Adriaan Moors2015-11-122-1/+3
|\ \ \ \ | | | | | | | | | | [SI-9503] Deprecate scala.collection.immutable.PagedSeq
| * | | | [SI-9503] Deprecate scala.collection.immutable.PagedSeqjvican2015-11-042-1/+3
| | | | |
* | | | | Merge pull request #4760 from ↵Adriaan Moors2015-11-125-88/+85
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | janekdb/2.11.x-collection-documentation-fixes-previously-4651 2.11.x collection documentation fixes
| * | | | Improve collections documentation and prefer () to {}vsalvis2015-10-275-88/+85
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove some duplicate method documentation that is now inherited - Whitespace edits - Rewording of method docs - Clearer usage examples - tparam alignment for some usecase tags - Prefer () to { } for do nothing bodies
* | | | Merge pull request #4833 from xuwei-k/patch-2Seth Tisue2015-11-091-5/+5
|\ \ \ \ | |/ / / |/| | | "macro" is a reserved word since Scala 2.11
| * | | "macro" is a reserved word since Scala 2.11kenji yoshida2015-11-021-5/+5
|/ / /
* | | Merge pull request #4803 from janekdb/2.11.x-conform-foreach-tparamSeth Tisue2015-10-2727-169/+170
|\ \ \ | | | | | | | | Conform foreach tparam to majority naming convention
| * | | Conform foreach tparam to majority naming conventionvsalvis2015-10-2127-169/+170
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'U' is the common choice for the foreach function result tparam. This command summarises the naming diversity before and after this change. $ fgrep -r 'def foreach[' *|cut -f2 -d:|cut -f1 -d'('|tr -s ' '|sed 's/override //g'|sort|uniq -c|sort -nr Before, 80 def foreach[U] 6 def foreach[C] 6 def foreach[B] 4 final def foreach[U] 3 def foreach[S] 2 inline final def foreach[U] 2 def foreach[A] 1 inline final def foreach[specialized 1 final def foreach[B] 1 * def foreach[U] 1 def foreach[Q] 1 def foreach[D] 1 def foreach[A,B,U] After, 98 def foreach[U] 5 final def foreach[U] 2 inline final def foreach[U] 1 inline final def foreach[specialized 1 * def foreach[U] 1 def foreach[A,B,U] (@ symbols removed.)
* | | Merge pull request #4818 from som-snytt/issue/4950-tweakJason Zaugg2015-10-272-13/+18
|\ \ \ | |_|/ |/| | SI-4950 Test reduction
| * | SI-4950 Test reductionSom Snytt2015-10-252-13/+18
|/ / | | | | | | | | | | A session test with extra filtering best expresses the intentions. No check file is required.
* | Merge pull request #4795 from SethTisue/windows-ciLukas Rytz2015-10-217-7/+32
|\ \ | | | | | | improvements to Windows build & test situation
| * | Windows CI: don't hardcode Ant path quite so hardSeth Tisue2015-10-091-1/+5
| | |
| * | add note to readme about Windows buildSeth Tisue2015-10-081-0/+2
| | |
| * | add comment about Cygwin trouble to test/partestSeth Tisue2015-10-081-0/+8
| | |
| * | add experimental Windows script for testingSeth Tisue2015-10-081-0/+11
| | | | | | | | | | | | experimental for now. destined to be automated via scala-jenkins-infra
| * | Windows: make get-scala-commit-sha/date scripts work on CygwinSeth Tisue2015-10-082-4/+4
| | | | | | | | | | | | | | | | | | bash's -x flag was flowing down into these scripts, resulting in extra stuff was getting printed to stderr, resulting in a corrupted build\pack\META-INF\MANIFEST.MF
| * | fix t7634 to work on CygwinSeth Tisue2015-10-082-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this was failing because the expected output was: res1: List[String] = List(shello, world.) but the actual output was: res1: List[String] = List(shello, world., Picked up _JAVA_OPTIONS: -Duser.home=y:\jenkins) but the "Picked up..." part caused partest's filters feature to ignore the entire line (it doesn't anchor matches to start of line.) This was a tough one to track down.
* | | Merge pull request #4800 from sjrd/remove-lingering-printlnLukas Rytz2015-10-212-4/+1
|\ \ \ | |_|/ |/| | Remove two lingering `println`s in non-debug methods of the library.
| * | Remove two lingering `println`s in non-debug methods of the library.Sébastien Doeraene2015-10-132-4/+1
| |/
* | Merge pull request #4792 from SethTisue/round-of-readme-updatesLukas Rytz2015-10-164-45/+36
|\ \ | | | | | | misc upgrades to README
| * | more readme improvementsSeth Tisue2015-10-084-36/+31
| | | | | | | | | | | | | | | | | | * be clearer about required JDK versions * eliminate redundancy with existing src/eclipse and src/intellij readmes * give IntelliJ readme a .md extension
| * | misc upgrades to READMESeth Tisue2015-10-071-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | * link to new scala/contributors room on Gitter * remove link to old disused CI * replace list of mailing lists with single link to community page * link to 2.12 nightlies too, not just 2.11 * update required JDK version info
* | | Merge pull request #4791 from performantdata/issue/9508Lukas Rytz2015-10-158-47/+17
|\ \ \ | | | | | | | | SI-9508 fix classpaths in Eclipse configuration
| * | | SI-9508 fix classpaths in Eclipse configurationPerformant Data LLC2015-10-128-47/+17
| | |/ | |/|
* | | Merge pull request #4798 from performantdata/issue/9513Seth Tisue2015-10-152-1/+60
|\ \ \ | | | | | | | | SI-9513 decrement "deleted" count in OpenHashMap.put() when slot reused
| * | | Suppress unneeded import.Performant Data LLC2015-10-141-2/+2
| | | |
| * | | Document some OpenHashMap internal methods.Performant Data LLC2015-10-101-0/+13
| | | |
| * | | SI-9513 decrement "deleted" count in OpenHashMap.put() when slot reusedPerformant Data LLC2015-10-102-1/+47
| |/ /
* | | Merge pull request #4788 from dk14/patch-1Seth Tisue2015-10-141-1/+1
|\ \ \ | | | | | | | | explicitly specify insertion-order feature in docs
| * | | explicitly specify insertion-order feature in docsdk142015-10-061-1/+1
| | |/ | |/|
* | | Merge pull request #4771 from som-snytt/issue/9492-hereSeth Tisue2015-10-144-16/+83
|\ \ \ | | | | | | | | SI-9492 REPL paste here doc