Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Nov 11, 2014
  1. @lrytz

    Merge pull request #3963 from erikerlandson/si-8835-pr

    lrytz authored
    SI-8835 Fix implementation of Iterator drop to remove quadratic behavior
Commits on Nov 10, 2014
  1. @lrytz

    Merge pull request #4116 from retronym/ticket/5413-2

    lrytz authored
    SI-5413 Test for fixed owner-corruption bug with names/defaults
  2. @lrytz

    Merge pull request #4120 from retronym/ticket/5665

    lrytz authored
    SI-5665 Test case for fixed private[this], trait crasher
  3. @retronym

    Merge pull request #4110 from lrytz/t8960-delambdafy

    retronym authored
    Make t8960 pass under delambdafy:method
  4. @lrytz

    Merge pull request #4109 from retronym/ticket/1994

    lrytz authored
    SI-1994 Test case for fixed overriding problem
  5. @lrytz

    Merge pull request #4108 from retronym/ticket/7750

    lrytz authored
    SI-7750 Test case for fixed spurious existential feature warning
  6. @lrytz

    Merge pull request #4106 from retronym/ticket/6856

    lrytz authored
    SI-6856 Fix incorrect EBNF in comment in Parsers
  7. @lrytz

    Merge pull request #4104 from retronym/ticket/8966

    lrytz authored
    SI-8966 Allow use of jvm-1.8 via the Ant scalac task
  8. @lrytz

    Merge pull request #4102 from retronym/ticket/8965

    lrytz authored
    SI-8965 Account for corner case in "unrelated types" warning
  9. @lrytz

    Merge pull request #4101 from adriaanm/sam-ex

    lrytz authored
    [sammy] eta-expansion, overloading, existentials
  10. @lrytz

    Merge pull request #4100 from gourlaysama/wip/lint-build

    lrytz authored
    SI-8954 Make @deprecated{Overriding,Inheritance} aware of @deprecated.
  11. @lrytz

    Merge pull request #4095 from retronym/ticket/8933

    lrytz authored
    Fix problems in Symbol Literal static caching
  12. @lrytz

    Merge pull request #4088 from lrytz/opt/cleanupOptimizations

    lrytz authored
    GenBCode: cleanup optimizations
Commits on Nov 9, 2014
  1. @retronym
  2. @retronym

    SI-5413 Test for fixed owner-corruption bug with names/defaults

    retronym authored
    Fixed in SI-8111 / 2.10.4.
Commits on Nov 7, 2014
  1. @adriaanm

    [sammy] support repeated params

    adriaanm authored
    Generate correct trees to refer to repeated params using `gen.paramToArg`.
    Based on retronym's review feedback.
  2. @VladUreche

    Merge pull request #4105 from gourlaysama/wip/t5730-scaladoc-sealed-ctor

    VladUreche authored
    SI-5730 hide constructors of sealed abstract classes in scaladoc
  3. @retronym

    SI-8965 Account for corner case in "unrelated types" warning

    retronym authored
    It's okay for the two types to LUB to something above `Object`
    if they both individially were its supertype.
  4. @lrytz

    Make t8960 pass under delambdafy:method

    lrytz authored
    When using delambdafy:method, anonymous function classes are not
    currently specialized, as noted here:
    
    https://github.com/scala/scala/blob/f08e96571479552b103b15cc2d40ea5454999546/src/compiler/scala/tools/nsc/transform/Delambdafy.scala#L26
  5. @adriaanm

    [sammy] use correct type for method to override

    adriaanm authored
    Don't naively derive types for the single method's signature
    from the provided function's type, as it may be a subtype
    of the method's MethodType.
    
    Instead, once the sam class type is fully defined, determine
    the sam's info as seen from the class's type, and use those
    to generate the correct override.
    
    ```
    scala> Arrays.stream(Array(1, 2, 3)).map(n => 2 * n + 1).average.ifPresent(println)
    5.0
    
    scala> IntStream.range(1, 4).forEach(println)
    1
    2
    3
    ```
    
    Also, minimal error reporting
    
    Can't figure out how to do it properly, but some reporting
    is better than crashing. Right? Test case that illustrates
    necessity of the clumsy stop gap `if (block exists (_.isErroneous))`
    enclosed as `sammy_error_exist_no_crash`
    
    added TODO for repeated and by-name params
  6. @retronym

    SI-1994 Test case for fixed overriding problem

    retronym authored
    The test case passes since Scala 2.9.2.
    
    Prior, it failed with:
    
    	~/scala/2.9.1/bin/scalac sandbox/t1994.scala
    	sandbox/t1994.scala:9: error: method y overrides nothing
    	  override def y = 1
    	               ^
    	one error found
  7. @retronym

    SI-7750 Test case for fixed spurious existential feature warning

    retronym authored
    In 2.11.0-M8, the enclosed test issued the following feature
    warning:
    
        sandbox/t7750.scala:7: warning: the existential type LazyCombiner[_$1,_$2,_$3] forSome { type _$1; type _$2; type _$3 <: Growable[_$1] with Sizing }, which cannot be expressed by wildcards,
    
    This went way in 2.11.0-RC1 after we turned off the problematic
    attempt to infer existential bounds based on the bounds of the
    corresponding type parameters.
  8. @retronym

    SI-6856 Fix incorrect EBNF in comment in Parsers

    retronym authored
    '&' isn't a prefix operator, perhaps to the chagrin of the C crowd.
  9. @gourlaysama

    SI-5730 hide constructors of sealed abstract classes in scaladoc

    gourlaysama authored
    Sealed abstract classes (like `List`) have a primary constructor, public
    by default. It can never be called by external code but it shows up in
    the scaladoc as a nice `new List()` construtor...
    
    If a class is only abstract, the constructor is still useful because
    people can subclass and call it. If it is only sealed (i.e. effectively final),
    then it is the normal constructor of a final class. But sealed *and*
    abstract makes documenting the constructor useless.
    
    This should remove the misleading constructors of `List`, `Double`,
    `Option` and others from the scaladoc.
  10. @retronym

    SI-8966 Allow use of jvm-1.8 via the Ant scalac task

    retronym authored
    This option has been allowed by the command line compiler since
    ee706b8.
    
    This commit allows use of this via Ant.
    
    Note: we still don't exploit the features of classfile version 52,
    but watch this space as we roll out method handle based closures
    soon!
  11. @retronym

    SI-7974 Fix over-eager optimization of Symbol literals

    retronym authored
    A classic mistake of discarding a non-trivial qualifier.
    
    We actually should have fixed this before merging #3149, as it
    was raised in review, but I suppose we got too caught up in the
    difficulty of resolving the right overload of `Symbol_apply` that we
    forgot.
  12. @retronym

    SI-8933 Disable static Symbol literal cache in traits

    retronym authored
    In Scala 2.8.2, an optimization was added to create a static
    cache for Symbol literals (ie, the results of `Symbol.apply("foo"))`.
    This saves the map lookup on the second pass through code.
    
    This actually was broken somewhere during the Scala 2.10 series,
    after the addition of an overloaded `apply` method to `Symbol`.
    
    The cache synthesis code was made aware of the overload and brought
    back to working condition recently, in #3149.
    
    However, this has uncovered a latent bug when the Symbol literals are
    defined with traits.
    
    One of the enclosed tests failed with:
    
    	  jvm > t8933b-run.log
    	java.lang.IllegalAccessError: tried to access field MotherClass.symbol$1 from class MixinWithSymbol$class
    	        at MixinWithSymbol$class.symbolFromTrait(A.scala:3)
    	        at MotherClass.symbolFromTrait(Test.scala:1)
    
    This commit simply disables the optimization if we are in a trait.
    Alternative fixes might be: a) make the static Symbol cache field
    public / b) "mixin" the static symbol cache. Neither of these
    seem worth the effort and risk for an already fairly situational
    optimization.
    
    Here's how the optimization looks in a class:
    
    	% cat sandbox/test.scala; qscalac sandbox/test.scala && echo ":javap C" | qscala;
    	class C {
    	  'a; 'b
    	}
    	Welcome to Scala version 2.11.5-20141106-145558-aa558dce6d (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_20).
    	Type in expressions to have them evaluated.
    	Type :help for more information.
    
    	scala> :javap C
    	  Size 722 bytes
    	  MD5 checksum 6bb00189166917254e8d40499ee7c887
    	  Compiled from "test.scala"
    	public class C
    
    	{
    	  public static {};
    	    descriptor: ()V
    	    flags: ACC_PUBLIC, ACC_STATIC
    	    Code:
    	      stack=2, locals=0, args_size=0
    	         0: getstatic     #16                 // Field scala/Symbol$.MODULE$:Lscala/Symbol$;
    	         3: ldc           #18                 // String a
    	         5: invokevirtual #22                 // Method scala/Symbol$.apply:(Ljava/lang/String;)Lscala/Symbol;
    	         8: putstatic     #26                 // Field symbol$1:Lscala/Symbol;
    	        11: getstatic     #16                 // Field scala/Symbol$.MODULE$:Lscala/Symbol$;
    	        14: ldc           #28                 // String b
    	        16: invokevirtual #22                 // Method scala/Symbol$.apply:(Ljava/lang/String;)Lscala/Symbol;
    	        19: putstatic     #31                 // Field symbol$2:Lscala/Symbol;
    	        22: return
    
    	  public C();
    	    descriptor: ()V
    	    flags: ACC_PUBLIC
    	    Code:
    	      stack=1, locals=1, args_size=1
    	         0: aload_0
    	         1: invokespecial #34                 // Method java/lang/Object."<init>":()V
    	         4: getstatic     #26                 // Field symbol$1:Lscala/Symbol;
    	         7: pop
    	         8: getstatic     #31                 // Field symbol$2:Lscala/Symbol;
    	        11: pop
    	        12: return
    	}
    
    fixup
  13. @lrytz

    Merge pull request #4058 from som-snytt/issue/verbose-load

    lrytz authored
    SI-8922 REPL load -v
  14. @lrytz

    Address review comments

    lrytz authored
  15. @lrytz

    Merge pull request #4047 from lrytz/delambda-method-tests

    lrytz authored
    Fix tests under -Ydelambdafy:method
  16. @retronym

    Merge pull request #4080 from gourlaysama/wip/t8931-redundant-interfa…

    retronym authored
    …ces-2
    
    SI-8931 make generic signature consistent with interface list in classfiles
  17. @retronym

    Merge pull request #4097 from retronym/ticket/7602

    retronym authored
    SI-7602 Avoid crash in LUBs with erroneous code
  18. @retronym

    Merge pull request #4096 from retronym/ticket/7019

    retronym authored
    SI-7019 Fix crasher with private[this] extension methods
  19. @retronym

    SI-7602 Avoid crash in LUBs with erroneous code

    retronym authored
    If a class contains a double defintion of a method that overrides
    an interface method, LUBs could run into a spot where filtering
    overloaded alternatives to those that match the interface method
    fails to resolve to a single overload, which crashes the compiler.
    
    This commit uses `filter` rather than `suchThat` to avoid the crash.
  20. @retronym

    Merge pull request #4083 from retronym/ticket/8947

    retronym authored
    SI-8947 Avoid cross talk between tag materializers and reify
Something went wrong with that request. Please try again.