Skip to content

Commit 32fd552

Browse files
committed
test: add case for templated type-scope object alias
1 parent 387d352 commit 32fd552

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

regression-tests/pure2-type-and-namespace-aliases.cpp2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ myfunc: () = {
2323
std::cout << "(s)$\n";
2424
}
2525

26+
myclass2: <T> type = {
27+
value: int == 42;
28+
}
29+
2630
main: () = {
2731
view: type == std::string_view;
2832
N4: namespace == std::literals;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
pure2-type-and-namespace-aliases.cpp2:27:26: error: ‘template<class T> class myclass2’ used without template arguments
2+
27 | value: int == 42;
3+
| ^

regression-tests/test-results/pure2-type-and-namespace-aliases.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ namespace N {
1616
class myclass;
1717

1818

19+
#line 26 "pure2-type-and-namespace-aliases.cpp2"
20+
template<typename T> class myclass2;
21+
22+
1923
//=== Cpp2 type definitions and function declarations ===========================
2024

2125

@@ -44,6 +48,15 @@ auto myfunc() -> void;
4448

4549

4650
#line 26 "pure2-type-and-namespace-aliases.cpp2"
51+
template<typename T> class myclass2 {
52+
public: static const int value;
53+
54+
public: myclass2() = default;
55+
public: myclass2(myclass2 const&) = delete; /* No 'that' constructor, suppress copy */
56+
public: auto operator=(myclass2 const&) -> void = delete;
57+
#line 28 "pure2-type-and-namespace-aliases.cpp2"
58+
};
59+
4760
auto main() -> int;
4861

4962

@@ -65,6 +78,10 @@ auto myfunc() -> void{
6578
std::cout << cpp2::to_string(s) + "\n";
6679
}
6780

81+
#line 27 "pure2-type-and-namespace-aliases.cpp2"
82+
inline constexpr int myclass2::value = 42;
83+
84+
#line 30 "pure2-type-and-namespace-aliases.cpp2"
6885
auto main() -> int{
6986
using view = std::string_view;
7087
namespace N4 = std::literals;

0 commit comments

Comments
 (0)