Skip to content

Certain unicode character combinations make the compiler angry #5272

Closed
@AngryLawyer

Description

@AngryLawyer

So, I have the following

mod tokenizer {

    #[test]
    fn test_tokenize_one() {
        //Numbers
        let string = ~"1";
        let string = ~"321";

        //Strings
        let string = ~"'This is a string'";

        //Operators
        let string = ~"⍒";
        let string = ~"÷";

        //Comments
        let string = ~"⍝";
        let string = ~"⍝ lol";

        //Function definition
        let string = ~"∇Function";

        //Close function
        let string = ~"∇";

        //Endlines
        let string = ~"\n";

        //Variables
        let string = ~"⍙var";
        let string = ~"∆var";
        let string = ~"var";
    }
}

And for some reason, on both my OSX build of Incoming, and my on my Ubuntu build of it, I get an error:

rust: task failed at 'Assertion bpos == mbc.pos || bpos.to_uint() >= mbc.pos.to_uint() + mbc.bytes failed', /home/tony/Projects/rust/src/libsyntax/codemap.rs:500

When I start using the variables (such as sticking Print statements after each definition of it) it compiles fine. Taking out the weird APL symbols that my interpreter is going to be testing also fixes it.

Is there an issue with having too many unused instances of a variable? Or with trouble with (super obscure) Unicode glyphs?

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-frontendArea: Compiler frontend (errors, parsing and HIR)I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions