Permalink
Commits on Feb 19, 2018
  1. Merge pull request #6331 from Blaisorblade/patch-5

    SethTisue committed Feb 19, 2018
    Fix typo/dead code in grammar production in SLS
Commits on Feb 16, 2018
  1. improve wording in comment. reifiee => target

    zuvizudar authored and SethTisue committed Feb 16, 2018
  2. Fix typo/dead code in production

    Blaisorblade committed Feb 16, 2018
    Make the production for `SimpleExpr1` match with the ones from the appendix.
Commits on Feb 14, 2018
  1. Merge pull request #6304 from Jasper-M/topic/tuple2-alias

    SethTisue committed Feb 14, 2018
    Add `->` alias for `Tuple2` to Predef
Commits on Feb 12, 2018
  1. Merge pull request #6317 from kelebra/issue/10710

    adriaanm committed Feb 12, 2018
    Removed -Yliteral-types option and cleaned up docs
Commits on Feb 9, 2018
  1. Removed -Yliteral-types option and cleaned up docs

    kelebra committed Feb 9, 2018
Commits on Feb 4, 2018
  1. Add `->` alias for `Tuple2` to Predef

    Jasper-M committed Feb 2, 2018
    Allow users to pattern match on instances of `Tuple2` with the
    alternative syntax `key -> value`, in line with the existing alternative
    syntax for constructing a `Tuple2`.
Commits on Feb 1, 2018
  1. Merge pull request #6290 from SethTisue/no-stupid-types

    adriaanm committed Feb 1, 2018
    drop -Yuse-stupid-types
  2. Merge pull request #6296 from SethTisue/restarr-on-m3

    SethTisue committed Feb 1, 2018
    re-STARR on 2.13.0-M3
Commits on Jan 31, 2018
  1. re-STARR on 2.13.0-M3

    SethTisue committed Jan 31, 2018
  2. Merge pull request #6187 from DanMoss/issue/10280

    SethTisue committed Jan 31, 2018
    Document stability of sortBy
  3. drop -Yuse-stupid-types

    SethTisue committed Jan 30, 2018
    this was added by Gilles in 2010 "for internal use" and with the
    description "Print the types of inherited members as seen from their
    original definition context. Hint: you don't want to do that!"
    
    so, it isn't clear what this was even for originally. but, googling and
    searching GitHub turns up no uses.
Commits on Jan 30, 2018
  1. Merge pull request #6289 from adriaanm/t10486

    adriaanm committed Jan 30, 2018
    Update repl script engine factory class name
  2. Update repl script engine factory class name

    adriaanm committed Jan 30, 2018
    Fixes scala/bug#10486, H/T som-snytt
Commits on Jan 29, 2018
  1. Merge pull request #6279 from retronym/topic/names-default-nest

    lrytz committed Jan 29, 2018
    Fix lookup of default getter in scope
  2. Unify scope lookup for companions and default getters

    retronym committed Jan 25, 2018
    In #5700, I fixed a bug in the companion lookup, which ensured
    they were defined in the same scope.
    
    The same approach applies well to the lookup of default getters.
    
    You may ask, we can't just use:
    
    ```
    context.lookupSymbol(name, _.owner == expectedOwner)
    ```
    
    That doesn't individually lookup the entry in each enclosing
    nested scopes, but rather relies on the outer scope delegation
    in `Scope.lookupEntry` itself. This in turn relies on the way that
    nested scopes share the `elems` table with the enclosing scope:
    
    ```
      final def newNestedScope(outer: Scope): Scope = {
        val nested = newScope
        nested.elems = outer.elems
        nested.nestinglevel = outer.nestinglevel + 1
        ...
      }
    ```
    
    If the outer scope is later mutated, in our case by lazily adding
    the default getter, the inner scope won't see the new elems.
    Context.lookupSymbol will jump immediately jump to search of the
    enclosing prefix.
    
    Perhaps a better design would be for the inner scope to retain a
    reference to the outer one, rather than just to the head of its
    elems linked list at the time the nested scope was created.
