Si uso un sin sellar traito abstract classen Scala y luego uso la coincidencia de patrones, me pregunto, ¿el compilador no sabe en el momento de la compilación para este patrón en particular qué posibles implementaciones de este rasgo / clase están disponibles? Entonces, si lo hace, ¿no podría dar advertencias de coincidencia de patrones a pesar de que trait/ abstract classno está sellado porque sabe qué tipos podrían usarse, al verificar todas las dependencias / importaciones posibles?
Por ejemplo, si tengo una Option[A]coincidencia de patrones y solo para Some[A]pero no para None, el compilador se quejará porque Optionestá sellado.
Si el compilador no puede saber / resolver eso, ¿por qué no puede hacerlo? Y si el compilador (en teoría) puede hacer eso, ¿cuáles son las razones por las que no se usa en Scala? ¿Hay otros idiomas que soporten ese tipo de comportamiento?
Foocon subclases A, By C, y todas sus coincidencias de patrones coinciden solo con esas tres. Nada me impide agregar una nueva subclase Dque explote tus coincidencias de patrones.
java.lang.ClassLoader.