summaryrefslogtreecommitdiff
path: root/test/files/neg
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'scala/2.10.x' into patmat-refactor-masterAdriaan Moors2013-02-121-0/+6
|\ | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/Implicits.scala
| * silences t6323aEugene Burmako2013-02-111-0/+6
| | | | | | | | | | | | Tag materialization notices enabled with -Xlog-implicits are now echoes not printlns. Therefore, they go into stderr, not stdout, getting logged by partest and not spamming stdout of partest.
* | Merge pull request #2057 from paulp/pr/revert-6355Paul Phillips2013-02-122-2/+11
|\ \ | | | | | | SI-6355, weakend implementation restriction on applyDynamic.
| * | SI-6355, weakend implementation restriction on applyDynamic.Paul Phillips2013-02-122-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I realized one can successfully call an overloaded applyDynamic, under conditions such as these: def applyDynamic[T1](m: String)(x1: T1): Any = 1 def applyDynamic[T1, T2](m: String)(x: T1, y: T2): Any = 2 def applyDynamic[T1, T2, T3](m: String)(x: T1, y: T2, z: T3): Any = 3 So I weakened the overloading restriction to allow overloading if each method has a distinct number of type parameters. This very likely still allows the creation of uncallable overloads, but an overly restrictive rule is worse. If the overload cannot be called, it will still be discovered at the call site.
* | | Maintenance of Predef.Paul Phillips2013-02-128-15/+15
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Deprecates much of Predef and scala.Console, especially: - the read* methods (see below) - the set{Out,Err,In} methods (see SI-4793) 2) Removed long-deprecated: - Predef#exit - Predef#error should have gone, but could not due to sbt At least the whole source base has now been future-proofed against the eventual removal of Predef#error. The low justification for the read* methods should be readily apparent: they are little used and have no call to be in global namespace, especially given their weird ad hoc semantics and unreasonably tempting names such as readBoolean(). 3) Segregated the deprecated elements in Predef from the part which still thrives. 4) Converted all the standard Predef implicits into implicit classes, value classes where possible: - ArrowAssoc, Ensuring, StringFormat, StringAdd, RichException (value) - SeqCharSequence, ArrayCharSequence (non-value) Non-implicit deprecated stubs prop up the names of the formerly converting methods.
* | Merge remote-tracking branch 'origin/2.10.x' into merge-210Paul Phillips2013-02-107-10/+21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/2.10.x: Fix for paramaccessor alias regression. Expanded bytecode testing code. SI-5675 Discard duplicate feature warnings at a position accommodates pull request feedback term and type reftrees are now reified uniformly SI-6591 Reify and path-dependent types SI-7096 SubstSymMap copies trees before modifying their symbols SI-6961 no structural sharing in list serialization SI-6187 Make partial functions re-typable [backport] SI-6478 Fixing JavaTokenParser ident SI-7100 Fixed infinite recursion in duplicators SI-6146 More accurate prefixes for sealed subtypes. SI-5082 Cycle avoidance between case companions SI-6113 typeOf now works for type lambdas SI-5824 Fix crashes in reify with _* SI-7026: parseTree should never return a typed one SI-7070 Turn restriction on companions in pkg objs into warning Conflicts: src/compiler/scala/reflect/reify/codegen/GenSymbols.scala src/compiler/scala/tools/nsc/typechecker/PatternMatching.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/compiler/scala/tools/reflect/ToolBoxFactory.scala src/library/scala/collection/immutable/List.scala src/reflect/scala/reflect/internal/TreeInfo.scala src/reflect/scala/reflect/internal/Types.scala src/reflect/scala/reflect/internal/settings/MutableSettings.scala src/reflect/scala/reflect/runtime/Settings.scala test/files/buildmanager/t2650_1/t2650_1.check test/files/buildmanager/t2657/t2657.check test/files/neg/t3234.check test/files/run/idempotency-this.check test/files/run/macro-typecheck-macrosdisabled2.check test/files/run/showraw_tree.check test/files/run/showraw_tree_ids.check test/files/run/showraw_tree_kinds.check test/files/run/showraw_tree_types_ids.check test/files/run/showraw_tree_types_typed.check test/files/run/showraw_tree_types_untyped.check test/files/run/showraw_tree_ultimate.check test/files/run/t2886.check test/files/run/t5225_2.check test/files/run/t5374.check test/files/run/t5374.scala test/files/run/t6329_repl.check test/files/run/toolbox_typecheck_macrosdisabled2.check
| * Merge pull request #2095 from hubertp/ticket/5675James Iry2013-02-084-1/+11
| |\ | | | | | | SI-5675 Discard duplicate feature warnings at a position
| | * SI-5675 Discard duplicate feature warnings at a positionJason Zaugg2013-02-084-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When -feature has not been enabled, we were double counting identical feature warnings that were emitted at the same position. Normal error reporting only reports the first time a warning appears at a position; feature warning counter incrementing should behave the same way. @hubertp: Fixed .check files that were broken in the original commit.
| * | Merge pull request #2017 from retronym/ticket/6666James Iry2013-02-0810-32/+105
| |\ \ | | | | | | | | Booking more progress on SI-6666
| * \ \ Merge pull request #2079 from JamesIry/2.10.x_SI-7070James Iry2013-02-073-6/+7
| |\ \ \ | | | | | | | | | | SI-7070 Turn restriction on companions in pkg objs into warning
| | * | | SI-7070 Turn restriction on companions in pkg objs into warningJames Iry2013-02-063-6/+7
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation restriction created from SI-5954 in 3ef487ecb6733bfe3c13d89780ebcfc81f9a5ea0 has two problems. 1) The problematic code works fine if compile with sbt. That means the restriction is breaking some people needlessly. 2) It's not binary compatible. To fix all that this commit changes the error into a warning and removes the setting used to get around the restriction.
| * | | Merge pull request #2068 from scalamacros/ticket/7064Adriaan Moors2013-02-0710-13/+28
| |\ \ \ | | | | | | | | | | [nomaster] SI-7064 Reflection: forward compat for 2.10.1
| | * | | [nomaster] Revert "refactors handling of parent types"Eugene Burmako2013-02-057-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 40063b0009d55ed527bf1625d99a168a8faa4124. Conflicts: src/compiler/scala/tools/nsc/ast/parser/Parsers.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala
| | * | | [nomaster] Revert "introduces global.pendingSuperCall"Eugene Burmako2013-02-053-3/+6
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0ebf72b9498108e67c2133c6522c436af50a18e8. Conflicts: src/compiler/scala/tools/nsc/typechecker/Typers.scala src/reflect/scala/reflect/internal/Trees.scala
| | | |
| \ \ \
| \ \ \
| \ \ \
*---. \ \ \ Merge commit 'b43ae58f31'; commit 'b579a42ee3'; commit '81fa831609' into ↵Paul Phillips2013-02-1010-32/+105
|\ \ \ \ \ \ | | | |/ / / | | |/| | / | | | | |/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge-210 * commit 'b43ae58f31': introduces an exhaustive java-to-scala test SI-6989 privateWithin is now populated in reflect * commit 'b579a42ee3': SI-6888 Loosen criteria for $outer search. * commit '81fa831609': Class symbols can't be contravariant. SI-6666 Catch VerifyErrors in the making in early defs. Broader checks for poisonous this references. Add a test case from the comments of SI-6666. SI-6666 Account for nesting in setting INCONSTRUCTOR Move a test from pos to run to highlight bytecode deficiencies. Conflicts: src/compiler/scala/tools/nsc/interpreter/IMain.scala
| | | * | SI-6666 Catch VerifyErrors in the making in early defs.Jason Zaugg2013-02-022-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we did for self/super calls, add a backstop into explicitouter and lambdalift to check when we try to get an outer pointer to an under-construction instance.
| | | * | Broader checks for poisonous this references.Jason Zaugg2013-02-0210-49/+90
| | | | | | | | | | | | | | | | | | | | Replaces more VerifyErrors with implementation restrictions.
| | | * | Add a test case from the comments of SI-6666.Jason Zaugg2013-02-022-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | This one lands in the new implementation restriction which beats the VerifyError.
* | | | | Merge commit '81d8f9d3da' into merge-210Paul Phillips2013-02-092-1/+7
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * excluded from merge: [nomerge] SI-6667 Demote a new ambiguity error to a lint warning. Revert "SI-6422: add missing Fractional and Integral alias in scala package" [backport] SI-6482, lost bounds in extension methods. * commit '81d8f9d3da': (31 commits) reflecting @throws defined in Scala code pullrequest feedback SI-5833 Fixes tail-of-Nil problem in RefinedType#normalizeImpl SI-6017 Scaladoc: Show all letters without dangling links SI-6017 Generate Scaladoc's index links in Scala side SI-5313 Minor code cleanup for store clobbering SI-5313 Test clobbers on the back edge of a loop SI-7033 Be symful when creating factory methods. SI-7022 Additional test case for value class w. bounds SI-7039 unapplySeq result type independent of subpattern count evicts javac-artifacts.jar SI-7008 @throws annotations are now populated in reflect Fix SI-6578. Deprecated `askType` because of possible race conditions in type checker. SI-7029 - Make test more robust SI-7029 - Makes sure that uncaught exceptions are propagated to the UEH for the global ExecutionContext SI-6941 tests SI-6686 drop valdef unused in flatMapCond's block ... Conflicts: src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala src/reflect/scala/reflect/internal/Definitions.scala
| * | | | [nomerge] SI-6667 Demote a new ambiguity error to a lint warning.Jason Zaugg2013-02-044-2/+6
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | In the interests of not breaking source compability. A few projects are relying on this bug. Should not be merged to master.
| * | | Merge pull request #2022 from lrytz/analyzerPlugins210Lukas Rytz2013-02-033-3/+32
| |\ \ \ | | | | | | | | | | Analyzer Plugins
| * \ \ \ Merge pull request #2019 from scalamacros/ticket/6539Eugene Burmako2013-02-012-1/+7
| |\ \ \ \ | | | | | | | | | | | | SI-6539 moves @compileTimeOnly away from scala-reflect
| | * | | | SI-6539 moves @compileTimeOnly away from scala-reflectEugene Burmako2013-01-312-1/+7
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The move is done to provide forward compatibility with 2.10.0. The annotation isn't replaced with one of the macro-based solutions right away (see comments for more information about those), because we lack necessary tech in 2.10.x.
* | | | | Merge commit 'f3cdf146709e0dd98533ee77e8ca2566380cb932'Lukas Rytz2013-02-043-3/+32
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/Contexts.scala src/compiler/scala/tools/nsc/typechecker/Namers.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/continuations/plugin/scala/tools/selectivecps/CPSAnnotationChecker.scala src/reflect/scala/reflect/internal/AnnotationCheckers.scala src/reflect/scala/reflect/internal/Symbols.scala
| * | | | SI-1803, plus documentation and cleanups in Namers, mainly in typeSigLukas Rytz2013-02-033-3/+32
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - when typing (and naming) a ValDef, tpt and rhs are now type checked in the same context (the inner / ValDef context). this does not change any behavior, but is more uniform (same as for DefDef). martin told me (offline) that this change is desirable if it doesn't break anything. (it doesn't). - typeSig is now more uniform with a separate method for each case (methodSig, valDefSig, etc). methodSig was cleaned up (no more variables) and documented. the type returned by methodSig no longer contains / refers to type skolems, but to the actual type parameters (so we don't need to replace the skolems lateron). - documentation on constructor contexts, type skolems - more tests for SI-5543
| * | | Merge pull request #1975 from retronym/ticket/6601-revertJames Iry2013-02-013-8/+0
| |\ \ \ | | | | | | | | | | Revert "SI-6601 Publicise derived value contstructor after pickler"
| | * | | Revert "SI-6601 Publicise derived value contstructor after pickler"Jason Zaugg2013-01-263-8/+0
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b07228aebe7aa620af45a681ef60d945ffc65665. The remedy was far worse than the disease: % cat sandbox/test.scala class V private (val a: Any) extends AnyVal % RUNNER=scalac scala-hash b07228aebe sandbox/test.scala [info] b07228aebe => /Users/jason/usr/scala-v2.10.0-256-gb07228a % scala-hash b07228aebe [info] b07228aebe => /Users/jason/usr/scala-v2.10.0-256-gb07228a Welcome to Scala version 2.10.1-20130116-230935-b07228aebe (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_27). Type in expressions to have them evaluated. Type :help for more information. scala> def foo(v: V) = v.a == v.a exception when typing v.a().==(v.a())/class scala.reflect.internal.Trees$Apply constructor V in class V cannot be accessed in object $iw in file <console> scala.reflect.internal.Types$TypeError: constructor V in class V cannot be accessed in object $iw
| * | | Merge pull request #1980 from retronym/backport/1518Adriaan Moors2013-02-014-0/+47
| |\ \ \ | | | | | | | | | | [backport] SI-2968 Fix brace healing for `^case (class|object) {`
| | * | | [backport] SI-2968 Fix brace healing for `^case (class|object) {`Jason Zaugg2013-01-264-0/+47
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit 24828531f62ce05402c96c04d7096e82d5f4e3bf Author: Jason Zaugg <jzaugg@gmail.com> Date: Sun Oct 21 23:34:35 2012 +0200 SI-2968 Fix brace healing for `^case (class|object) {` The scanner coalesces the pair of tokens into CASEOBJECT or CASECLASS, but fails to set `offset` back to the start of `case`. Brace healing is then unable to correctly guess the location of the missing brace. This commit resets `offset` and `lastOffset`, as though caseobject were a single keyword. Only the former was neccessary to fix this bug; I haven't found a test that shows the need for the latter. (cherry picked from commit cbad218dba47d49a39897b86d467c384538fdd53)
* | | | Cleaning up after brutal merge of 2.10.x into master.Paul Phillips2013-02-024-35/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's the best I can do. The tests pass, if someone wants a cleaner merge it is all theirs. For reference, the merge leading up to this commit was achieved as follows. The lines with -s ours are where the merge commit being merged was completely made up of backports from master. git merge -s ours eff78b852e c1dd8bbaa4 && \ git merge 7026376dcc ccd7abe897 && \ git merge -s ours 62681e191a && \ git merge 74b3e9aefe 7d80e08469 d24f341f08 c4f49759fe \ 27d73a2352 ba72ee7c6f 42c4cc7a1e d672102fd8 644eb7078a && \ git merge -s ours 08596af059 b573c287d2 && \ git merge d1b6d8b20f && \ git merge -s ours 110b54a575 36f78dd606 309ff57ba6 && \ git merge 06295f9682 d3886086c3 adf51eef76 b403234a27 && \ git merge -s ours 09d1433064 && \ git merge 9ddcc1b90e cabf626bbc && \ git merge -s ours 283924bfa5
* | | | Merge commit 'b403234a27' into wip/fresh-merge2Paul Phillips2013-02-019-8/+45
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/matching/ParallelMatching.scala src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala test/files/neg/t6963.check
| * | | Merge pull request #1998 from JamesIry/2.10.x_6963_2Adriaan Moors2013-02-019-6/+45
| |\ \ \ | | | | | | | | | | SI-6963 Add version to -Xmigration
| | * | | SI-6963 Add version to -XmigrationJames Iry2013-01-299-6/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an optional version parameter to the -Xmigration compiler setting. Doing -Xmigration without version number behaves as it used to by dumping every possible migration warning. This commit adds a ScalaVersion class (plus ancillary stuff), and a ScalaVersionSetting.
| * | | | Merge pull request #2015 from paulp/rc1-backportsPaul Phillips2013-01-316-2/+21
| |\ \ \ \ | | | | | | | | | | | | 10 backports
| | * | | | SI-6426, importable _.Paul Phillips2013-01-302-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [backport] Prohibit `_` as an identifier, it can only bring badness.
| | * | | | SI-5353, imperfect error message.Paul Phillips2013-01-304-2/+9
| | |/ / / | | | | | | | | | | | | | | | | | | | | [backport] The fix of course is a perfect error message.
| * | | | Merge pull request #2000 from adriaanm/backport-pr-1873Paul Phillips2013-01-312-0/+85
| |\ \ \ \ | | | | | | | | | | | | [backport] SI-5378, unsoundness with type bounds in refinements.
| | * | | | [backport] SI-5378, unsoundness with type bounds in refinements.Paul Phillips2013-01-282-0/+85
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As the comment says: Not enough to look for abstract types; have to recursively check the bounds of each abstract type for more abstract types. Almost certainly there are other exploitable type soundness bugs which can be seen by bounding a type parameter by an abstract type which itself is bounded by an abstract type. SPECIAL: BUY ONE UNSOUNDNESS, GET ONE FREE In refinement types, only the first parameter list of methods was being analyzed for unsound uses of abstract types. Second parameter list and beyond had free unsoundness reign. That bug as well is fixed here.
| * | | | Merge pull request #2036 from scalamacros/ticket/5716Paul Phillips2013-01-313-0/+20
| |\ \ \ \ | | | | | | | | | | | | [backport] the scanner is now less eager about deprecations
| | * | | | changes the flags to not depend on partestEugene Burmako2013-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to some reason, partest always enables -deprecation. Since Paul has just submitted a pull request, which removes this behavior, I'm updating the flags to make sure this test works even after Paul's change. Backport from https://github.com/scala/scala/pull/1807 Original commit is https://github.com/scala/scala/commit/2015ad3ebd833225e93ed19604760a6da2522bb1
| | * | | | the scanner is now less eager about deprecationsEugene Burmako2013-01-313-0/+20
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When healing braces it isn't very useful to report deprecation warnings, especially since this process is just simple context-free skimming, which can't know about what positions can accept what identifiers. Backport from https://github.com/scala/scala/pull/1807. Original commit is https://github.com/scala/scala/commit/e5d34d70499504e085ddf957c1c818ffb63f4e8d.
* | | | | Merge commit '644eb7078a' into wip/fresh-merge2Paul Phillips2013-02-015-56/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: build.xml src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
| * | | | Merge pull request #1989 from adriaanm/rework-pr-1945Paul Phillips2013-01-313-56/+0
| |\ \ \ \ | | | | | | | | | | | | SI-6968 Simple Tuple patterns aren't irrefutable
| | * | | | SI-6968 Simple Tuple patterns aren't irrefutableJason Zaugg2013-01-273-56/+0
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverts part of c82ecab. The parser can't assume that a pattern `(a, b)` will match, as results of `.isInstanceOf[Tuple2]` can't be statically known until after the typer. The reopens SI-1336, SI-5589 and SI-4574, in exchange for fixing this regression SI-6968. Keeping all of those fixed will require a better definition of irrefutability, and some acrobatics to ensure safe passage to the ambiguous trees through typechecking.
| * / | | SI-6728 Fixes crash in parser on incomplete for expressionJames Iry2013-01-302-0/+9
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser was trying to take the position of an empty expression which would crash. Son on the empty expression case in TreeBuilder# makeWhile it tries to do that and, if that failed, gets a position that wraps both the condition and the body. I also made a slight improvement to the UnsupportedOperationEx messages in Position.
* | | | Merge pull request #2013 from paulp/pr/normalize-lessPaul Phillips2013-01-311-10/+2
|\ \ \ \ | | | | | | | | | | Changes many calls from normalize to dealiasWiden.
| * | | | Changes many calls to normalize to dealiasWiden.Paul Phillips2013-01-291-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling normalize is very aggressive and is usually the wrong thing. It is one of the leading contributors to non-determinism in compiler outcomes (often of the form "I gave a debugging or logging compiler option and it started/stopped working") and should be used only in very specific circumstances. Almost without exception, dealiasWiden is what you want; not widen, not normalize. If possible I will remove normalize from Type entirely, making it private to those areas of the compiler which actually require it.
* | | | | Merge remote-tracking branch 'origin/2.10.x' into pr/merge-210Paul Phillips2013-01-292-0/+28
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd392d56d6bf8b0ae9072b354e4ec68becd0df679': SI-4602 Disable unreliable test of fsc path absolutization Update a checkfile from a recent fix. SI-7018 Fix memory leak in Attachments. SI-4733 - fsc no longer creates a single temp directory for all users. Bumped partest MaxPermSize to 128m. SI-6891 Fix value class + tailrec crasher. Ill-scoped reference checking in TreeCheckers Make value classes TreeCheckers friendly SI-4602 Make fsc absolutize source file names SI-6863 Fix verify error in captured var inited from expr with try/catch SI-6932 Remove Batchable trait plus minor clean-ups Fix SI-6932 by enabling linearization of callback execution for the internal execution context of Future SI-6443 Expand test coverage with varargs, by-name. SI-6443 Widen dependent param types in uncurry Conflicts: src/reflect/scala/reflect/internal/Trees.scala test/partest
| * | | Merge pull request #1857 from retronym/ticket/6443-2.10.xAdriaan Moors2013-01-272-0/+28
| |\ \ \ | | |/ / | |/| | SI-6443 Widen dependent param types in uncurry
| | * | SI-6443 Widen dependent param types in uncurryJason Zaugg2013-01-162-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bridge building operates on unusual method signatures: after uncurry, so parameter lists are collapsed; but before erasure, so dependently typed parameters are still around. Original: def foo(a: T)(b: a.type, c: a.U): Unit During computeBridges: (a: T, b: a.type, c: a.U)Unit This signature no longer appears to override the corresponding one in a superclass, because the types of `b` and `c` are dependent on method parameters. The root of the problem is uncurry, which leaves the trees in a poor state. This commit changes uncurry to remedy this. An example illustrates it best: // source def foo(a: A)(b: a.type): b.type = b // post uncurry before this patch. // not well typed code! def foo(a: A, b: a.type): a.type = { // post uncurry after this patch def foo(a: A, b: A): A = { val b$1 = b.asInstanceOf[a.type] b$1 }