www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 24653] New: Keyword ordering inconsistency of `auto ref`

https://issues.dlang.org/show_bug.cgi?id=24653

          Issue ID: 24653
           Summary: Keyword ordering inconsistency of `auto ref`
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: qs.il.paperinik gmail.com

For most, `auto ref` is a 2-token keyword, but at most places, it’s not
required that `auto` and `ref` be in a particular order or next to each other.
This is a valid function template declaration:
```d
void f()(ref const auto int) { }
```

There’s one exception to this: Lambda returns. Lambdas require `auto ref` in
this order.

Either the latter should be relaxed or `auto ref` should be required in this
order for all uses. While relaxing the lambdas would be the obvious
non-breaking change, maybe insisting on `auto ref` is actually the desirable
option. Probably very, very little code uses `ref auto` or something other than
`auto ref` (considering `ref auto` has very few hits on the Forum).

--
Jul 09