Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sealed trait Color extends LoudColor with CalmColor
- object Color {
- case class Black(value: Int) extends Color
- case object White extends Color
- }
- sealed trait CalmColor
- object CalmColor {
- case object Blue extends CalmColor
- case object Green extends CalmColor
- }
- sealed trait LoudColor
- object LoudColor {
- case object Red extends LoudColor
- }
- object Main {
- def f() {
- var c : Color = null;
- var cc : CalmColor = null;
- var lc : LoudColor = null;
- c = Color.Black(10);
- c = Color.White;
- c = CalmColor.Blue; // expect error
- c = CalmColor.Green; // expect error
- c = LoudColor.Red; // expect error
- cc = Color.Black(10);
- cc = Color.White;
- cc = CalmColor.Blue;
- cc = CalmColor.Green;
- cc = LoudColor.Red; // expect error
- lc = Color.Black(10);
- lc = Color.White;
- lc = CalmColor.Blue; // expect error
- lc = CalmColor.Green; // expect error
- lc = LoudColor.Red;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement