[dcl.contract.func]/4 Missing IFNDR
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ả
[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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của cplusplus/draft
-
P2-Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
P2-Bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
[dcl.array] Grammar typo Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Tất cả issue của cplusplus/draft
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
JakeChampion/lang#10213 ·
-
enhancement good first issue needs testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
bradcypert/plum#58 ·
-
flang:fir-hlfir
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
llvm/llvm-project#225935 ·
-
Hand Tail: Brass Herald Đang mởarea:cards hand-tail ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
fil-donadoni/tolaria#4446 ·