All function pointer types should be `Option<unsafe extern "C" fn(...) -> ...>`

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

Maintainer thường phản hồi trong vòng 1 ngày

@Deepak-negi11 đang làm issue này rồi.

Từ ngày 10/10/2026.

Đá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
65/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
rust
Lĩnh vực
tooling

Hướng nghiên cứu

Bắt đầu bằng cách đọc các kiểm tra trong style.rs và các ví dụ liên quan trong issue #2198 và pull request #4341. Mở rộng các kiểm tra để yêu cầu Option<unsafe extern "C" fn(...) -> ...> cho tất cả các kiểu con trỏ hàm, bao quát các yêu cầu về khả năng null, tính an toàn và quy ước gọi được mô tả trong issue.

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

Mô tả

https://github.com/rust-lang/libc/issues/2198 falls into this category, and https://github.com/rust-lang/libc/pull/4341 fixes at least a subset. We should enforce this rule in the style.rs checks.

Three things here:

  1. Option because API may allow a null pointer
  2. unsafe because functions may have side effects or be invalid pointers (https://github.com/rust-lang/libc/issues/4998 for a proposal to adjust the second part)
  3. extern "C" because that's what the C side expects
Ngôn ngữ chính
Rust
Star
2.6k
Fork
1.3k
Merge trung bình
2 ngày 10 giờ
Pull request đã merge (30 ngày)
26

Chuẩn bị môi trường

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 rust-lang/libc

Tất cả issue của rust-lang/libc

Issue tương tự

Thêm issue về Rust

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.