Skip to content

[temp.constr.order] Subsumption is a preorder, not a partial ordering #9371

Open

Description

@steve-downey

The note in [temp.constr.order] p2 says:

The subsumption relation defines a partial ordering on constraints.

It does not. By the definition in p1, A && B and B && A subsume each other and are different constraints, so the relation is not antisymmetric. It is a preorder: reflexive and transitive, but with distinct constraints that subsume each other.

The partial ordering the note goes on to list uses for is the ordering of declarations that p4 and p5 ("at least as constrained", "more constrained") induce from subsumption, which is a strict partial order.

Nothing normative depends on the sentence, since every normative use of subsumption asks for one direction and whether the converse fails. The note should say what the relation is and which ordering is used.

Proposed fix in #9368.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-BugPresentational errors and omissions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions