From 29cbf7f84eb76c9f291b6b3b3cf92f4582a6c613 Mon Sep 17 00:00:00 2001 From: Alistair Bell Date: Tue, 25 Mar 2025 22:16:36 -0400 Subject: [PATCH 1/2] Fix bug #1378 and create a regression test. --- regression-tests/pure2-bugfix-bad-using.cpp2 | 3 +++ .../test-results/pure2-bugfix-bad-using.cpp2.output | 3 +++ source/parse.h | 3 +-- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 regression-tests/pure2-bugfix-bad-using.cpp2 create mode 100644 regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output diff --git a/regression-tests/pure2-bugfix-bad-using.cpp2 b/regression-tests/pure2-bugfix-bad-using.cpp2 new file mode 100644 index 0000000000..1878b6fde5 --- /dev/null +++ b/regression-tests/pure2-bugfix-bad-using.cpp2 @@ -0,0 +1,3 @@ +main: () = { + using +} diff --git a/regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output b/regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output new file mode 100644 index 0000000000..a27618ea53 --- /dev/null +++ b/regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output @@ -0,0 +1,3 @@ +pure2-bugfix-bad-using.cpp2... +pure2-bugfix-bad-using.cpp2(3,1): error: expected valid id-expression after 'using' (at '}') + diff --git a/source/parse.h b/source/parse.h index 9c80447bf4..aaa51dd31d 100644 --- a/source/parse.h +++ b/source/parse.h @@ -2275,8 +2275,7 @@ struct using_statement_node auto for_namespace() const -> bool { - assert(id); - return id->to_string().ends_with("::_"); + return (id && id->to_string().ends_with("::_")); } auto position() const From f5747195a2e1acc5609bbe79051ba074f8e9c2d9 Mon Sep 17 00:00:00 2001 From: Herb Sutter Date: Mon, 28 Apr 2025 17:53:58 -1000 Subject: [PATCH 2/2] Renamed new test file to *-error.cpp2 --- ...ix-bad-using.cpp2 => pure2-bugfix-for-bad-using-error.cpp2} | 0 .../test-results/pure2-bugfix-bad-using.cpp2.output | 3 --- .../test-results/pure2-bugfix-for-bad-using-error.cpp2.output | 3 +++ 3 files changed, 3 insertions(+), 3 deletions(-) rename regression-tests/{pure2-bugfix-bad-using.cpp2 => pure2-bugfix-for-bad-using-error.cpp2} (100%) delete mode 100644 regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output create mode 100644 regression-tests/test-results/pure2-bugfix-for-bad-using-error.cpp2.output diff --git a/regression-tests/pure2-bugfix-bad-using.cpp2 b/regression-tests/pure2-bugfix-for-bad-using-error.cpp2 similarity index 100% rename from regression-tests/pure2-bugfix-bad-using.cpp2 rename to regression-tests/pure2-bugfix-for-bad-using-error.cpp2 diff --git a/regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output b/regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output deleted file mode 100644 index a27618ea53..0000000000 --- a/regression-tests/test-results/pure2-bugfix-bad-using.cpp2.output +++ /dev/null @@ -1,3 +0,0 @@ -pure2-bugfix-bad-using.cpp2... -pure2-bugfix-bad-using.cpp2(3,1): error: expected valid id-expression after 'using' (at '}') - diff --git a/regression-tests/test-results/pure2-bugfix-for-bad-using-error.cpp2.output b/regression-tests/test-results/pure2-bugfix-for-bad-using-error.cpp2.output new file mode 100644 index 0000000000..539bfa62b3 --- /dev/null +++ b/regression-tests/test-results/pure2-bugfix-for-bad-using-error.cpp2.output @@ -0,0 +1,3 @@ +pure2-bugfix-for-bad-using-error.cpp2... +pure2-bugfix-for-bad-using-error.cpp2(3,1): error: expected valid id-expression after 'using' (at '}') +