scala / docs.scala-lang

The Scala Documentation website
http://docs.scala-lang.org
557 stars 1.01k forks source link

Match expression's `@` operator not mentioned in docs #2999

Open sdasda7777 opened 3 months ago

sdasda7777 commented 3 months ago

I would understand it not being included in the docs if this was experimental feature, but it seems to work in both Scala 2 and Scala 3. Specifically I mean this extremely helpful @ operator which allows you to both unapply the object for matching and upcast it for use in the code branch:

case a @ A(x) => a.classASpecificStuff()
case b @ B(x) if x > 0 => b.classBSpecificStuff()
SethTisue commented 1 month ago

It's not experimental, and I agree it's a strange omission.

I think https://docs.scala-lang.org/tour/pattern-matching.htm should cover it too.