David Tolnay

Results 358 issues of David Tolnay

```toml [dependencies] rpc = { package = "tarpc-lib", version = "0.1" } ``` Blocked on https://github.com/rust-lang/crates.io/issues/1539.

For example show the fraction of crates.io that depends directly on libc and transitively on libc in the same graph.

help wanted

fb6db7d11ec57b0f14d3323ed201887f15a16512 needs to be reverted after the ICE in nightly is fixed. https://github.com/rust-lang/rust/issues/97698

i.e. function parameters with the type `fn(...) -> ...`. ```rust #[cxx::bridge] mod ffi { extern "Rust" { fn f(arg: u8, callback: fn(u8)); } } fn f(arg: u8, callback: fn(u8)) {...

help wanted

This has very interesting implications for the SharedPtr and UniquePtr API. In Rust, it's not sound to expose a safe deref from `&SharedPtr` to `&mut T` / `Pin` because the...

needs design

1. ~Fails with "invalid ABI" on `extern "C++"` block — https://github.com/rust-lang/rustfmt/issues/4086~ 2. ~Replaces any `extern "C++"` block with `extern "Rust"` — https://github.com/rust-lang/rustfmt/issues/4086#issuecomment-601337802~ - Fixed https://github.com/rust-lang/rustfmt/pull/4088 - Backport to rustfmt 1.x https://github.com/rust-lang/rustfmt/pull/4089 3....

The fine details of this need to be worked out. The dream would be that this: ```rust mod ffi { extern "C++" { async fn doThing(arg: Arg) -> Ret; }...

help wanted

The current error is shown as: ```console error[cxxbridge]: unsupported signature ┌─ /dev/stdin:1:54 │ 1 │ #[cxx::bridge] mod ffi { extern "C++" { type T; fn f(self); }} │ ^^^^ unsupported...

help wanted

A common idiom in my codebase is: ```rust // lib.rs mod ffi; /* ... */ ``` ```rust // ffi.rs pub use self::ffi::*; #[cxx::bridge] mod ffi { /* ... */ }...

blocked

References: - https://doc.rust-lang.org/1.54.0/reference/attributes/diagnostics.html#the-must_use-attribute - https://en.cppreference.com/w/cpp/language/attributes/nodiscard ```rust #[cxx::bridge] mod ffi { #[must_use] struct S {...} extern "Rust" { #[must_use = "..."] type T; #[must_use] fn f() -> i32; } } ```...