On Mon, Oct 21, 2019 at 1:59 PM Jason Merrill <ja...@redhat.com> wrote:
> On 10/15/19 1:04 PM, Jakub Jelinek wrote:

> > Unlike the previous implementation, this doesn't invoke consteval function
> > already during parsing, but later on, so there aren't issues with say
> > consteval constructors or consteval in default arguments.
>
> Right, we can't immediately evaluate a class prvalue before we know what
> object it's initializing.

Actually, I'm not sure about this.  There's no way to consistently
know what object is being initialized soon enough for the evaluation
to be immediate, so I think we need to always create a temporary for
immediate invocations of class type, so we could go ahead and do
immediate evaluation in build_cxx_call.  I think this also follows
from an immediate invocation being a full-expression.

Jason

Reply via email to