Skip to content

Commit 6c3dc31

Browse files
authored
Merge branch 'main' into 1328-is-type-for-std--optional-can-return-unexpected-results
Signed-off-by: Herb Sutter <[email protected]>
2 parents 6c5ab2f + 496b75d commit 6c3dc31

33 files changed

+1609
-676
lines changed

Diff for: build_h2.bat

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@echo off
22
cd source
3-
cppfront reflect.h2 -verb
3+
cppfront reflect.h2 -verb %1
44
cd ..\include
5-
cppfront cpp2regex.h2 -verb
5+
cppfront cpp2regex.h2 -verb %1
66
cd..

Diff for: regression-tests/test-results/mixed-bounds-check.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#line 2 "mixed-bounds-check.cpp2"
2+
#include <vector>
13

24

35
//=== Cpp2 type declarations ====================================================
@@ -12,8 +14,6 @@
1214

1315
#line 1 "mixed-bounds-check.cpp2"
1416

15-
#include <vector>
16-
1717
#line 4 "mixed-bounds-check.cpp2"
1818
[[nodiscard]] auto main() -> int;
1919

Diff for: regression-tests/test-results/mixed-bugfix-for-literal-as-nttp.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include <chrono>
12

23

34
//=== Cpp2 type declarations ====================================================
@@ -11,7 +12,8 @@
1112
//=== Cpp2 type definitions and function declarations ===========================
1213

1314
#line 1 "mixed-bugfix-for-literal-as-nttp.cpp2"
14-
#include <chrono>
15+
16+
#line 2 "mixed-bugfix-for-literal-as-nttp.cpp2"
1517
auto main() -> int;
1618

1719
//=== Cpp2 function definitions =================================================

Diff for: regression-tests/test-results/mixed-captures-in-expressions-and-postconditions.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#line 2 "mixed-captures-in-expressions-and-postconditions.cpp2"
2+
#include <algorithm>
3+
#include <vector>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -12,9 +15,6 @@
1215

1316
#line 1 "mixed-captures-in-expressions-and-postconditions.cpp2"
1417

15-
#include <algorithm>
16-
#include <vector>
17-
1818
#line 5 "mixed-captures-in-expressions-and-postconditions.cpp2"
1919
[[nodiscard]] auto main() -> int;
2020

Diff for: regression-tests/test-results/mixed-fixed-type-aliases.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#include <filesystem>
2+
#include <iostream>
3+
#include <typeinfo>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -14,9 +17,7 @@ template<typename T> class mytype;
1417
//=== Cpp2 type definitions and function declarations ===========================
1518

1619
#line 1 "mixed-fixed-type-aliases.cpp2"
17-
#include <filesystem>
18-
#include <iostream>
19-
#include <typeinfo>
20+
#line 4 "mixed-fixed-type-aliases.cpp2"
2021

