-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
A-FFIArea: Foreign function interface (FFI)Area: Foreign function interface (FFI)B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-c_variadic`#![feature(c_variadic)]``#![feature(c_variadic)]`S-tracking-ready-to-stabilizeStatus: This is ready to stabilize; it may need a stabilization report and a PRStatus: This is ready to stabilize; it may need a stabilization report and a PRT-langRelevant to the language teamRelevant to the language team
Description
This is a tracking issue for the RFC "Support defining C-compatible variadic functions in Rust" (rust-lang/rfcs#2137).
Steps:
- Implement the RFC (PR Support defining C compatible variadic functions #57760)
- Adjust documentation (see instructions on forge)
- Stabilization PR (see instructions on forge)
Unresolved questions:
- "When implementing this feature, we will need to determine whether the compiler
can provide an appropriate lifetime that prevents aVaList
from outliving its
corresponding variadic function." - Continuing bikeshed on the
...
syntax. - Ensure that even when this gets stabilized for regular functions, it is still rejected on
const fn
. - What even is the semantics of this? What exactly is allowed and disallowed? Would be good to have a Miri implementation.
- borrowck problems: Poor interaction between NLL-borrowck, async, and c_variadic's
...
desugaring (VaListImpl<'_>
) #125431 - What exactly are the ABI requirements around variadic calls? What are the ABI compatibility rules? Do we have to be concerned about LLVM target features affecting variadic ABI?
- Soundness bug: Varargs are completely unchecked if passed as generics #61275
VaList<'_>
does not carry its ABI in its type #141618
tcyrus, alex, demurgos, grihabor, ctaggart and 50 moree-ivkov, Dushistov, kamulos, lvyitian, bjoernager and 1 moretyped-sigterm and ari-at-backboneDCNick3, joseluis and flaribbit
Metadata
Metadata
Assignees
Labels
A-FFIArea: Foreign function interface (FFI)Area: Foreign function interface (FFI)B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-c_variadic`#![feature(c_variadic)]``#![feature(c_variadic)]`S-tracking-ready-to-stabilizeStatus: This is ready to stabilize; it may need a stabilization report and a PRStatus: This is ready to stabilize; it may need a stabilization report and a PRT-langRelevant to the language teamRelevant to the language team