On Monday, 17 August 2020 at 09:59:21 UTC, novice3 wrote:
On Monday, 17 August 2020 at 09:45:55 UTC, novice3 wrote:
access violation occur.
reduced code https://run.dlang.io/is/U58t9R
The wrapper parameters don't inherit the storage classes from
the wrapped function. Try using std.traits.Parameters instead:
https://run.dlang.io/is/wTyJWD.
```
import std.traits : Parameters;
void test(out int x) { x = 42; }
void call (alias fn)(Parameters!fn args) { fn(args); }
void main()
{
int a;
a = 111;
test(a);
assert(a == 42);
a = 222;
call!test(a);
assert(a == 42);
}
```