Skip to content

Loading…

"Internal error looking up a definition" when assigning an enum a value from a variable #3521

Closed
bstrie opened this Issue · 4 comments

2 participants

@bstrie

This works:

fn main() {
    enum Stuff {
        Bar = 100
    }

    log(error, Bar);
}

But this doesn't:

fn main() {
    let foo = 100;

    enum Stuff {
        Bar = foo  // error: internal error looking up a definition
    }

    log(error, Bar);
}
@bstrie

Related to #2428.

@catamorphism catamorphism was assigned
@catamorphism

Related to #3668 too, I think (discrs are supposed to be constants, right?)

@catamorphism

Also, reproduced as of a477c5a

@catamorphism

This is basically the intersection of #2428 and #3668: discriminator exprs aren't getting resolved at all (#2428) and if they were, they would also have to be treated as constants correctly so that this would be a resolve error (#3668).

@catamorphism catamorphism added a commit that referenced this issue
@catamorphism catamorphism Allow enum discriminator exprs to refer to declared consts
Also some work towards #3521

Closes #2428
7237268
@catamorphism catamorphism was unassigned by bstrie
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.