Skip to content

Patterns with dependent result types don't get a reference to match scrutinee #20360

Open
@EugeneFlesselle

Description

@EugeneFlesselle

Compiler version

3.5.0-RC1

Minimized code

trait Wrap:
  type Value
  val value: Value

object Wrap:
  def unapply(w: Wrap): Some[w.Value] = Some(w.value)

object Test:
  val w: Wrap = ???

  val Some(n1) = Wrap.unapply(w)
  val _: w.Value = n1 // ok

  val Wrap(n2) = w
  val _: w.Value = n2 // Error Found: (Test.n2 : Wrap#Value)

Expectation

Expected no errors

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions