makepad/libs/relax/compiler/tests/async_send_witness.rs
Admin b22a714840 makepad run: the Rust JIT (libs/relax) and makepad-remote
The JIT that runs makepad apps from source: lexer, front end, type checker,
lazy borrow checker (Gandalf; `--check-first` opts in), codegen, session and
warm/cold caches keyed by compiler stamp, provided crates bound late,
startup images, live patching. User-facing name is `makepad run` (binary
`makepad`, MAKEPAD_RUN_* env, ~/.makepad-run); libs/relax stays the internal
library name. `makepad check` reports rustc-style diagnostics with rustc
error codes and checks a whole workspace (`--workspace`). Runs on macOS,
Linux, Windows and Android. makepad-remote: one tool schema for apps and the
WM (app/1): grabs, captures, traces, frame profiles and tweaks.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 12:26:21 +02:00

15 lines
420 B
Rust

use std::rc::Rc;
fn needs_send<T: Send>(_: T) {}
// Compile-reject fixture once M2b supplies coroutine interiors. Ignoring a test
// does not suppress rustc type checking: rustc rejects the Send bound here.
#[test]
#[ignore = "coroutine witness: arch-scope"]
fn rc_held_across_await_is_not_send() {
needs_send(async {
let rc = Rc::new(42u32);
async {}.await;
assert_eq!(*rc, 42);
});
}