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

            Bug ID: 90188
           Summary: ambiguous diagnostic "may not"
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: roland.illig at gmx dot de
  Target Milestone: ---

From cp/parser.c:

  parser->type_definition_forbidden_message
    = G_("types may not be defined in iterator type");

The term "may not" is ambiguous. It can either mean:

    it could be that types are not defined in iterator type

or:

    types should/must not be defined in iterator type

In this case I guess it's the latter. The diagnostic should be worded more
clearly. There's a reason that RFC 2119 does not include "may not" in its list
of keywords.

Reply via email to