Skip to content

The IntelliSense process may crash if two template constexpr functions have the same name #13775

@sean-mcmanus

Description

@sean-mcmanus

Use

template <typename T>
constexpr void func()
{
int i1 = 5;
int b;
}

template <typename T>
constexpr void func()
{
    // <-- Type i
}

Type i where indicted.

Bug: The IntelliSense process crashes. Other repros are possible that don't require edits and other crashes may happen when putting the cursor on an identifier (reference highlighting).

I originally reproed it on Mac with the clang 17 preprocessed system headers but without the proper defines set, which causes two system library functions with different overloads to be treated as "the same" due to one of the differentiating arguments being an "error type" (e.g. __find_end).

This repros with 1.26.3, but 1.27.0 might repro it with additional code samples/edits too.

The internal issue is 2528486.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Pull Request

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions