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