diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2021-06-03 18:56:31 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2021-06-07 17:14:35 -0700 |
| commit | aba85ff82077f80b6406cbaaf6a54afe6df98332 (patch) | |
| tree | cc30a389f47a407324046b2f102637bf9f25b9ae /src | |
| parent | e4a60327063e82413eed50a10df3b7d19b77bda0 (diff) | |
| download | rust-aba85ff82077f80b6406cbaaf6a54afe6df98332.tar.gz rust-aba85ff82077f80b6406cbaaf6a54afe6df98332.zip | |
Enable rustdoc to document safe wasm intrinsics
This commit fixes an issue not found during #84988 where rustdoc is used to document cross-platform intrinsics but it was requiring that functions which use `#[target_feature]` are `unsafe` erroneously, even if they're WebAssembly specific. Rustdoc today, for example, already has a special case where it enables annotations like `#[target_feature(enable = "simd128")]` on platforms other than WebAssembly. The purpose of this commit is to relax the "require all `#[target_feature]` functions are `unsafe`" requirement for all targets whenever rustdoc is running, enabling all targets to fully document other targets, such as WebAssembly, where intrinsics functions aren't always `unsafe`.
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/rustdoc-ui/wasm-safe.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/test/rustdoc-ui/wasm-safe.rs b/src/test/rustdoc-ui/wasm-safe.rs new file mode 100644 index 00000000000..80b15ace0ee --- /dev/null +++ b/src/test/rustdoc-ui/wasm-safe.rs @@ -0,0 +1,7 @@ +// check-pass + +#![feature(wasm_target_feature)] + +#[cfg(any(target_arch = "wasm32", doc))] +#[target_feature(enable = "simd128")] +pub fn foo() {} |
