[Bug c++/92103] constraints not checked on nested class template

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jun 4 22:34:53 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92103

--- Comment #7 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:f2242ec0d3f1bb13c78ef3c21e0354d84fe57222

commit r11-960-gf2242ec0d3f1bb13c78ef3c21e0354d84fe57222
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Jun 4 23:20:49 2020 +0100

    libstdc++: Remove workarounds for constrained nested class templates

    With PR c++/92078 and PR c++/92103 both fixed, nested class templates
    can now be constrained. That means a number of namespace-scope helpers
    can be moved to the class scope, so they're only visible where they're
    needed.

            * include/bits/iterator_concepts.h (__detail::__ptr,
__detail::__ref)
            (__detail::__cat, __detail::__diff): Move to class scope in the
            relevant __iterator_traits specializations.
            (__iterator_traits<>): Use nested class templates instead of ones
from
            namespace __detail.
            * include/bits/stl_iterator.h (__detail::__common_iter_ptr): Move
to
            class scope in iterator_traits<common_iterator<I, S>>.
            (iterator_traits<common_iterator<I, S>>): Use nested class template
            instead of __detail::__common_iter_ptr.


More information about the Gcc-bugs mailing list