Skip to content

Clang with -std=c++2a crashes on invalid recursive variadic template struct definition #181

Closed
@rgreenblatt

Description

@rgreenblatt

This happens with 10 rc2/rc3 and latest dev built from source.

This is a pretty minimal reproduction:

template <char First, char... Rest> struct Recursive {
  using next = typename Recursive<Rest...>::type;
  using type = notdefined<next::anything>;
};

Build with clang++ -std=c++2a test.cpp
It doesn't crash with -std=c++17

I made a docker container which reproduces the issue.

backtrace.txt

Here is a zip with the backtrace, preprocessed source and associated run script.
bug-report.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions