mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-19 02:13:57 +00:00
Rollup merge of #82593 - sunfishcode:wasi-docs, r=alexcrichton
Teach rustdoc how to display WASI. As a followup to [this comment] in #82420, this patch teaches rustdoc how to display WASI. [this comment]: https://github.com/rust-lang/rust/pull/82420#issuecomment-784523826 r? `@alexcrichton`
This commit is contained in:
commit
543ef7f13c
@ -483,6 +483,7 @@ impl<'a> fmt::Display for Display<'a> {
|
|||||||
"openbsd" => "OpenBSD",
|
"openbsd" => "OpenBSD",
|
||||||
"redox" => "Redox",
|
"redox" => "Redox",
|
||||||
"solaris" => "Solaris",
|
"solaris" => "Solaris",
|
||||||
|
"wasi" => "WASI",
|
||||||
"windows" => "Windows",
|
"windows" => "Windows",
|
||||||
_ => "",
|
_ => "",
|
||||||
},
|
},
|
||||||
|
@ -367,6 +367,10 @@ fn test_render_long_html() {
|
|||||||
name_value_cfg("target_os", "macos").render_long_html(),
|
name_value_cfg("target_os", "macos").render_long_html(),
|
||||||
"This is supported on <strong>macOS</strong> only."
|
"This is supported on <strong>macOS</strong> only."
|
||||||
);
|
);
|
||||||
|
assert_eq!(
|
||||||
|
name_value_cfg("target_os", "wasi").render_long_html(),
|
||||||
|
"This is supported on <strong>WASI</strong> only."
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
name_value_cfg("target_pointer_width", "16").render_long_html(),
|
name_value_cfg("target_pointer_width", "16").render_long_html(),
|
||||||
"This is supported on <strong>16-bit</strong> only."
|
"This is supported on <strong>16-bit</strong> only."
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
// @!has - '//*[@id="main"]/*[@class="item-info"]/*[@class="stab portability"]' ''
|
// @!has - '//*[@id="main"]/*[@class="item-info"]/*[@class="stab portability"]' ''
|
||||||
// @has - '//*[@id="method.unix_and_arm_only_function"]' 'fn unix_and_arm_only_function()'
|
// @has - '//*[@id="method.unix_and_arm_only_function"]' 'fn unix_and_arm_only_function()'
|
||||||
// @has - '//*[@class="stab portability"]' 'This is supported on Unix and ARM only.'
|
// @has - '//*[@class="stab portability"]' 'This is supported on Unix and ARM only.'
|
||||||
|
// @has - '//*[@id="method.wasi_and_wasm32_only_function"]' 'fn wasi_and_wasm32_only_function()'
|
||||||
|
// @has - '//*[@class="stab portability"]' 'This is supported on WASI and WebAssembly only.'
|
||||||
pub struct Portable;
|
pub struct Portable;
|
||||||
|
|
||||||
// @has doc_cfg/unix_only/index.html \
|
// @has doc_cfg/unix_only/index.html \
|
||||||
@ -37,6 +39,36 @@ pub mod unix_only {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @has doc_cfg/wasi_only/index.html \
|
||||||
|
// '//*[@id="main"]/*[@class="item-info"]/*[@class="stab portability"]' \
|
||||||
|
// 'This is supported on WASI only.'
|
||||||
|
// @matches - '//*[@class="module-item"]//*[@class="stab portability"]' '\AWebAssembly\Z'
|
||||||
|
// @count - '//*[@class="stab portability"]' 2
|
||||||
|
#[doc(cfg(target_os = "wasi"))]
|
||||||
|
pub mod wasi_only {
|
||||||
|
// @has doc_cfg/wasi_only/fn.wasi_only_function.html \
|
||||||
|
// '//*[@id="main"]/*[@class="item-info"]/*[@class="stab portability"]' \
|
||||||
|
// 'This is supported on WASI only.'
|
||||||
|
// @count - '//*[@class="stab portability"]' 1
|
||||||
|
pub fn wasi_only_function() {
|
||||||
|
content::should::be::irrelevant();
|
||||||
|
}
|
||||||
|
|
||||||
|
// @has doc_cfg/wasi_only/trait.Wasm32Only.html \
|
||||||
|
// '//*[@id="main"]/*[@class="item-info"]/*[@class="stab portability"]' \
|
||||||
|
// 'This is supported on WASI and WebAssembly only.'
|
||||||
|
// @count - '//*[@class="stab portability"]' 1
|
||||||
|
#[doc(cfg(target_arch = "wasm32"))]
|
||||||
|
pub trait Wasm32Only {
|
||||||
|
fn wasi_and_wasm32_only_function();
|
||||||
|
}
|
||||||
|
|
||||||
|
#[doc(cfg(target_arch = "wasm32"))]
|
||||||
|
impl Wasm32Only for super::Portable {
|
||||||
|
fn wasi_and_wasm32_only_function() {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// tagging a function with `#[target_feature]` creates a doc(cfg(target_feature)) node for that
|
// tagging a function with `#[target_feature]` creates a doc(cfg(target_feature)) node for that
|
||||||
// item as well
|
// item as well
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user