mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
97 lines
1.5 KiB
D
97 lines
1.5 KiB
D
// REQUIRED_ARGS: -o- -w
|
|
|
|
/*
|
|
Warning removed in: https://github.com/dlang/dmd/pull/15568
|
|
---
|
|
fail_compilation/warn12809.d(25): Warning: statement is not reachable
|
|
fail_compilation/warn12809.d(33): Warning: statement is not reachable
|
|
---
|
|
*/
|
|
|
|
//void test_unrachable1()
|
|
//{
|
|
// try assert(0);
|
|
// finally
|
|
// {
|
|
// int x = 1; // unreachable
|
|
// }
|
|
//}
|
|
|
|
void test_unrachable2()
|
|
{
|
|
try assert(0);
|
|
finally {}
|
|
|
|
int x = 1; // unreachable
|
|
}
|
|
|
|
void test_unrachable3()
|
|
{
|
|
try {}
|
|
finally assert(0);
|
|
|
|
int x = 1; // unreachable
|
|
}
|
|
|
|
/********************************************/
|
|
|
|
/*
|
|
|
|
---
|
|
fail_compilation/warn12809.d(108): Warning: statement is not reachable
|
|
fail_compilation/warn12809.d(115): Warning: statement is not reachable
|
|
fail_compilation/warn12809.d(122): Warning: statement is not reachable
|
|
Error: warnings are treated as errors
|
|
Use -wi if you wish to treat warnings only as informational.
|
|
---
|
|
*/
|
|
|
|
#line 100
|
|
|
|
alias noreturn = typeof(*null);
|
|
|
|
noreturn foo();
|
|
|
|
void test1(ref int i)
|
|
{
|
|
foo();
|
|
i = 3;
|
|
}
|
|
|
|
void test2()
|
|
{
|
|
try foo();
|
|
finally { }
|
|
int x = 1;
|
|
}
|
|
|
|
void test3()
|
|
{
|
|
try { }
|
|
finally foo();
|
|
int x = 1;
|
|
}
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=14835
|
|
bool isEven(int i)()
|
|
{
|
|
static if (i % 2)
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
enum x = isEven!0;
|
|
|
|
// https://issues.dlang.org/show_bug.cgi?id=10532
|
|
alias Seq(T...) = T;
|
|
void f()
|
|
{
|
|
foreach (e; Seq!(10, 20))
|
|
{
|
|
if (e == 10)
|
|
continue;
|
|
|
|
// lots of code follows..
|
|
auto x = 1;
|
|
}
|
|
}
|