When is a variable odr-used in C++14?
The C++14 draft (N3936) states in §3.2/3: A variable x whose name appears as a potentially-evaluated expression ex is odr-used unless applying the lvalue-to-rvalue conversion (4.1) to x yields a constant expression (5.19) that does not invoke any non-trivial functions and, if x is an object, ex is an element of the set of potential results of an expression e, where either the lvalue-to-rvalue conversion (4.1) is applied to e, or e is a discarded-value expression (Clause 5). This doesn't make any sense to me: If an expression e is a discarded-value expression depends on the context, in which e