dmd/compiler/test/compilable/fix21647.d
2022-07-09 18:53:07 +02:00

37 lines
613 B
D

/*
REQUIRED_ARGS: -preview=rvaluerefparam
TEST_OUTPUT:
---
cast(void)0
cast(void)0
void
cast(void)0
cast(void)0
cast(void)0
void
---
*/
// https://issues.dlang.org/show_bug.cgi?id=21647
void foo() { return cast(void)1; }
void main(){}
alias V = void;
void test1() { pragma(msg, foo()); }
void test2() { pragma(msg, main()); }
void test3() { pragma(msg, V); }
pragma(msg, foo());
pragma(msg, main());
pragma(msg, V);
/*************************************************************/
// https://issues.dlang.org/show_bug.cgi?id=8255
struct G {}
struct F(T) { void f(ref T) {} }
pragma(msg, F!G().f(G.init));