Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[dcl.contract.func]/4 Missing IFNDR

Aperta
#9,345 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp, latex, tex

Direzione di ricerca

The issue points to missing IFNDR (ill-formed, no diagnostic required) clauses in the C++ standard draft. Start by reading the linked sections [dcl.contract.func]/4 and /5 and the IFNDR annex G.6.4. Compare the wording to identify the discrepancy: one IFNDR case about mismatched contract specifiers in first declarations across translation units is documented, but another about non-first declarations may be missing. Verify the draft's structure and propose an edit to the LaTeX source, likely in the relevant .tex files under the 'dcl' or 'ifndr' sections.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

ub-ifndr

[dcl.contract.func]/4 says

A declaration D of a function or function template f that is not a first declaration shall have either no function-contract-specifier-seq or the same function-contract-specifier-seq (see below) as any first declaration F reachable from D.
If D and F are in different translation units, a diagnostic is required only if D is attached to a named module.
If a declaration F₁ is a first declaration of f in one translation unit and a declaration F₂ is a first declaration of f in another translation unit, F₁ and F₂ shall specify the same function-contract-specifier-seq, no diagnostic required ([ifndr:dcl.contract.func.mismatched.contract.specifiers]).

There are two IFNDR cases, one about not-the-first declarations and another is about first declarations.

However, G.6.4 is only about the latter case.

If two different first declarations of a function (which must therefore not be reachable from one another) do not have equivalent function contract specifiers the program is ill-formed, no diagnostic required.

BTW, [dcl.contract.func]/5 has a totally missing IFNDR

... If this condition is not met solely due to the comparison of two lambda-expressions that are contained within P₁ and P₂, no diagnostic is required.

Lingua principale
TeX
Stelle
221
Fork
813
Merge medio
17h 45m
PR unite (30g)
34

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cplusplus/draft

Tutte le issue di cplusplus/draft

Issue simili

Altre issue su Compilers

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.