Permalink
Commits on Mar 2, 2013
  1. Merge pull request #2190 from adriaanm/test-runs-mima-2.10.1

    test.done again checks bin compat (using mima 0.1.5)
    JamesIry committed Mar 2, 2013
  2. Merge pull request #2189 from adriaanm/ticket-7195

    [nomaster] SI-7195 minor version mustn't introduce warnings
    JamesIry committed Mar 2, 2013
  3. [nomaster] SI-7195 minor version mustn't introduce warnings

    We want 2.10.1 to be a drop-in replacement for 2.10.0,
    so we can't start warning where we weren't warning in 2.10.0.
    
    See SI-5954 (#1882, #2079) for when it was an implementation restriction,
    which was then weakened to a warning. It's now hidden behind -Ydebug.
    adriaanm committed Mar 2, 2013
  4. Merge pull request #2168 from retronym/ticket/7183

    SI-7183 Disable unreachability for withFilter matches.
    adriaanm committed Mar 2, 2013
  5. Merge pull request #2167 from retronym/ticket/7126

    SI-7126 Account for the alias types that don't dealias.
    adriaanm committed Mar 2, 2013
Commits on Feb 26, 2013
  1. SI-7126 Eliminate a source of malformed types.

    The kind-polymorphic nature of Nothing and Any in
    concert with type argument inference could lead to
    types like `T[T]` (where `type T=Any`).
    
    Compensatory action is taken later on to recover;
    see the usages of `TypeRef#typeParamsMatchArgs`.
    But this these types have a nasty property, they
    can dealias to themselves. Callers recursing through
    types who fail to account for this hit an infinite
    recursion, as was reported in SI-7126.
    
    This commit simply dealiases `T` when registering
    the type bound in `unifySimple`.
    
    We should try to weed out additional sources of
    these types.
    retronym committed Feb 26, 2013
Commits on Feb 25, 2013
  1. SI-7183 Disable unreachability for withFilter matches.

    This avoids spurious unreachable warnings on code
    that the user didn't write.
    
    The parser desugars for-comprehensions such as:
    
        for (A(a) <- List(new A)) yield a
    
    To:
    
        List(new A()).withFilter(((check$ifrefutable$2) =>
          check$ifrefutable$2: @scala.unhecked match {
           case A((a @ _)) => true
           case _ => false
          })
        )
    
    But, if `A.unapply` returns `Some[_]`, the last case is dead code.
    (Matching against a regular case class *would* fall through in
    the caes of a null scrutinee.)
    
    In SI-6902, we enabled unreachability warnings, even if the
    scrutinee was annotated as @unchecked. That was consistent
    with the 2.9.2 behaviour, it was only disabled temporarily
    (actually, accidentally) in 2.10.0. But, the old pattern matcher
    didn't warn about this code.
    
    This commit makes the pattern matcher recognise the special
    scrutinee based on its name and disables both exhaustivity
    *and* unreachability analysis.
    
    To do so, the we generalize the boolean flag `unchecked` to
    the class `Suppression`.
    retronym committed Feb 25, 2013
  2. Merge pull request #2160 from scalamacros/topic/7112-followup-2101

    fixes the test for SI-7112
    adriaanm committed Feb 25, 2013
  3. Merge pull request #2166 from retronym/ticket/7180

    SI-7180 Fix regression in implicit scope of HK type alias.
    adriaanm committed Feb 25, 2013
  4. SI-7126 Account for the alias types that don't dealias.

    After this change:
    
        qbin/scalac -Ydebug test/files/pos/t7126.scala 2>&1 | grep warning
        warning: dropExistential did not progress dealiasing Test.this.T[Test.this.T], see SI-7126
        one warning found
    
    T[T]? Really? The true bug lies somewhere else; the comments of
    the ticket illuminate the general areas of concern.
    retronym committed Feb 25, 2013
  5. SI-7180 Fix regression in implicit scope of HK type alias.

    We actually need to call normalize here, otherwise we don't
    progress through #1 below.
    
        [infer implicit] scala.this.Predef.implicitly[Higher[Foo.Bar]] with pt=Higher[Foo.Bar] in object Foo
        1. tp=Foo.Bar tp.normalize=[A <: <?>]Foo.Bar[A] tp.dealias=Foo.Bar
        2. tp=Foo.Bar[A] tp.normalize=Box[A] tp.dealias=Box[A]
    retronym committed Feb 25, 2013
Commits on Feb 23, 2013
  1. fixes the test for SI-7112

    Freshly released Java 1.6.0_41 for OSX fails with "IllegalAccessError:
    tried to access class JavaSimpleEnumeration_1 from class sun.proxy.$Proxy6",
    and rightfully so, because that class isn't public.
    
    I think I will avoid the usual "how could this even work before" in this
    commit message.
    xeno-by committed Feb 23, 2013
Commits on Feb 22, 2013
  1. Merge pull request #2152 from retronym/topic/annotatedRetyping-2.10.1

    SI-7163 backport of annotated retyping to 2.10.1
    adriaanm committed Feb 22, 2013
Commits on Feb 21, 2013
  1. Additional test case for Lukas' fix to annotated originals.

    This was inspired by the regression that Mark encountered
    when upgrading SBT from 2.10.0 to 2.10.1-RC1.
    retronym committed Feb 18, 2013
  2. Fix typing idempotency bug with Annotated trees

    typedAnnotated transforms an Annotated tree into a Typed tree. The
    original field of the result is set to the Annotated tree.
    
    The bug was that typedAnnotated was using the untyped Annotated tree
    as original, but also set its type. When re-typing later on the same
    Annotated tree, the typer would consider it as alreadyTyped. This
    is incorrect, the typer needs to convert Annotated trees to Typed.
    
    Also, the Annotated tree only had its type field set, but its children
    were still untyped. This crashed the compiler lateron, non-typed trees
    would get out of the typing phase.
    lrytz committed with retronym Feb 12, 2013
Commits on Feb 19, 2013
  1. Merge pull request #2138 from retronym/ticket/6576-null-strikes-back

    SI-6576 Workaround / diagnostic for IDE NPE.
    JamesIry committed Feb 19, 2013
  2. Merge pull request #2140 from viktorklang/wip-init-bug-executionconte…

    …xtimpl-2.10.1
    
    Fixing initialization order bug in ExecutionContextImpl, regression from...
    JamesIry committed Feb 19, 2013
  3. Merge pull request #2128 from retronym/ticket/7128

    SI-7128 Fix regression in copyToArray for empty arrays
    JamesIry committed Feb 19, 2013
  4. SI-6576 Workaround / diagnostic for IDE NPE.

    Seems like this was too optimistic:
    
    > // later by lukas: disabled when fixing SI-5975
    > // i think it cannot happen anymore
    
     - restored the null check
     - added logging when we set the namer in this attachment,
       in the hope of spotting a pattern in the wild.
    
    We don't have a test case yet; if we did we could most likely
    have a more principled fix. But this should suffice for 2.10.1.
    retronym committed Feb 19, 2013
Commits on Feb 14, 2013
Commits on Feb 13, 2013
  1. Merge pull request #2122 from adriaanm/revert-pr-1403

    Revert #1403: binary incompatibilities in scala-swing
    JamesIry committed Feb 13, 2013
  2. [nomaster] Revert "Added a Swing ColorChooser wrapper"

    This reverts commit 08ab007.
    
    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 13, 2013
  3. [nomaster] Revert "Added a Swing PopupMenu wrapper"

    This reverts commit bdff881.
    
    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 13, 2013
Commits on Feb 11, 2013
  1. Merge pull request #2103 from adriaanm/bin-compat

    Forward and backward binary compatibility between 2.10.0 and 2.10.1-RC1
    adriaanm committed Feb 11, 2013
Commits on Feb 10, 2013
  1. [nomaster] Revert "SI-6548 reflection now correctly enters jinners"

    This reverts commit 54a84a3.
    
    This is necessary to maintain binary compatibility with 2.10.0.
    
    run/t6989.check had to be updated as it also (indirectly) tested SI-6548
    
    Conflicts:
    	test/files/lib/javac-artifacts.jar.desired.sha1
    	test/files/run/t6548.check
    	test/files/run/t6548/Test_2.scala
    adriaanm committed Feb 9, 2013
  2. [nomaster] inline importPrivateWithinFromJavaFlags into SymbolTable

    This reworks 02ed5fb so that we don't change JavaUniverse's super classes.
    
    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 10, 2013
  3. [nomaster] Revert "cosmetic renamings in runtime reflection"

    This reverts commit 0429f0f.
    
    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 9, 2013
  4. [nomaster] refactor AdaptedForkJoinTask, uncaughtExceptionHandler

    Inlined AdaptedForkJoinTask, made uncaughtExceptionHandler private[this].
    
    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 9, 2013
  5. [nomaster] can't add new class BatchingExecutor

    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 9, 2013
  6. [nomaster] bring back SerializeStart from fa3b804

    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 9, 2013
  7. [nomaster] duplicate tailImpl as a private method

    Reworks d526f8b.
    This is necessary to maintain binary compatibility with 2.10.0.
    
        matchName="scala.collection.mutable.MutableList.tailImpl"
        problemName=MissingMethodProblem
    adriaanm committed Feb 8, 2013
  8. [nomaster] Revert "SI-4664 Make scala.util.Random Serializable"

    Also revert "SI-4664 [Make scala.util.Random Serializable] Add test case"
    
    This reverts commit 0b92073.
    This reverts commit 2aa66be.
    
    This is necessary to maintain binary compatibility with 2.10.0.
    adriaanm committed Feb 8, 2013