summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2996 from paulp/pr/3971Jason Zaugg2013-09-274-1/+47
|\ | | | | SI-3971 error message carat mispoints at curried methods.
| * SI-3971 error message carat mispoints at curried methods.Paul Phillips2013-09-274-1/+47
| | | | | | | | | | | | | | | | | | | | | | Point at the beginning of the first argument list when reporting an error, as this is most easily associated with the application taking place (which may involve multiple applies in succession.) Thanks to retronym for figuring out why issuing a better error message broke the compiler on non-erroneous compile runs. The changes to "treesInResult" are the consequence.
* | Merge pull request #2998 from paulp/pr/6120Paul Phillips2013-09-2718-18/+130
|\ \ | | | | | | SI-6120 multiple warnings at same position.
| * | SI-6120 multiple warnings at same position.Paul Phillips2013-09-2718-18/+130
| |/ | | | | | | | | An error suppresses all further warnings at the same position, but multiple warnings can be heard.
* | Merge pull request #2987 from paulp/pr/emptySelfTypePaul Phillips2013-09-2728-57/+57
|\ \ | | | | | | SI-6762 rename emptyValDef to emptySelfType.
| * | SI-6762 rename emptyValDef to noSelfType.Paul Phillips2013-09-2728-57/+57
| |/ | | | | | | | | Looks like emptyValDef.isEmpty was already changed to return false, so now all that's left is a name which means something.
* | Merge pull request #2995 from paulp/pr/defaultparamJason Zaugg2013-09-276-14/+15
|\ \ | | | | | | Fix up DEFAULTPARAM semantics.
| * | Fix up DEFAULTPARAM semantics.Paul Phillips2013-09-276-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I foolishly believed the deprecation message on "hasDefaultFlag" which suggested I use "hasDefault" instead. After lots of head scratching, I hardened the semantics so it's like this: - A method parameter with a default value is PARAM | DEFAULTPARAM - A default getter for such a parameter is METHOD | DEFAULTPARAM - And "hasDefault" is has(DEFAULTPARAM) && has(PARAM | METHOD) Why all the bonus logic, why not just hasFlag(DEFAULTPARAM)? For some reason we have a handful of overloaded flags spanning uses which someone apparently thinks can never intersect but I have not been so lucky overall. So since DEFAULTPARAM is overloaded with TRAIT, unless we think it's fine that default getters and method parameters with defaults will pose as traits all the time, there has to be an anchor bit alongside it.
* | | Merge pull request #2963 from sjrd/topic/hooks-for-scala-jsAdriaan Moors2013-09-272-4/+17
|\ \ \ | | | | | | | | Small refactorings giving hooks for Scala.js
| * | | Move logic checking valid names from ClassPath to ClassPathContextSébastien Doeraene2013-09-231-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other methods taking the same kind of decisions were already in ClassPathContext, e.g., isValidName() or, in some sense, even toBinaryName(). This makes ClassPath itself be completely agnostic of how particular kinds of files or directories are named. It also allows to override this logic at the context level. Without it, overriding this logic required a fair amount of code duplication from ClassPath.
| * | | Add back the newClassLoader hook in SymbolLoaders.Sébastien Doeraene2013-09-231-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was previously an overridable method of Platform. The loader creation was moved in afbee09c8e0e7b1a4da1f8517c723dad9f1adb6f directly in SymbolLoaders, but inside a method doing more logic, namely initializeFromClassPath(). This commit simply moves the actual creation of the class loader (`new ClassfileLoader(bin)`) into its own method `newClassLoader`, but in SymbolLoaders. This allows to override only that method in subclasses of SymbolLoaders.
* | | | Merge pull request #2997 from retronym/merge/2.10.x-to-master-2Adriaan Moors2013-09-2710-15/+144
|\ \ \ \ | |_|_|/ |/| | | Merge 2.10.x to master
| * | | Merge remote-tracking branch 'origin/2.10.x' into merge/2.10.x-to-master-2Jason Zaugg2013-09-2710-15/+144
| |\ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: bincompat-backward.whitelist.conf bincompat-forward.whitelist.conf build.xml src/compiler/scala/tools/nsc/typechecker/RefChecks.scala src/library/scala/concurrent/Future.scala src/reflect/scala/reflect/internal/Types.scala
| | * | Merge pull request #2983 from retronym/merge/2.10.3-to-2.10.xJason Zaugg2013-09-244-13/+119
| | |\ \ | | | | | | | | | | Merge/2.10.3 to 2.10.x
| | | * | Merge remote-tracking branch 'origin/2.10.3' into merge/2.10.3-to-2.10.xJason Zaugg2013-09-244-13/+119
| | |/| |
| | | * | Merge pull request #2976 from retronym/backport/7862v2.10.3-RC3v2.10.3Jason Zaugg2013-09-231-6/+48
| | | |\ \ | | | | | | | | | | | | [nomaster] SI-7862: MANIFEST.MF file for Scala sources
| | | | * | [nomaster] SI-7862: MANIFEST.MF file for Scala sourcesIulian Dragos2013-09-231-6/+48
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to be able to use published Scala jars as OSGi bundles in the Eclipse build, Eclipse needs to match sources and binaries. That is done by making source jars *source bundles*. This PR adds the required manifest entries. Nothing else should be affected (file names remain the same). Cherry picked from 655b7d2601d7db9e98bb405da0a67c9068c98626 Conflicts: build.xml After this commit: ``` % ant -q dist.src % for f in dists/scala-2.10.3-20130921-144112-892aa93cf7/src/*.jar; do \ echo $f \ unzip -p $f META-INF/MANIFEST.MF \ done dists/scala-2.10.3-20130921-144112-892aa93cf7/src/fjbg-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) dists/scala-2.10.3-20130921-144112-892aa93cf7/src/msil-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-actors-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) Bundle-Name: Scala Actors Sources Bundle-SymbolicName: org.scala-lang.scala-actors.source Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7 Eclipse-SourceBundle: org.scala-lang.scala-actors;version="2.10.3.v201 30921-144112-892aa93cf7";roots:="." dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-compiler-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) Bundle-Name: Scala Compiler Sources Bundle-SymbolicName: org.scala-lang.scala-compiler.source Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7 Eclipse-SourceBundle: org.scala-lang.scala-compiler;version="2.10.3.v2 0130921-144112-892aa93cf7";roots:="." dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-library-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) Bundle-Name: Scala Library Sources Bundle-SymbolicName: org.scala-lang.scala-library.source Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7 Eclipse-SourceBundle: org.scala-lang.scala-library;version="2.10.3.v20 130921-144112-892aa93cf7";roots:="." dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-partest-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-reflect-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) Bundle-Name: Scala Reflect Sources Bundle-SymbolicName: org.scala-lang.scala-reflect.source Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7 Eclipse-SourceBundle: org.scala-lang.scala-reflect;version="2.10.3.v20 130921-144112-892aa93cf7";roots:="." dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scala-swing-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) Bundle-Name: Scala Swing Sources Bundle-SymbolicName: org.scala-lang.scala-swing.source Bundle-Version: 2.10.3.v20130921-144112-892aa93cf7 Eclipse-SourceBundle: org.scala-lang.scala-swing;version="2.10.3.v2013 0921-144112-892aa93cf7";roots:="." dists/scala-2.10.3-20130921-144112-892aa93cf7/src/scalap-src.jar Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_37-b06-434-11M4509 (Apple Inc.) ```
| | | * | Merge pull request #2969 from retronym/ticket/7861Jason Zaugg2013-09-213-7/+71
| | | |\ \ | | | | | | | | | | | | SI-7861 Don't execute internal callbacks on the user Executor
| | | | * | SI-7861 Don't execute internal callbacks on the user ExecutorJason Zaugg2013-09-213-7/+71
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Callbacks internal to the implementation of Futures should be executed with the `InternalCallbackExecutor`, rather than the user supplied `Executor`. In a refactoring da54f34a6, `recoverWith` and `flatMap` no longer played by these rules. This was noticed by a persnickety test in Play. Before this patch, the enclosed test outputs: % scala-hash v2.10.3-RC2 test/files/run/future-flatmap-exec-count.scala mapping execute() flatmapping execute() execute() recovering execute() execute()
| | | * | Merge pull request #2906 from retronym/merge/2.10.x-to-2.10.3v2.10.3-RC2Grzegorz Kossakowski2013-09-1252-319/+2169
| | | |\ \ | | | | | | | | | | | | Merge/2.10.x to 2.10.3
| | | | * \ Merge remote-tracking branch 'origin/2.10.x' into merge/2.10.x-to-2.10.3Jason Zaugg2013-09-1226-225/+412
| | | | |\ \
| | | | * | | Merge remote-tracking branch 'origin/2.10.x' into merge/2.10.x-to-2.10.3Jason Zaugg2013-09-0430-94/+1757
| | | |/| | |
| | | * | | | Merge pull request #2878 from JamesIry/2.10.3James Iry2013-08-2718-30/+100
| | | |\ \ \ \ | | | | | | | | | | | | | | | | Merge 2.10.2 into 2.10.3
| | | | * \ \ \ Merge branch '2.10.2' into 2.10.3James Iry2013-08-2618-30/+100
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
| | * | | \ \ \ \ Merge pull request #2919 from retronym/ticket/7815Jason Zaugg2013-09-232-2/+32
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|/ / | | |/| | | | | | SI-7815 Dealias before deeming method type as dependent
| | | * | | | | | SI-7815 Dealias before deeming method type as dependentJason Zaugg2013-09-072-2/+32
| | | | |_|_|/ / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To enable eta-expansion of method types seen from a prefix that renders the result type as independent from the parameter symbols. The enclosed test shows that we dealias types before checking dependence, and that we do this deeply (e.g. type arguments are also dealised.) An existing test, neg/error_dependentMethodTpeConversionToFunction, confirms that bona-fide dependent methods are still prohibited from eta expansion.
| | * | | | | | Merge pull request #2893 from adriaanm/backport-2880-2.10.xGrzegorz Kossakowski2013-09-112-3/+3
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | update typesafe.artifactory-online.com to private-repo
| | | * | | | | | update typesafe.artifactory-online.com to private-repoFrançois Garillot2013-08-292-3/+3
| | | | | | | | |
| | * | | | | | | Merge pull request #2882 from adriaanm/license-cleanup-2.10.xGrzegorz Kossakowski2013-09-111-32/+24
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Change Scala license to unmodified 3-clause BSD.
| | | * | | | | | | Change Scala license to unmodified 3-clause BSD.Adriaan Moors2013-09-031-32/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No longer using the slightly reworded 3-clause BSD license. This does not change the meaning of the license, just aligns it with the standard wording.
| | * | | | | | | | Merge pull request #2923 from retronym/ticket/7825Grzegorz Kossakowski2013-09-116-6/+73
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7825 Consider DEFAULTMETHOD when refchecking concreteness
| | | * | | | | | | | SI-7398 Enable test for Java 8 source parser under Java 8Jason Zaugg2013-09-101-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to skip it as it only depends on our changes to our JavaParser, and not on any bytecode features of Java 8.
| | | * | | | | | | | SI-7825 Consider DEFAULTMETHOD when refchecking concretenessJason Zaugg2013-09-105-2/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A class should not be required to implement a Java default method. This commit uses `isDeferredNotDefault` in place of `isDeferred` when finding unimplemented methods. The test itself does not depend on Java 8 as we use scalac's Java source parser to set things up.
* | | | | | | | | | | Merge pull request #2999 from retronym/topic/mailmap-francoisJason Zaugg2013-09-271-0/+1
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | | A .mailmap entry for @huitseeker
| * | | | | | | | | | A .mailmap entry for @huitseekerJason Zaugg2013-09-271-0/+1
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, the release notes generator considers him as two distinct beings: List(F, r, a, n, c, ̧, o, i, s, , G, a, r, i, l, l, o, t) List(F, r, a, n, ç, o, i, s, , G, a, r, i, l, l, o, t)
* | | | | | | | | | Merge pull request #2979 from retronym/ticket/7870Jason Zaugg2013-09-263-3/+12
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | SI-7870 Detect default getter clashes in constructors
| * | | | | | | | | | SI-7870 Detect default getter clashes in constructorsJason Zaugg2013-09-233-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default getters for constructors live in the companion module. These eluded the check for clashes in default getter names due to overloading, which aims to give a more user friendly error than "double definition: meth$default$1". This commit checks for default getters in the companion module, in addition to those in the template itself.
* | | | | | | | | | | Merge pull request #2990 from retronym/ticket/7876Jason Zaugg2013-09-268-7/+81
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Scaladoc regression with Function / Tuple type constructors
| * | | | | | | | | | | SI-7876 Less dealiasing in Scaladoc's type printing.Jason Zaugg2013-09-264-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scaladoc renders tuple and function types with the syntactic sugar. To do so, it was using `isFunctionType` and `isTupleType`. Internally, these methods dealias, so one can't simply take the type arguments from the given type to get the element types of the tuple. In ac96200c92, a Scaladoc crasher in this area was resolved by normalizing a type before extracting Tuple type arguments. Similar code already existed in the handling of FunctionTypes. This commit goes in the opposite direction, and instead queries the `direct` versions of those methods, which do not perform dealiasing. Conseqeuently, the type aliases that appear in the source code signatures for members will be rendered as such in Scaladoc. Which seems like an improvement.
| * | | | | | | | | | | SI-7876 Scaladoc crasher due to regression in isFunctionType.Jason Zaugg2013-09-264-2/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `isFunctionType` and `isTupleType` started returing true for type constructors as of aeb73314. This led to a crash in type printing in ScalaDoc (specfically, in ModelFactoryTypeSupport.scala) This commit: - fixes those methods by guarding with !isHigherKinded - unit tests said methods - tests the reported crasher with a ScalaDoc test.
* | | | | | | | | | | | Merge pull request #2988 from sschaef/remove-octal-literalsAdriaan Moors2013-09-264-25/+25
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | Remove octal escape literals from the codebase
| * | | | | | | | | | | Remove octal escape literals from the codebaseSimon Schaefer2013-09-254-25/+25
|/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Octal escape literals are deprecated and will be removed in the next Scala version.
* | | | | | | | | | | Merge pull request #2982 from retronym/topic/checkinitAdriaan Moors2013-09-243-0/+9
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | SI-4742 Make -Xcheckinit aware of constants.
| * | | | | | | | | | | SI-4742 Make -Xcheckinit aware of constants.Jason Zaugg2013-09-243-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Members defined as `final val x = <literal>` are given a ConstantType. The constant is folded into the accessor method `x`, and the field itself is never initialized. (Related discussion: SI-4605) As such, -Xcheckinit spuriously warns when calling that accessor. This commit disables the checks for constants. This will also fix the checkinit build (failure tracked as SI-7839), which is the victim of this a spurious scolding.
* | | | | | | | | | | | Merge pull request #2980 from huitseeker/revert-2957Jason Zaugg2013-09-2461-530/+482
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | Revert #2957
| * | | | | | | | | | | Add position check for regression introduced by #2957François Garillot2013-09-242-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The starting bound for ValDefs in #2957 is distinct from the expected result, e.g. [4:9]val x = [8:9]0 instead of [0:9]val x = [8:9]0
| * | | | | | | | | | | Revert "Merge pull request #2957 from paulp/pr/parser-improvements"François Garillot2013-09-2459-530/+426
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 884e1ce762d98b29594146d37b85384581d9ba96, reversing changes made to f6fcc4431f272c707d49de68add532c452dd4b0f.
* | | | | | | | | | | | Merge pull request #2975 from retronym/ticket/7868Jason Zaugg2013-09-235-4/+43
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | | SI-7868 Account for numeric widening in match translation
| * | | | | | | | | | | SI-7868 Account for numeric widening in match translationJason Zaugg2013-09-235-4/+43
| |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pattern match translation was unprepared for trees of the shape: (0: Short) match { case A.unapply(<unapply-selector>.toInt) <unapply> (_) => () case _ => () } While a scrutinee is inelibigle for implicit views in order to conform to the type of the extractor call, it is allowed to weakly conform. In this case, the typechecker will add the numeric widening with a `toInt` call. This commit: - Changes treeInfo.Unapplied to recognize this tree shape - Changes spliceApply to recognize and preserve the widening when substituting the unapply selector with the binder - Tests reification of such pattern matches, which also depends on treeInfo.Unapplied.
* | | | | | | | | | | Merge pull request #2938 from Ichoran/issue/7725Jason Zaugg2013-09-231-3/+26
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | SI-7725 - Vector concatenation is unreasonably slow