https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82047
Louis Dionne <ldionne.2 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ldionne.2 at gmail dot com --- Comment #5 from Louis Dionne <ldionne.2 at gmail dot com> --- I don't understand why the standard mandates that template <typename T> constexpr T v; though it is only a declaration, would actually default-initialize the object if you try to use it (am I understanding this properly?). I understand that this is consistent with constexpr T x; which default-initializes `x`, but that is a definition, not a declaration. In this case, maybe it doesn't make sense to pretend that template <typename T> constexpr T v; is only a declaration?