From 55595ca1b74e07eb2365d5aec3861600e2266470 Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Mon, 5 Dec 2022 08:10:22 -0800 Subject: fix(ops): disallow auto-borrowing OpState across potential await point (#16952) Fixes https://github.com/denoland/deno/issues/16934 Example compiler error: ``` error: mutable opstate is not supported in async ops --> core/ops_builtin.rs:122:1 | 122 | #[op] | ^^^^^ | = note: this error originates in the attribute macro `op` (in Nightly builds, run with -Z macro-backtrace for more info) ``` --- ops/optimizer_tests/issue16934_fast.rs | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 ops/optimizer_tests/issue16934_fast.rs (limited to 'ops/optimizer_tests/issue16934_fast.rs') diff --git a/ops/optimizer_tests/issue16934_fast.rs b/ops/optimizer_tests/issue16934_fast.rs new file mode 100644 index 000000000..8d3488e9d --- /dev/null +++ b/ops/optimizer_tests/issue16934_fast.rs @@ -0,0 +1,8 @@ +async fn send_stdin(state: &mut OpState, v: i32) -> Result<(), anyhow::Error> { + // @test-attr:fast + // + // https://github.com/denoland/deno/issues/16934 + // + // OpState borrowed across await point is not allowed, as it will likely panic at runtime. + Ok(()) +} -- cgit v1.2.3