mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 13:10:12 +03:00
* Fix #20763 - Inconsistent handling of type + value in typeof expressions * Add supplemental error --------- Co-authored-by: Dennis Korpel <dennis@sarc.nl>
This commit is contained in:
parent
3b863b9c28
commit
28bc5c6e74
5 changed files with 60 additions and 8 deletions
|
@ -1,9 +1,10 @@
|
|||
/*
|
||||
TEST_OUTPUT:
|
||||
---
|
||||
fail_compilation/b17285.d(14): Error: type `ONE` has no value
|
||||
fail_compilation/b17285.d(14): Error: type `TWO` has no value
|
||||
fail_compilation/b17285.d(14): Error: cannot implicitly convert expression `ONE` of type `b17285.ONE` to `int`
|
||||
fail_compilation/b17285.d(15): Error: type `ONE` has no value
|
||||
fail_compilation/b17285.d(15): perhaps use `ONE.init`
|
||||
fail_compilation/b17285.d(15): Error: type `TWO` has no value
|
||||
fail_compilation/b17285.d(15): Error: cannot implicitly convert expression `ONE` of type `b17285.ONE` to `int`
|
||||
---
|
||||
*/
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
/*
|
||||
TEST_OUTPUT:
|
||||
----
|
||||
fail_compilation/ice9545.d(13): Error: type `int` has no value
|
||||
fail_compilation/ice9545.d(14): Error: type `int` has no value
|
||||
fail_compilation/ice9545.d(14): perhaps use `int.init`
|
||||
----
|
||||
*/
|
||||
|
||||
|
|
31
compiler/test/fail_compilation/test20763.d
Normal file
31
compiler/test/fail_compilation/test20763.d
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
REQUIRED_ARGS: -de
|
||||
|
||||
TEST_OUTPUT:
|
||||
---
|
||||
fail_compilation/test20763.d(25): Deprecation: type `ulong` has no value
|
||||
fail_compilation/test20763.d(25): perhaps use `ulong.init`
|
||||
fail_compilation/test20763.d(26): Deprecation: type `ulong` has no value
|
||||
fail_compilation/test20763.d(26): perhaps use `ulong.init`
|
||||
fail_compilation/test20763.d(27): Error: type `ulong` has no value
|
||||
fail_compilation/test20763.d(27): perhaps use `ulong.init`
|
||||
fail_compilation/test20763.d(28): Error: type `ulong` has no value
|
||||
fail_compilation/test20763.d(28): perhaps use `ulong.init`
|
||||
fail_compilation/test20763.d(29): Error: type `ulong` has no value
|
||||
fail_compilation/test20763.d(29): perhaps use `ulong.init`
|
||||
fail_compilation/test20763.d(30): Error: type `ulong` has no value
|
||||
fail_compilation/test20763.d(30): perhaps use `ulong.init`
|
||||
---
|
||||
*/
|
||||
|
||||
// https://github.com/dlang/dmd/issues/20763
|
||||
void test()
|
||||
{
|
||||
alias I = ulong;
|
||||
alias U0 = typeof(I + 1u);
|
||||
alias U1 = typeof(1 - I);
|
||||
alias U2 = typeof(+I);
|
||||
alias U3 = typeof(I * 1);
|
||||
alias U4 = typeof(I << 1);
|
||||
alias U5 = typeof(I | 1);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue