[Bug libstdc++/60497] unique_ptr<T> tries to complete its type T even though it's not required to be a complete type
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 30 14:48:26 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60497
--- Comment #14 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:47915ef8477569b2fbd8001996aa4e542284bb24
commit r12-320-g47915ef8477569b2fbd8001996aa4e542284bb24
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Apr 30 14:45:42 2021 +0100
libstdc++: Use std::addressof to avoid ADL for operator& [PR 60497]
This is another small step towards avoiding the problems described in PR
60497, by using std::addressof to avoid ADL, so that we don't require
all template arguments to be complete.
libstdc++-v3/ChangeLog:
PR libstdc++/60497
* include/bits/basic_ios.tcc (basic_ios::copyfmt): use
std::addressof.
* include/bits/basic_string.tcc (basic_string::swap)
(basic_string::assign): Likewise.
* include/bits/deque.tcc (deque::operator=(const deque&)):
Likewise.
* include/bits/stl_tree.h (_Rb_tree::operator=(const * _Rb_tree&)):
Likewise.
* include/bits/vector.tcc (vector::operator=(const vector&)):
Likewise.
More information about the Gcc-bugs
mailing list