Skip to content

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

Closed

Description

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.

Activity

  1. moved this from In progress to Pull Request in cpptoolson Jul 23, 2025
  2. added
    fixedCheck the Milestone for the release in which the fix is or will be available.
    on Jul 30, 2025
  3. moved this from Pull Request to Done in cpptoolson Jul 30, 2025
  4. sean-mcmanus commented on Jul 30, 2025

    @sean-mcmanus
    ContributorAuthor

    There were 3 different crash scenarios, the could repro when }} was added before system headers on Mac due to that causing certain definitions to be skipped resulting in IntelliSense incorrectly parsing function as duplicates.

  5. locked and limited conversation to collaborators on Sep 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Language ServiceVisual StudioInherited from Visual StudiobugfixedCheck the Milestone for the release in which the fix is or will be available.reliability

    Type

    Projects

    • Status
      Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions