From 630c3adb146b4b91b37489b00a0aa5356132626c Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Thu, 20 Jun 2024 22:12:50 +0200 Subject: [PATCH] Add regression test for `unsafe_extern_blocks` --- tests/rustdoc/unsafe-extern-blocks.rs | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/rustdoc/unsafe-extern-blocks.rs diff --git a/tests/rustdoc/unsafe-extern-blocks.rs b/tests/rustdoc/unsafe-extern-blocks.rs new file mode 100644 index 0000000000000..22d3beea6c3a9 --- /dev/null +++ b/tests/rustdoc/unsafe-extern-blocks.rs @@ -0,0 +1,30 @@ +// Test to ensure the feature is working as expected. + +#![feature(unsafe_extern_blocks)] +#![crate_name = "foo"] + +// @has 'foo/index.html' + +// First we check that both the static and the function have a "sup" element +// to tell they're unsafe. + +// @count - '//ul[@class="item-table"]//sup[@title="unsafe static"]' 1 +// @has - '//ul[@class="item-table"]//sup[@title="unsafe static"]' '⚠' +// @count - '//ul[@class="item-table"]//sup[@title="unsafe function"]' 1 +// @has - '//ul[@class="item-table"]//sup[@title="unsafe function"]' '⚠' + +unsafe extern { + // @has 'foo/static.FOO.html' + // @has - '//pre[@class="rust item-decl"]' 'pub static FOO: i32' + pub safe static FOO: i32; + // @has 'foo/static.BAR.html' + // @has - '//pre[@class="rust item-decl"]' 'pub unsafe static BAR: i32' + pub static BAR: i32; + + // @has 'foo/fn.foo.html' + // @has - '//pre[@class="rust item-decl"]' 'pub extern "C" fn foo()' + pub safe fn foo(); + // @has 'foo/fn.bar.html' + // @has - '//pre[@class="rust item-decl"]' 'pub unsafe extern "C" fn bar()' + pub fn bar(); +}