https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103110
--- Comment #2 from Fedor Chelnokov <fchelnokov at gmail dot com> --- I think the program must be equivalent to ``` struct S { operator auto() const { return 2; } }; int main() { S s; [[maybe_unused]] int d = s; } ``` and `auto` here is deduced from `return 2` and not from `template<class=void>`