https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109529
--- Comment #3 from Lisp2D <lisp2d at rambler dot ru> --- (In reply to Andrew Pinski from comment #2) > Since `static_cast<int volatile && >(x)` is considered rvalue and `int I can't find a reason anywhere in the standard why the volatile property prevents conversion from `&&` to `const &`.