dmd/compiler/test/fail_compilation/diag14876.d
Nick Treleaven bb638373d6
Fix Issue 15436 - Compiler still refers to AliasSeq-s as "tuple"-s (#15363)
* Fix Issue 15436 - Compiler still refers to AliasSeq-s as "tuple"-s

Replace "tuple type" with "type sequence".
Replace "tuple" with "sequence".
Pretty print `AliasSeq!(args)`, not `tuple(args)`.
Leave json as "tuple" for now.
Also mention std.typecons.Tuple when trying to return a sequence.

Note: This does not rename any internal compiler symbols.

* Update runnable tests

* Update stringof tests

* Update remaining tests

* retrigger tests
2023-06-30 11:02:00 +03:00

25 lines
940 B
D

/*
TEST_OUTPUT:
---
fail_compilation/diag14876.d(17): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(18): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(19): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(20): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(21): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(22): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(23): Deprecation: class `diag14876.Dep` is deprecated
fail_compilation/diag14876.d(23): Error: can only slice type sequences, not `diag14876.Dep`
---
*/
deprecated class Dep { class Mem {} }
alias X1 = Foo!(Dep[]);
alias X2 = Foo!(Dep[1]);
alias X3 = Foo!(Dep[int]);
alias X4 = Foo!(int[Dep]);
alias X5 = Foo!(Dep*);
alias X6 = Foo!(Dep.Mem);
alias X7 = Foo!(Dep[3..4]);
template Foo(T) {}