Skip to content

Type equality/subtyping evidence is not found for unions #8833

Closed
@neko-kai

Description

@neko-kai

Minimized code

@main def Test = {
  implicitly[("k" | "v") <:< ("k" | "v")]
  implicitly[("k" | "v") =:= ("k" | "v")]
}

Output

Error:(127, 42) Cannot prove that ("k" : String/T) |/T ("v" : String/T) <:< ("k" : String/T) |/T ("v" : String/T)..
I found:
    <:<.refl[Nothing/T]
But method refl in object <:</T does not match type (("k" : String/T) |/T ("v" : String/T)) <:</T (("k" : String/T) |/T 
  ("v" : String/T)
).
  implicitly[("k" | "v") <:< ("k" | "v")]

Expectation

Expected it to compile

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions