Missverständnis mit Typüberprüfungen in Scala

8

Ich habe eine einfache Typhierarchie in Scala:

%Vor%

Und ich werde diese Typen so benutzen:

%Vor%

Überraschenderweise bekomme ich B gedruckt (ich habe C erwartet).

Warum behandelt der Compiler C.C1 als Instanz von B.A1 ?

    
Dmitry Bespalov 15.10.2015, 12:39
quelle

1 Antwort

5

Dies ist ein bekannter Fehler.

Scalac erzeugt eine Warnung mit dem -unchecked Flag:

%Vor%

Jetzt erscheinen B.A1 und C.A1 für den Compiler in der Musterübereinstimmung gleich, weil der äußere Verweis auf B oder C nicht überprüft wird.

Sehen Sie sich diese Diskussion an.

Und SI-4440

    
Michael Zajac 15.10.2015, 14:36
quelle

Tags und Links