forked from OSchip/llvm-project
3291877656
such guides below explicit ones, and ensure that references to the class's template parameters are not treated as forwarding references. We make a few tweaks to the wording in the current standard: 1) The constructor parameter list is copied faithfully to the deduction guide, without losing default arguments or a varargs ellipsis (which the standard wording loses by omission). 2) If the class template declares no constructors, we add a T() -> T<...> guide (which will only ever work if T has default arguments for all non-pack template parameters). 3) If the class template declares nothing that looks like a copy or move constructor, we add a T(T<...>) -> T<...> guide. #2 and #3 follow from the "pretend we had a class type with these constructors" philosophy for deduction guides. llvm-svn: 295007 |
||
---|---|---|
.. | ||
expr.ass | ||
expr.cast | ||
expr.cond | ||
expr.const | ||
expr.mptr.oper | ||
expr.post | ||
expr.prim | ||
expr.unary | ||
p3.cpp | ||
p8.cpp | ||
p9.cpp | ||
p10-0x.cpp | ||
p13.cpp |