rust-lang / rust-lang/rust

Tracking Issue for `VaArgSafe` in bounds (`c_variadic_va_arg_safe`)

Open
#162,911 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-tracking-issue S-tracking-design-concerns T-libs
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Feature gate: #![feature(c_variadic_va_arg_safe)]

This is a tracking issue for the VaArgSafe trait (part of rust-lang/rfcs#2137).
See also the tracking issue for c_variadic, where the API of this feature was intially stabilized on beta: #44930
Zulip stream: #t-libs > Implementing `VaArgSafe` on references is a breaking change

Public API
// core::ffi, reexported in std::ffi
pub impl(self) unsafe trait VaArgSafe {}
Steps / History
  • Implementation: #57760
  • Destabilization PR: #162909
  • Final comment period (FCP)^1
  • Stabilization PR
Unresolved Questions
  • Should (thin) references implement the trait (and if so, what about extern types)? (see zulip and #162478)
  • #153646

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the public API for VaArgSafe in core::ffi, its reexport in std::ffi, and the implementation in #57760. Read the linked c_variadic tracking issue, #162478, #153646, and the Zulip discussion before assessing the unresolved reference questions. Done means the open questions are resolved and the final comment period and stabilization PR can proceed.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.