Date
2016-02-15.00:00:00
Message id
4753

Content

According to 6.9.3.2 [basic.start.static] paragraph 2,

Constant initialization is performed:

  • if each full-expression (including implicit conversions) that appears in the initializer of a reference with static or thread storage duration is a constant expression (7.7 [expr.const]) and the reference is bound to an lvalue designating an object with static storage duration or to a temporary (see 6.7.7 [class.temporary]);

  • ...

This wording should also permit the reference to be bound to an xvalue, e.g., a subobject of a temporary, and not just to a complete temporary.