https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126149
--- Comment #2 from Jason Liam <jlame646 at gmail dot com> ---
Yes, auto was an example. Even replacing `auto` with just NoMove would also
show the problem.
```
struct NoMove {
NoMove(NoMove&&) = delete;
};
NoMove&& DeclVal();
void F1(...);
void F2(NoMove);
using Type1 = decltype(F1(DeclVal())); // #1: this compiles
using Type2 = decltype(F2(DeclVal())); // #2: this doesn't compile when it
should
```
