Skip to content

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

Open
steve-downey wants to merge 1 commit into
cplusplus:mainfrom
steve-downey:temp-constr-order-preorder
Open

steve-downey wants to merge 1 commit into
cplusplus:mainfrom
steve-downey:temp-constr-order-preorder

Conversation

@steve-downey

@steve-downey steve-downey commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #9371

Editorial. 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. 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 it, 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 change rewords the note to say what the relation is and which ordering is used.

The note says the subsumption relation defines a partial ordering on
constraints. 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. The partial ordering the note goes on
to list uses is the ordering of declarations that p4 and p5 induce from
it. Say so.
@eisenwave eisenwave added the P2-Bug Presentational errors and omissions label Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2-Bug Presentational errors and omissions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

2 participants