struct Foo {
  int a;
}
void modify(ref Foo foo) {
  foo.a++;
}
void main() {
  modify(Foo(1));
}

Why compiler doesn't report error? So as struct literal "Foo()" isn't a lvalue, it's impossible to pass it by reference. Isn't it?
Just like string or numeric literals.

Reply via email to