dmd/compiler/test/fail_compilation/systemvariables_deprecation.d
Dennis 609b5c02f8
Improve inferred pure @nogc notrhow errors (#14911)
* Improve inferred `pure` `@nogc` errors

* Improve diagnostic for inferred `nothrow`
2023-03-21 15:50:44 +02:00

28 lines
759 B
D

/*
REQUIRED_ARGS: -de
TEST_OUTPUT:
---
fail_compilation/systemvariables_deprecation.d(16): Deprecation: `@safe` function `main` calling `middle`
fail_compilation/systemvariables_deprecation.d(21): which calls `systemvariables_deprecation.inferred`
fail_compilation/systemvariables_deprecation.d(27): which wouldn't be `@safe` because of:
fail_compilation/systemvariables_deprecation.d(27): cannot access `@system` variable `x0` in @safe code
---
*/
// test deprecation messages before -preview=systemVariables becomes default
void main() @safe
{
middle(); // nested deprecation
}
auto middle()
{
return inferred(); // no deprecation, inferredC is not explicit `@safe`
}
auto inferred()
{
@system int* x0;
x0 = null;
}