<commit_before>class Bool of true|false {
    shared actual String string;
    shared new true {
        string = "true";
    }
    shared new false {
        string = "false";
    }
}

class BoolOpen {
    shared actual String string;
    shared new true {
        string = "true";
    }
    shared new false {
        string = "false";
    }
}

Bool t = Bool.true;
BoolOpen f = BoolOpen.false;

void tryit(Bool bool, BoolOpen boolOpen) {
    switch(bool)
    case (Bool.true) {}
    case (Bool.false) {}
    
    @error switch(bool)
    case (Bool.true) {}
    
    @error switch(boolOpen)
    case (BoolOpen.true) {}
    case (BoolOpen.false) {}
}

class BrokenBool of true|false {
    @error shared actual String string;
    shared new true {
        //string = "true";
    }
    shared new false {
        string = "false";
    }
}

class IncompleteBool1 of true {
    shared actual String string;
    shared new true {
        string = "true";
    }
    @error shared new false {
        string = "false";
    }
}

class IncompleteBool2 of true|false {<commit_msg>proposed metatypes for singleton constructors<commit_after>import ceylon.language.meta.declaration {
    ValueDeclaration
}
import ceylon.language.meta.model {
    Value
}
class Bool of true|false {
    shared actual String string;
    shared new true {
        string = "true";
    }
    shared new false {
        string = "false";
    }
}

class BoolOpen {
    shared actual String string;
    shared new true {
        string = "true";
    }
    shared new false {
        string = "false";
    }
}

Bool t = Bool.true;
BoolOpen f = BoolOpen.false;

void inferredTypes() {
    @type:"Bool" value t = Bool.true;
    @type:"Value<Bool,Nothing>" value model = `Bool.true`;
    @type:"ReferenceDeclaration" value valueref = `value Bool.true`;
}

void switchIt(Bool bool, BoolOpen boolOpen) {
    switch (bool)
    case (Bool.true) {}
    case (Bool.false) {}
    
    @error switch (bool)
    case (Bool.true) {}
    
    @error switch (boolOpen)
    case (BoolOpen.true) {}
    case (BoolOpen.false) {}
}

class BrokenBool of true|false {
    @error shared actual String string;
    shared new true {
        //string = "true";
    }
    shared new false {
        string = "false";
    }
}

class IncompleteBool1 of true {
    shared actual String string;
    shared new true {
        string = "true";
    }
    @error shared new false {
        string = "false";
    }
}

class IncompleteBool2 of true|false {
{'fraction_non_alphanumeric': 0.10954490535642368, 'fraction_numerical': 0.0016109544905356424, 'mean_word_length': 2.2857142857142856, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '651217', 'n_tokens_mistral': 789, 'n_tokens_neox': 771, 'n_words': 232}