Hmm, `auto ref`? I don't think `ref` can work with a cast, e.g.:

```D
float y;
ref int x() { return cast(int)y; }  // Error: cast(int)y is not an lvalue
```