mirror of
https://github.com/denoland/deno.git
synced 2025-02-19 11:52:52 -05:00

In Rust, it is UB if a slice is mutated while borrowed except through the slice itself, and it is also UB if a mutable slice is read while borrowed. The op macro allows borrowing an `ArrayBuffer{,View}` as a memory slice for the duration of an op, but this is not sound for async ops, since the `ArrayBuffer` could be accessed from JS during the await points. This PR therefore disallows such automatic borrowing only for async ops. Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
15 lines
345 B
Text
15 lines
345 B
Text
error: custom attribute panicked
|
|
--> tests/compile_fail/mem_slices.rs:10:1
|
|
|
|
|
10 | #[op]
|
|
| ^^^^^
|
|
|
|
|
= help: message: Memory slices are not allowed in async ops
|
|
|
|
error: custom attribute panicked
|
|
--> tests/compile_fail/mem_slices.rs:15:1
|
|
|
|
|
15 | #[op]
|
|
| ^^^^^
|
|
|
|
|
= help: message: Memory slices are not allowed in async ops
|