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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
GCC 9 produced:
<source>:20:55: error: 'class outer' has no member named 'on_nested_ctor'
   20 |         explicit nested(outer& o)
noexcept(noexcept(o.on_nested_ctor())) :
      |                                                       ^~~~~~~~~~~~~~
<source>:29:45: error: 'class outer' has no member named 'on_nested_dtor'
   29 |         ~nested() noexcept(noexcept(m_outer.on_nested_dtor()))
      |                                             ^~~~~~~~~~~~~~


GCC 8 produced:
<source>:20:53: error: invalid use of incomplete type 'class outer'
         explicit nested(outer& o) noexcept(noexcept(o.on_nested_ctor())) :
                                                     ^
<source>:9:7: note: forward declaration of 'class outer'
 class outer :
       ^~~~~
<source>:29:37: error: invalid use of incomplete type 'class outer'
         ~nested() noexcept(noexcept(m_outer.on_nested_dtor()))
                                     ^~~~~~~
<source>:9:7: note: forward declaration of 'class outer'
 class outer :
       ^~~~~

Reply via email to