Skip to content
This repository has been archived by the owner on Sep 1, 2020. It is now read-only.

Inconsistent behaviour when parameterising singleton type #179

Open
tindzk opened this issue Feb 12, 2018 · 0 comments
Open

Inconsistent behaviour when parameterising singleton type #179

tindzk opened this issue Feb 12, 2018 · 0 comments

Comments

@tindzk
Copy link

tindzk commented Feb 12, 2018

The following example yields a type mismatch:

class StringSingletonList[T <: Singleton with String](values: List[T])
new StringSingletonList(List("a", "a"))
// inferred type arguments [String] do not conform to class StringSingletonList's type parameter bounds [T <: Singleton with String]

Strangely, the argument's type is inferred correctly:

List("a", "a"): List[_ <: Singleton with String] 
// res1: List[String] = List("a", "a")

These two declarations can be used as a workaround:

class StringSingletonList[T <: Singleton](values: List[T with String])
class StringSingletonList[T <: String](values: List[T with Singleton])
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant