Conveniently, an inferred type pattern _is_ an any pattern.  (See the
explanation in the recent discussion on nullity, where this fell out
nicely.)   So semantically a var pattern is an any pattern.
not if there are multiple de-constructors with the same arity, right ?

It still is an _any_ pattern.  If there are multiple same-arity dtors, we have an overload selection problem.  And we'd have the same overload selection whether the client said `case Foo(var x)` and `case Foo(__ANY_PATTERN__)`, because in neither case is there enough type information at the use site to perform the overload selection.


Reply via email to