Kompilierung fehlgeschlagen bei nicht erschöpfendem Abgleich in SBT

9

Nehmen wir an, ich habe ein Merkmal, Elternteil, mit einem Kind, Kind.

%Vor%

Ich schreibe eine Funktion, die dem versiegelten Merkmal entspricht. Meine f -Funktion ist total , da es nur eine einzige Parent -Instanz gibt.

%Vor%

Dann, 2 Monate später, entscheide ich mich, ein Girl Kind von Parent hinzuzufügen.

%Vor%

Und schreiben Sie dann die Methode f neu, da wir REPL verwenden.

%Vor%

Wenn ich auf eine nicht erschöpfende Übereinstimmung stoßen würde, würde ich eine Kompilierungswarnung bekommen (wie wir hier sehen).

Wie kann ich jedoch die Kompilierung bei einer nicht erschöpfenden Übereinstimmung fehlschlagen lassen ?

    
Kevin Meredith 04.02.2015, 17:13
quelle

2 Antworten

6

Sie können -Xfatal-warnings zu Scalacs Optionen hinzufügen. Auf diese Weise wird jede Warnung als Fehler behandelt.

In sbt können Sie das erreichen mit:

%Vor%     
Kim Stebel 04.02.2015, 17:16
quelle
-4

Vielleicht könnten Sie einen Standardfall eingeben, um nachdefinierte Elemente zu fangen und sie an eine Teilfunktion zu binden, die Sie getrennt verwalten können. Dann wird das Partial als "Standard-Handler" fungieren.

%Vor%

Oder vielleicht können Sie PartialFunctions ganz einfach verwenden und sie zusammenketten.

    
Rich Henry 04.02.2015 20:16
quelle

Tags und Links