David Tolnay
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.
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)) {...
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...
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; }...
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...
A common idiom in my codebase is: ```rust // lib.rs mod ffi; /* ... */ ``` ```rust // ffi.rs pub use self::ffi::*; #[cxx::bridge] mod ffi { /* ... */ }...
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; } } ```...