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

            Bug ID: 79767
           Summary: inline namespace and unqualified definition
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

Created attachment 40854
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40854&action=edit
exemplar

When an inline namespace provides a declaration, an unqualified definition in
the containing namespace will create a new definition rather than complete the
declaration.  This is contrary to the case when a qualified name is used naming
the containing namespace only.

The attached testcase will emit an error about an ambiguous overload of P --
Y::P vs Y::X::P.

Not sure if this is expected behaviour, but it surprised me.

Reply via email to