A proof of concept Scala compiler plugin that makes functional interfaces in the Java standard library more pleasant to work with from Scala by treating them as though they had used declaration site variance.
As seen in the demo:
"abc".chars.boxed.map(x => x.toString).collect(Collectors.toList())
now typechecks without the need to explicitly provide the type argument to map
.