Closed
Description
Title: Crash in alias declaration with member call (UFCS).
Minimal reproducer (https://cpp2.godbolt.org/z/h9hYjonTj):
f: (x: i32) -> i32 = x;
// Any of these triggers the bug.
a: <V: std::type_identity_t<decltype(0.f())>> type == i32;
// b: type == std::type_identity_t<decltype(0.f())>;
// c: <V: std::type_identity_t<decltype(0.f())>> _ == 0;
// d: _ == std::type_identity_t<decltype(0.f())>(0);
main: () = { }
Commands:
cppfront main.cpp2
clang++17 -std=c++23 -stdlib=libc++ -lc++abi -pedantic-errors -Wall -Wextra -Wconversion -I . main.cpp
Expected result: A well-formed program.
Actual result and error:
Compiler returned: 139
make[2]: *** [CMakeFiles/test.dir/build.make:75: _cppfront/main.cpp] Segmentation fault (core dumped)