scala-dev icon indicating copy to clipboard operation
scala-dev copied to clipboard

Scala 2 team issues. Not for user-facing bugs or directly actionable user-facing improvements. For build/test/infra and for longer-term planning and idea tracking. Our bug tracker is at https://github...

Results 120 scala-dev issues
Sort by recently updated
recently updated
newest added
trafficstars

with the latest heuristics (not yet merged): - when compiling all of the library, `mapConserve` has its `loop` method inlined, but `dropWhile` has a call to `loop$3` - when only...

enhancement
t:optimizer

The old optimizer makes synthetic and paramaccessor methods public to enable inlining methods that invoke them. https://github.com/scala/scala/blob/2.11.x/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala#L659

enhancement
t:optimizer

If there's a cycle of invocations of `@inline` annotated methods, issue a warning for the callsite that is not inlined. Simplest example: ``` scala class C { @inline final def...

enhancement
t:optimizer

https://issues.scala-lang.org/browse/SI-9390 ``` class C { def methodLift = { def isPrime(c: Int) = BigInt(c).isProbablePrime(1) val f: Int => Boolean = isPrime f(0) } } ``` compiles to ``` class C...

t:optimizer

Existing partest tests: `patmat_opt_ignore_underscore`, `patmat_opt_no_nullcheck`, `patmat_opt_primitive_typetest`. Also talk to adriaan. Maybe some of the optimizations that are currently in the patmat phase can be performed in the backend instead.

t:optimizer

`array.exists(_ == 10)` should perform like a `while` loop.

t:optimizer

In code like: ``` scala class Outer { var a, b = 0 class Inner { def test = { (a, b) } } } ``` Rather than emitting: ```...

t:optimizer

In Zinc meeting with Scala Center 2020-07-21 (@lrytz, @dwijnand, @sjrd, @eed3si9n), an idea came up today about informal hook for Class dependency tracking. In addition (or instead) of Zinc injecting...

After inlining the module instance field loads remain - they have to, the static initializer of the module class may have side effects: ``` scala object T { println("hui") @inline...

feature
t:optimizer