Commits on Jan 25, 2018
  1. Fix lookup of default getter in scope

    retronym authored and lrytz committed Jan 24, 2018
    By slightly modifying an existing test to force creation of
    default getters for both `bar` methods _before_ typechecking the
    application, I was able to show a latent bug in the way the default
    getter is looked up in scope.
    
    The bespoke `Context.lookup` method did not respect shadowing,
    but rather considered the two, same-named default getters as
    overloaded. Because the overloaded symbol had NoSymbol as its
    owner, which didn't match the expected owner, neither default
    was eligible.
    
    This commit brings the code more into line with `Context.lookupSymbol`
    and respects shadowing.
  2. Merge pull request #6280 from SethTisue/merge-2.12.x-to-2.13.x-20180124

    lrytz committed Jan 25, 2018
    Merge 2.12.x to 2.13.x [ci:last-only]
  3. Merge pull request #6281 from lrytz/fix-build

    lrytz committed Jan 25, 2018
    Update a check file to fix the build
  4. Update a check file to fix the build

    lrytz committed Jan 25, 2018
    Race condition in the merges of
    #6270 (added the test)
    and
    #5310 (changes its output).
  5. Merge remote-tracking branch 'origin/2.12.x' into merge-2.12.x-to-2.1…

    SethTisue committed Jan 25, 2018
    …3.x-20180124
Commits on Jan 24, 2018
  1. Merge pull request #6270 from milessabin/topic/lub-glb-poly-bounds

    adriaanm committed Jan 24, 2018
    Avoid accumulating ill-kinded bounds during unification
  2. Merge pull request #5310 from milessabin/topic/sip-23-redux

    adriaanm committed Jan 24, 2018
    SIP-23 Implementation of literal types
Commits on Jan 23, 2018
  1. Merge pull request #6010 from milessabin/topic/si-4947

    retronym committed Jan 23, 2018
    Fixes over aggressive pruning of implicit scope.
Commits on Jan 22, 2018
  1. Merge pull request #6268 from hrhino/deprecation-train

    SethTisue committed Jan 22, 2018
    Remove uses of the @bridge annotation in compiler.
  2. Merge pull request #6263 from lrytz/pickleDoc

    lrytz committed Jan 22, 2018
    Documentation and cleanups around the pickle encoding
Commits on Jan 21, 2018
  1. Merge pull request #6272 from lrytz/partest112

    SethTisue committed Jan 21, 2018
    Use partest 1.1.3
Commits on Jan 19, 2018
  1. Use partest 1.1.3

    lrytz committed Jan 19, 2018
    This should fix the failing bootstrap.
  2. Merge pull request #5999 from milessabin/topic/si-4225

    lrytz committed Jan 19, 2018
    Stabilize receiver of extension method application so that implicits accessible via the prefix can be candidate implicit arguments
  3. Stabilize LHS of applications enabling dependent implicits

    milessabin committed Jul 19, 2017
    This fixes scala/bug#4225 and scala/bug#5946 by introducing a synthetic
    val for the unstable LHS of an implicit method application where the
    method type depends on the LHS.
    
    As applied to this example, taken from scala/bug#4225,
    
    ```scala
    class Foo {
      class Bar
      object Bar {
        implicit def mkBar: Bar = new Bar
      }
    }
    
    object f extends Foo
    
    implicit class Ops[F <: Foo](val f0: F) {
      def op(i: Int)(implicit b: f0.Bar): f0.Bar = b
    }
    
    f.op1(23)
    ```
    
    this transformation produces,
    
    ```scala
    {
      val stabilizer$1 = Ops[f.type](f)
      stabilizer$1.op1(23)
    }
    ```
    
    Because `stabilizer$1` is stable we retain the singleton type `F` and
    the implicit argument of type `f0.Bar` can be resolved against the
    implicit scope of `f.type`.
    
    A real world example of this is the macro API issue reported in
    scala/bug#5946 ... following this PR the usage below compiles as
    expected,
    
    ```scala
    class Ops(val g: scala.reflect.api.JavaUniverse) {
      def op[T: g.TypeTag] = ()
    }
    implicit def Ops(g: scala.reflect.api.JavaUniverse): Ops = new Ops(g)
    scala.reflect.runtime.universe.op[Int]
    ```
    
    In principle this transformation could also be applied for explicit
    applications, however there would no gain: to be able to write the
    explicit argument the user would already have had to explicitly
    introduce the necessary val.
Commits on Jan 18, 2018
  1. Merge pull request #6198 from adriaanm/dev298

    SethTisue committed Jan 18, 2018
    Drop PagedSeq
Commits on Jan 17, 2018
  1. Removed stale check files.

    milessabin committed Jan 17, 2018