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

Before: ``` java -Djol.tryWithSudo=true -cp $(coursier fetch -q -p 'org.openjdk.jol:jol-cli:0.9') org.openjdk.jol.Main internals -cp /usr/local/Cellar/scala/2.12.5/libexec/lib/jline-2.14.5.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scala-compiler.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scala-library.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scala-parser-combinators_2.12-1.0.7.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scala-reflect.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scala-swing_2.12-2.0.0.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scala-xml_2.12-1.0.6.jar:/usr/local/Cellar/scala/2.12.5/libexec/lib/scalap-2.12.5.jar 'scala.tools.nsc.typechecker.Typers$Typer' 'scala.tools.nsc.typechecker.Typers$Typer$$anon$2' objc[21400]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java (0x1023124c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10a0394e0). One of...

t:performance

![image](https://user-images.githubusercontent.com/65551/39744108-7216cffc-52e6-11e8-9bf9-95156d4f710e.png) It might be worth enhancing ASM to support a reuse of these internal buffers during classfile writing.

t:performance

Macros implementations are executed with reflection from a classloader created from the entire compilation classpath. Scala 2.12.6 adds experimental support for caching these classloaders for performance reasons. In practice, when...

t:performance
help-wanted

Perhaps a heuristic to inline `array_apply` / `array_update` / `array_length` when we know the specific array type (reference vs primitive) could do better. ```scala @inline final def hashArray[T](s: Array[T], hashF:...

t:optimizer
t:performance

In the context of build tools like bazel, act more like javac to hide transitive dependency (e.g. coding against interface, should not need to load impl.) based on hallway discussion...

I believe there was a framework by @axel22 that does this. Was it scalameter? See also http://docs.scala-lang.org/overviews/collections/performance-characteristics.html, which should be updated, rendered in the source and then enforced using automated...

t:performance
t:collections

**NOTE**: at this point, we are not committing to another 2.11 release -- this is a placeholder to collect TODOs in case we do decide to cut another release. Motivation:...

Compiling the scala project with `-opt-warnings:_` (or even just `-opt-warnings`) gives plenty of output. There is probably some useful data in there. For example: ``` /Users/luc/scala/scala13/src/library/scala/math/BigDecimal.scala:448: scala/Option::exists(Lscala/Function1;)Z is annotated @inline...

t:optimizer

## Background The Scala compiler uses its Classpath abstraction to present the compilation classpath and sourcepath to the compiler. Entries in these paths are typically directories, JARs, or, more recently,...

enhancement

After introducing lazy completion in `ClassBType`s we can consider removing the existing mechanism for allowing cyclic initialization (https://github.com/scala/scala/pull/5739#pullrequestreview-24617657)

enhancement
c:backend