Hello,
why this code compile without problems:
```d
struct Query{
public const SharedPtr!Builder builder;
}
interface Builder{
void build(ref Query query);
}
struct SharedPtr(T){
enum touch_T = __traits(hasMember, T, "touch");
//...
}
void main(){
}
```
but if `ref Query query` is scope then there is error?
```d
struct Query{
public const SharedPtr!Builder builder;
}
interface Builder{
void build(scope ref Query query); //SCOPE
}
struct SharedPtr(T){
enum touch_T = __traits(hasMember, T, "touch");
//...
}
void main(){
}
```
```
src/app.d(3,1): Error: no size because of forward references
src/app.d(4,18): Error: template instance
`app.SharedPtr!(Builder)` error instantiating
```