| // REQUIRED_ARGS: -de |
| module compilable.test20789; |
| |
| struct S(bool deprecateFunction, bool deprecateAlias) |
| { |
| static if (deprecateFunction) |
| deprecated string get() { return "foo"; } |
| else |
| string get() { return "foo"; } |
| |
| static if (deprecateAlias) |
| deprecated alias get this; |
| else |
| alias get this; |
| } |
| |
| void main() |
| { |
| void normalFun() |
| { |
| static assert( is(S!(false, false) : string)); |
| static assert(!is(S!(false, true ) : string)); |
| static assert(!is(S!(true , false) : string)); |
| static assert(!is(S!(true , true ) : string)); |
| } |
| deprecated void deprecatedFun() |
| { |
| // deprecations are allowed in a deprecated scope. |
| static assert(is(S!(false, false) : string)); |
| static assert(is(S!(false, true ) : string)); |
| static assert(is(S!(true , false) : string)); |
| static assert(is(S!(true , true ) : string)); |
| } |
| } |