Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[dcl.contract.func]/4 Missing IFNDR

Abierto
#9,345 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp, latex, tex

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
TeX
Estrellas
221
Forks
813
Merge medio
17 h 45 min
PR fusionados (30 d)
34

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cplusplus/draft

Todos los issues de cplusplus/draft

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.