Я действительно не вижу никакого способа сделать это чисто в коде:
case x : SomeType =>
Это фундаментальная модель;единственный способ не скомпилировать код - это если SomeType
не виден.Но тогда, по-видимому, это не очень полезно!
Может случиться так, что плагин компилятора в тандеме с пользовательской аннотацией может это сделать -это не моя область знаний, но я думаю, это может выглядеть следующим образом:
@unmatchable class CreditCard( ... )
Но тогда проблема заключается в том, что вы не можете принудительно заставить ваших "клиентов" использоватьплагин (если, я полагаю, вы не гарантируете, что ваш код не будет компилироваться без него - не то, чтобы я знал, как этого добиться)