You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CA 016 indicates that applying reflexpr on a constant id-expression naming a non-volatile const (but not constexpr) variable does not produce a meta-object type that satisfies Constant, but CA 008 indicates that the meta-object type so produced should satisfy Constant.
I think we can't fix this without CWG or EWG input. I'll send a note to CWG if we can confirm that we can't fix this during the current review process.
The text was updated successfully, but these errors were encountered:
HT: Please address as an issue introduced during NB comment resolution process
(would like to hear from Axel)
AN: Good catch. The intent is that the type specified by a reflex operand of
id-expression kind, where the id-expression is usable in constant expressions,
satisfies Constant. That will include const variables. I.e.
const int s = 12;
int arr[s];
static_assert(Constant<reflexpr(s)>)
AN: should not assert. Hubert, does "id-expression usable in constant
expressions" sound like the right magic spell here? It's what we use in
[expr.const]p3.
CA 016 indicates that applying
reflexpr
on a constant id-expression naming a non-volatile const (but notconstexpr
) variable does not produce a meta-object type that satisfiesConstant
, but CA 008 indicates that the meta-object type so produced should satisfyConstant
.I think we can't fix this without CWG or EWG input. I'll send a note to CWG if we can confirm that we can't fix this during the current review process.
The text was updated successfully, but these errors were encountered: