mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
31 lines
1.1 KiB
Rust
31 lines
1.1 KiB
Rust
// 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();
|
|
}
|