Skip to content

Spurious internal errors when on ambiguous overridden methods #220

Description

@JonatanWaern

In cases like

template a {
    method foo default { ... }
}

is a;

#if (some_constant) {
    method foo() {
        local int bar = 5;
        do_stuff(bar);
    }
} #else {
    method foo() {
        ...
    }
}

DLS does not know which method should be the actual final override, and picks one arbitrarily. This will result in an internal error when resolving the reference from 'bar' if the second definition of foo is picked. Will be automatically solved once #13 is resolved properly

In practice I have never found a case where this also results in a goto-ref/def/decl/etc fails, but in theory that could happen so a future workaround might be neccessary.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions