```
void bar(scope char** c, scope int* n) @trusted
{
}
void foo() @safe
{
char[100] buf;
char* c = &buf[0];
int n;
bar(&c, &n);
}
void main()
{
foo();
}
```
This doesn't compile even with dip1000, but does compile when
`buf` is moved out of the scope. Can somebody explain why it
fails and what needs to be done with it?
