Closed
Description
Compiler version
main
Minimized code
import language.experimental.captureChecking
trait Source[+T]
def race[T](sources: Seq[Source[T]^]): Source[T]^{sources*} = raceImpl(sources)
def raceImpl[T](sources: Seq[Source[T]^]): Source[T]^{sources*} = ???
Output
-- [E007] Type Mismatch Error: issues/source.scala:5:70 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5 |def race[T](sources: Seq[Source[T]^]): Source[T]^{sources*} = raceImpl(sources)
| ^^^^^^^^^^^^^^^^^
| Found: Source[box T^?]^{sources*}
| Required: Source[T]^{sources²*}
|
| where: sources is a reference to a value parameter
| sources² is a parameter in method race
|
| longer explanation available when compiling with `-explain`
1 error found
Expectation
Should compile.
Found by @natsukagami while capture checking gears.