Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[dcl.contract.func]/4 Missing IFNDR

Đang mở
#9,345 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Tài liệu
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
cpp, latex, tex
Lĩnh vực
compilers, documentation

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
TeX
Star
221
Fork
813
Merge trung bình
17 giờ 45 phút
Pull request đã merge (30 ngày)
34

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của cplusplus/draft

Tất cả issue của cplusplus/draft

Issue tương tự

Thêm issue về Compilers

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.