philnik777 wrote:

> > IMO this is incorrect. https://eel.is/c++draft/type.traits clearly states 
> > that both types have to be complete.
> 
> > T is a reference type, and the initialization T t(VAL); is well-formed
> 
> If the precondition `T is a reference type` is not satisfied, I think the 
> compiler should not try to instantiation `T t(VAL<U>);`. This is what the PR 
> want to fix.

The precondition is "T and U shall be complete types, cv void, or arrays of 
unknown 
bound[.](https://eel.is/c++draft/type.traits#tab:meta.unary.prop-row-48-column-3-sentence-1)".

The check for which this patch disables if the first argument isn't a reference 
type.

https://github.com/llvm/llvm-project/pull/206527
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to