2122
namespace my {
2223
using u16 = float;

Diff for: regression-tests/test-results/mixed-forwarding.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#include <iostream>
2+
#include <utility>
13

24

35
//=== Cpp2 type declarations ====================================================
@@ -11,8 +13,7 @@
1113
//=== Cpp2 type definitions and function declarations ===========================
1214

1315
#line 1 "mixed-forwarding.cpp2"
14-
#include <iostream>
15-
#include <utility>
16+
#line 3 "mixed-forwarding.cpp2"
1617

1718
struct X {
1819
int i;

Diff for: regression-tests/test-results/mixed-function-expression-and-std-for-each.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
#include <vector>
2+
#include <string>
3+
#include <span>
4+
#include <algorithm>
5+
#include <iostream>
16

27

38
//=== Cpp2 type declarations ====================================================
@@ -11,11 +16,6 @@
1116
//=== Cpp2 type definitions and function declarations ===========================
1217

1318
#line 1 "mixed-function-expression-and-std-for-each.cpp2"
14-
#include <vector>
15-
#include <string>
16-
#include <span>
17-
#include <algorithm>
18-
#include <iostream>
1919

2020
#line 7 "mixed-function-expression-and-std-for-each.cpp2"
2121
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-function-expression-and-std-ranges-for-each-with-capture.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
#include <vector>
2+
#include <ranges>
3+
#include <string>
4+
#include <span>
5+
#include <algorithm>
6+
#include <iostream>
17

28

39
//=== Cpp2 type declarations ====================================================
@@ -11,12 +17,6 @@
1117
//=== Cpp2 type definitions and function declarations ===========================
1218

1319
#line 1 "mixed-function-expression-and-std-ranges-for-each-with-capture.cpp2"
14-
#include <vector>
15-
#include <ranges>
16-
#include <string>
17-
#include <span>
18-
#include <algorithm>
19-
#include <iostream>
2020

2121
#line 8 "mixed-function-expression-and-std-ranges-for-each-with-capture.cpp2"
2222
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-function-expression-and-std-ranges-for-each.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
#include <vector>
2+
#include <ranges>
3+
#include <string>
4+
#include <span>
5+
#include <algorithm>
6+
#include <iostream>
17

28

39
//=== Cpp2 type declarations ====================================================
@@ -11,12 +17,6 @@
1117
//=== Cpp2 type definitions and function declarations ===========================
1218

1319
#line 1 "mixed-function-expression-and-std-ranges-for-each.cpp2"
14-
#include <vector>
15-
#include <ranges>
16-
#include <string>
17-
#include <span>
18-
#include <algorithm>
19-
#include <iostream>
2020

2121
#line 8 "mixed-function-expression-and-std-ranges-for-each.cpp2"
2222
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-function-expression-with-pointer-capture.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
#include <vector>
2+
#include <ranges>
3+
#include <string>
4+
#include <span>
5+
#include <algorithm>
6+
#include <iostream>
17

28

39
//=== Cpp2 type declarations ====================================================
@@ -11,12 +17,6 @@
1117
//=== Cpp2 type definitions and function declarations ===========================
1218

1319
#line 1 "mixed-function-expression-with-pointer-capture.cpp2"
14-
#include <vector>
15-
#include <ranges>
16-
#include <string>
17-
#include <span>
18-
#include <algorithm>
19-
#include <iostream>
2020

2121
#line 8 "mixed-function-expression-with-pointer-capture.cpp2"
2222
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-function-expression-with-repeated-capture.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
#include <vector>
2+
#include <ranges>
3+
#include <string>
4+
#include <span>
5+
#include <algorithm>
6+
#include <iostream>
17

28

39
//=== Cpp2 type declarations ====================================================
@@ -11,12 +17,6 @@
1117
//=== Cpp2 type definitions and function declarations ===========================
1218

1319
#line 1 "mixed-function-expression-with-repeated-capture.cpp2"
14-
#include <vector>
15-
#include <ranges>
16-
#include <string>
17-
#include <span>
18-
#include <algorithm>
19-
#include <iostream>
2020

2121
#line 8 "mixed-function-expression-with-repeated-capture.cpp2"
2222
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-hello.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#line 2 "mixed-hello.cpp2"
2+
#include <iostream>
3+
#include <string>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -12,9 +15,6 @@
1215

1316
#line 1 "mixed-hello.cpp2"
1417

15-
#include <iostream>
16-
#include <string>
17-
1818
#line 5 "mixed-hello.cpp2"
1919
[[nodiscard]] auto name() -> std::string;
2020

Diff for: regression-tests/test-results/mixed-initialization-safety-3-contract-violation.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#include <random>
2+
#include <string>
3+
#include <vector>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -11,9 +14,6 @@
1114
//=== Cpp2 type definitions and function declarations ===========================
1215

1316
#line 1 "mixed-initialization-safety-3-contract-violation.cpp2"
14-
#include <random>
15-
#include <string>
16-
#include <vector>
1717

1818
#line 5 "mixed-initialization-safety-3-contract-violation.cpp2"
1919
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-initialization-safety-3.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#include <random>
2+
#include <string>
3+
#include <vector>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -11,9 +14,6 @@
1114
//=== Cpp2 type definitions and function declarations ===========================
1215

1316
#line 1 "mixed-initialization-safety-3.cpp2"
14-
#include <random>
15-
#include <string>
16-
#include <vector>
1717

1818
#line 5 "mixed-initialization-safety-3.cpp2"
1919
[[nodiscard]] auto main() -> int;

Diff for: regression-tests/test-results/mixed-inspect-templates.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#include <vector>
2+
#include <array>
3+
#include <string>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -11,9 +14,7 @@
1114
//=== Cpp2 type definitions and function declarations ===========================
1215

1316
#line 1 "mixed-inspect-templates.cpp2"
14-
#include <vector>
15-
#include <array>
16-
#include <string>
17+
#line 4 "mixed-inspect-templates.cpp2"
1718

1819
template <typename A, typename B>
1920
struct my_type {};

Diff for: regression-tests/test-results/mixed-inspect-values-2.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#line 2 "mixed-inspect-values-2.cpp2"
2+
#include <iostream>
3+
#include <vector>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -12,8 +15,7 @@
1215

1316
#line 1 "mixed-inspect-values-2.cpp2"
1417

15-
#include <iostream>
16-
#include <vector>
18+
#line 4 "mixed-inspect-values-2.cpp2"
1719

1820
constexpr auto less_than = [](int value) {
1921
return [=](auto x) { return x < value;};

Diff for: regression-tests/test-results/mixed-lifetime-safety-and-null-contracts.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#line 2 "mixed-lifetime-safety-and-null-contracts.cpp2"
2+
#include <iostream>
3+
#include <vector>
4+
#include <string>
15

26

37
//=== Cpp2 type declarations ====================================================
@@ -12,10 +16,6 @@
1216

1317
#line 1 "mixed-lifetime-safety-and-null-contracts.cpp2"
1418

15-
#include <iostream>
16-
#include <vector>
17-
#include <string>
18-
1919
#line 6 "mixed-lifetime-safety-and-null-contracts.cpp2"
2020
[[nodiscard]] auto main() -> int;
2121
#line 11 "mixed-lifetime-safety-and-null-contracts.cpp2"

Diff for: regression-tests/test-results/mixed-lifetime-safety-pointer-init-4.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#line 2 "mixed-lifetime-safety-pointer-init-4.cpp2"
2+
#include <iostream>
3+
#include <random>
14

25

36
//=== Cpp2 type declarations ====================================================
@@ -12,9 +15,6 @@
1215

1316
#line 1 "mixed-lifetime-safety-pointer-init-4.cpp2"
1417

15-
#include <iostream>
16-
#include <random>
17-
1818
#line 5 "mixed-lifetime-safety-pointer-init-4.cpp2"
1919
[[nodiscard]] auto main() -> int;
2020

Diff for: regression-tests/test-results/mixed-multiple-return-values.cpp

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#line 2 "mixed-multiple-return-values.cpp2"
2+
#include <iostream>
3+
#include <random>
4+
#include <string>
15

26

37
//=== Cpp2 type declarations ====================================================
@@ -12,9 +16,6 @@
1216

1317
#line 1 "mixed-multiple-return-values.cpp2"
1418

15-
#include <iostream>
16-
#include <random>
17-
#include <string>
1819

1920
struct f_ret { int i; std::string s; };
2021

Diff for: regression-tests/test-results/mixed-out-destruction.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include <iostream>
12

23

34
//=== Cpp2 type declarations ====================================================
@@ -11,7 +12,7 @@
1112
//=== Cpp2 type definitions and function declarations ===========================
1213

1314
#line 1 "mixed-out-destruction.cpp2"
14-
#include <iostream>
15+
#line 2 "mixed-out-destruction.cpp2"
1516

1617
struct X {
1718
inline static int Xnum = 0;

Diff for: regression-tests/test-results/mixed-parameter-passing-generic-out.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#include <iostream>
12

23

34
//=== Cpp2 type declarations ====================================================
@@ -11,7 +12,7 @@
1112
//=== Cpp2 type definitions and function declarations ===========================
1213

1314
#line 1 "mixed-parameter-passing-generic-out.cpp2"
14-
#include <iostream>
15+
#line 2 "mixed-parameter-passing-generic-out.cpp2"
1516

1617
struct X {
1718
X(int) { }

Diff for: regression-tests/test-results/mixed-parameter-passing-with-forward.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#line 2 "mixed-parameter-passing-with-forward.cpp2"
2+
#include <string>
3+
#include <cstdlib>
4+
#include <ctime>
15

26

37
//=== Cpp2 type declarations ====================================================
@@ -12,10 +16,6 @@
1216

1317
#line 1 "mixed-parameter-passing-with-forward.cpp2"
1418

15-
#include <string>
16-
#include <cstdlib>
17-
#include <ctime>
18-
1919
#line 6 "mixed-parameter-passing-with-forward.cpp2"
2020
auto copy_from([[maybe_unused]] auto unnamed_param_1) -> void;
2121

0 commit comments

Comments
 (0)