summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1586 from retronym/ticket/6247Adriaan Moors2012-11-165-15/+105
|\ | | | | Optimize primitive Array(e1, ..., en)
| * More principled tree copying.Jason Zaugg2012-11-071-1/+1
| | | | | | | | Canonical > home-spun.
| * Optimize primitive Array(e1, ..., en)Jason Zaugg2012-11-075-15/+105
| | | | | | | | | | | | | | Expands an existing optimization for reference arrays to apply to primitives, as well. Fixes one aspect of SI-6247.
* | Merge pull request #1623 from paulp/merge-2.10.xAdriaan Moors2012-11-1625-39/+219
|\ \ | | | | | | Merge 2.10.0-wip/.x into master
| | \
| | \
| *-. \ Merge remote-tracking branches 'origin/2.10.x' and 'origin/2.10.0-wip' into ↵Paul Phillips2012-11-1425-39/+219
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master Conflicts: src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
| | | * \ Merge pull request #1608 from retronym/ticket/6644Josh Suereth2012-11-142-3/+9
| | | |\ \ | | | | | | | | | | | | SI-6644 Account for varargs in extmethod forwarder
| | | | * | SI-6644 Account for varargs in extmethod forwarderJason Zaugg2012-11-102-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Which sounded difficult, so instead I offshored the work to the friendly republic of TreeGen.
| | | * | | Merge pull request #1601 from cunei/patch-1Josh Suereth2012-11-141-1/+1
| | | |\ \ \ | | | | | | | | | | | | | | Update tools/epfl-publish
| | | | * | | Update tools/epfl-publishcunei2012-11-091-1/+1
| | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, during each Scala nightly build, the epfl-publish script rsyncs the resulting dists/archives to the repository machine (chara). Now, as a result of a change introduced a while back, dists/archives/ now also contains a symbolic link, created at the end of the build when the targets "pack-archives.latest.*" are invoked (in src/build/pack.xml). That was introduced in: scala/scala@506bcfe71c93160ebfa0ca9b8b170b4b54e844e9 scala/scala@cb99853c8655686dae1288cbcd44a42cf1ea6609 This link, created in dists/archives/, is copied over as-is at the end of the rsync to chara by epfl-publish. On chara, however, the link points to an invalid target (the path is absolute). Separately, the repository directory on chara is rsync'd every 30 minutes over to the machine that serves www.scala-lang.org, via cron. Rsynch finds that the link target does not exist, and generates an email with the crontab log, which is then duly sent to a system mailbox. Every 30 minutes. Since March. Needless to say, the mailbox is pretty large by now. The fix is trivial, but this needs to be included in all the branches that are tested during the nightly. Since RC2 has just been cut, and the code frozen, I'm not sure how this change can be included without disruption; therefore, I'll just send a pull request on 2.10.0-wip, and let Josh/Paul take the appropriate steps.
| | | * | | Merge pull request #1606 from retronym/ticket/6646Adriaan Moors2012-11-134-19/+87
| | | |\ \ \ | | | | |/ / | | | |/| | SI-6646 Fix regression in for desugaring.
| | | | * | Update comment.Jason Zaugg2012-11-131-1/+2
| | | | | |
| | | | * | SI-6646 `ident` or Ident is always new binding.Jason Zaugg2012-11-133-25/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit regressed in these cases: // no withFilter for (X <- List("A single ident is always a pattern")) println(X) for (`x` <- List("A single ident is always a pattern")) println(`x`) At the top level of the LHS of a <-, such identifiers represent new bindings, not stable identifier patterns.
| | | | * | SI-6646 Fix regression in for desugaring.Jason Zaugg2012-11-104-19/+44
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | The early check in the parser of pattern irrefutability, added in c82ecab, failed to consider InitCaps and `backquoted` identifiers.
| | * | | Merge pull request #1585 from retronym/ticket/6539-2Eugene Burmako2012-11-147-0/+57
| | |\ \ \ | | | | | | | | | | | | SI-6539 Annotation for methods unfit for post-typer ASTs
| | | * | | Refine @compileTimeOnlyJason Zaugg2012-11-086-23/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't default the message, and show it exclusively. - Fix cut-and-pasto in the @since tag - Be tolerant if the annotaion class is missing, as seems to have been the case compiling the continuations plugin. - s/\t/ / in the test file to show the errors are positioned correctly. - Use defensive getOrElse
| | | * | | SI-6539 Annotation for methods unfit for post-typer ASTsJason Zaugg2012-11-067-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivated by the `.value` method in the SBT task-syntax branch, which should only be called within the context of the argument to a setting initialization macro. The facility is akin to a fatal deprecation.
| | * | | | Merge pull request #1618 from scalamacros/ticket/6662Eugene Burmako2012-11-144-1/+18
| | |\ \ \ \ | | | | | | | | | | | | | | Fix for SI-6662, macro failing too early.
| | | * | | | Fix for SI-6662, macro failing too early.Paul Phillips2012-11-144-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't give up before you try tupling. Who knows what someone might be doing with a Unit.
| | * | | | | Merge pull request #1583 from dragos/issue/fix-6616Adriaan Moors2012-11-134-9/+41
| | |\ \ \ \ \ | | | |/ / / / | | |/| | | | SI-6616 Check that unsafe operations are only called on the presentation...
| | | * | | | SI-6616 Check that unsafe operations are only called on the presentation ↵Iulian Dragos2012-11-064-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiler thread. The method that checks the actual constraint is @elidable, expecting it to be used for nightly builds but stripped-off in release builds. This way we don't lose any performance, but 'fail-fast' in IDE nightlies. This assumes that release builds will have at least `-Xelide-below ASSERTION`, but this pull request does not do that.
| | * | | | | Merge pull request #1610 from scalamacros/topic/typetags-local-classesEugene Burmako2012-11-122-2/+2
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | better error when typetagging local classes
| | | * | | | | better error when typetagging local classesEugene Burmako2012-11-122-2/+2
| | | | |/ / / | | | |/| | | | | | | | | | | | | | | | | Inspired by https://issues.scala-lang.org/browse/SI-6649
| | * | | | | Merge pull request #1609 from scalamacros/topic/showraw-nodeprintersEugene Burmako2012-11-121-1/+1
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | -Yshow-trees-compact respects other options
| | | * | | | | -Yshow-trees-compact respects other optionsEugene Burmako2012-11-111-1/+1
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The aforementioned tree printer now respects other tree printing options such as -uniqid and -Xprint-types. This helps debugging reify, which uses `nodePrinters`, not `showRaw` to print its trees, because back then `showRaw` didn't exist yet.
| | * | | | | Merge pull request #1602 from gkossakowski/wrong-implicit-classTagAdriaan Moors2012-11-121-3/+3
| | |\ \ \ \ \ | | | |/ / / / | | |/| | | | Fix type of the custom `ClassTag` in `PatternMatching.scala`
| | | * | | | Fix type of the custom `ClassTag` in `PatternMatching.scala`Grzegorz Kossakowski2012-11-091-3/+3
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In fb315772 custom ClassTags were introduced to optimize array creation in hot places. The idea was that if `Array[T]` is allocated through `ClassTag[T]` (which is essentially a factory for Array[T]) we would introduce a custom class implementing `ClassTag[T]` interface and would have specialized array allocation instruction instead of having reflective call as it's being done with default (compiler synthesized) implementation of `ClassTag[T]`. In case of `PatternMatching.scala` I made a mistake of providing `ClassTag[Array[Clause]]` instead of `ClassTag[Clause]` so that value would never be used and compiler still would resolve implicit through default mechanism. This has been discovered thanks to @paulp's work on unused value detection. Review by @paulp.
| | * | | | Merge pull request #1574 from jsuereth/merge-2.10.0Adriaan Moors2012-11-051332-3797/+1970
| | |\ \ \ \ | | | |/ / / | | |/| | | Merge 2.10.0-RC2 into 2.10.x
* | | | | | Merge pull request #1592 from adriaanm/guidelines-masterAdriaan Moors2012-11-161-0/+66
|\ \ \ \ \ \ | | | | | | | | | | | | | | show developer guidelines on opening pull request
| * | | | | | show developer guidelines on opening pull requestAdriaan Moors2012-11-081-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes "Improvements and typo fixes to CONTRIBUTING.md" by @heathercmiller as well as feedback from @retronym.
* | | | | | | Merge pull request #1622 from adriaanm/paulp-issue/5330-2Adriaan Moors2012-11-165-3/+61
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-5330, SI-6014 deal with existential self-type
| * | | | | | | SI-5330, SI-6014 deal with existential self-typePaul Phillips2012-11-145-3/+61
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken since https://github.com/scala/scala/commit/b7b81ca2#L0L567. The existential rash is treated in a similar manner as in fc24db4c. Conceptually, the fix would be `def selfTypeSkolemized = widen.skolemizeExistential.narrow`, but simply widening before narrowing achieves the same thing. Since we're in existential voodoo territory, let's go for the minimal fix: replacing `this.narrow` by `widen.narrow`. -- Original patch by @retronym in #1074, refined by @paulp to only perform widen.narrow incantation if there are existentials present in the widened type, as narrowing is expensive when the type is not a singleton. The result is that compiling the entirety of quick, that code path is hit only 143 times. All the other calls hit .narrow directly as before. It looks like the definition of negligible in the diff of -Ystatistics when compiling src/library/scala/collection: < #symbols : 306315 --- > #symbols : 306320 12c13 < #unique types : 293859 --- > #unique types : 293865 I'm assuming based on the 2/1000ths of a percent increase in symbol and type creation that wall clock is manageable, but I didn't measure it.
* | | | | | | Merge pull request #1629 from paulp/issue/6355Paul Phillips2012-11-154-1/+27
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Error for SI-6355, overloading of applyDynamic.
| * | | | | | | Error for SI-6355, overloading of applyDynamic.Paul Phillips2012-11-144-1/+27
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As long as it can never be called anyway, seems like we'd be doing people a kindness to fail the compile rather than letting it be ambiguous at every use site.
* | | | | | | Merge pull request #1627 from paulp/issue/6664Paul Phillips2012-11-154-7/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix for SI-6664, cycle in case classes.
| * | | | | | | Fix for SI-6664, cycle in case classes.Paul Phillips2012-11-144-7/+17
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scope lookup of an overloaded symbol was accidentally forcing some lazy info. Since as usual the caller didn't even have any interest in the symbol, but only in whether the name existed at all, I changed it call the method I made for this exact purpose, containsName. Also I much reduced the number of checks being made in the quest for an inherited copy method.
* | | | | | | Merge pull request #1631 from paulp/typed-applyPaul Phillips2012-11-151-43/+25
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Lower confusion levels in typedApply.
| * | | | | | | Lower confusion levels in typedApply.Paul Phillips2012-11-141-43/+25
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's the usual thing, making logic more logical and removing comments which are incorrect and/or no longer useful.
* | | | | | | Merge pull request #1632 from paulp/ack-flagPaul Phillips2012-11-151-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix bug in partest-ack.
| * | | | | | | Fix bug in partest-ack.Paul Phillips2012-11-141-1/+1
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunate bug was making it far less useful than it was supposed to be. Now it really does look in scala/check/flags files, here are examples of things which work: % tools/partest-ack "input ended while parsing XML" Found 6 tests matching 'ack input ended while parsing XML' % tools/partest-ack Xlint Found 11 tests matching 'ack Xlint' % tools/partest-ack -- -language:experimental.macros Found 143 tests matching 'ack -- -language:experimental.macros' % tools/partest-ack @unchecked Found 13 tests matching 'ack @unchecked'
* | | | | | | Merge pull request #1630 from jedesah/masterPaul Phillips2012-11-141-2/+2
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix Documentation Typo
| * | | | | | Fix Documentation TypoJean-Remi Desjardins2012-11-141-2/+2
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a typo on the if. I also thought it might be worth rephrasing the paragraph because it seemed a bit contrived. It's a trivial fix, but it would allow us to close a bug in the issue tracker which seems worthwhile to me.
* | | | | | Merge pull request #1613 from paulp/mutable-settingsPaul Phillips2012-11-134-22/+608
|\ \ \ \ \ \ | | | | | | | | | | | | | | Address obvious bug in MutableSettings.
| * | | | | | Address obvious bug in MutableSettings.Paul Phillips2012-11-134-22/+608
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If x startsWith "-" it seems unlikely that x == "". Free with purchase: test case with 100 argument permutations. That's only a smidgen shy of infinity.
* | | | | | | Merge pull request #1599 from jannic/SI-6637Paul Phillips2012-11-133-11/+20
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | SI-6637
| * | | | | | Fix SI-6637 (misoptimization in erasure)Jan Niehusmann2012-11-093-11/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | Move the optimization one level deeper so the expression being tested with isInstanceOf is always evaluated.
* | | | | | Merge pull request #1600 from jannic/t2318Paul Phillips2012-11-121-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | fix t2318.scala
| * | | | | | fix t2318.scalaJan Niehusmann2012-11-091-1/+2
| |/ / / / /
* | | | | | Merge pull request #1604 from paulp/fix-mergePaul Phillips2012-11-092-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix merge error.
| * | | | | | Fix merge error.Paul Phillips2012-11-092-1/+2
|/ / / / / / | | | | | | | | | | | | | | | | | | I fixed that already and somehow it didn't appear in my push.
* | | | | | Merge pull request #1573 from paulp/repl-checkinPaul Phillips2012-11-0916-607/+550
|\ \ \ \ \ \ | | | | | | | | | | | | | | Revamp of some repl mechanisms.