HerrCai0907 added inline comments.
================ Comment at: clang/lib/Sema/SemaInit.cpp:4433 + // where H is the initializer list. + Sequence.AddQualificationConversionStep(cv1T1, VK_XValue); + } ---------------- erichkeane wrote: > Is `VK_XValue` correct here? The standards quote says it is a PRValue? The original text of standards in https://eel.is/c++draft/dcl.init.list is > List-initialization of an object or reference of type T is defined as follows: > 3.10 Otherwise, if T is a reference type, a prvalue is generated. The prvalue > initializes its result object by copy-list-initialization from the > initializer list. The prvalue is then used to direct-initialize the > reference. The type of the prvalue is the type referenced by T, unless T is > “reference to array of unknown bound of U”, in which case the type of the > prvalue is the type of x in the declaration U x[] H, where H is the > initializer list. My understand is that a PRValue is generated by XValue initialization list. By the way, I have try to use VK_PRValue, it cause the assert failed: can't implicitly cast glvalue to prvalue with this cast kind: NoOp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151515/new/ https://reviews.llvm.org/D151515 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits