this give the error:
```d
@safe:
int *gp2;
int g(scope int *p)
{
gp2 = p;
return -1;
}
```Error: scope variable p assigned to non-scope gp2
but this one doesn't give any error:
```d
@safe:
int gg;
int f(scope int c)
{
int k = c;
gg = c;
return k * 8;
}
```
this is why `c` is a "simple variable" can be allocated onto
stack and copied without any issue? if not, why exactly this one
doesn't give error?
