rustdoc: properly elide cross-crate host effect args

This commit is contained in:
León Orell Valerian Liehr 2023-11-03 01:44:09 +01:00
parent ffb7ed9fa4
commit 1dcdf83927
No known key found for this signature in database
GPG key ID: D17A07215F68E713
7 changed files with 50 additions and 21 deletions

View file

@ -1,3 +1,5 @@
// Check that we don't render host effect parameters & arguments.
#![crate_name = "foo"]
#![feature(effects, const_trait_impl)]

View file

@ -0,0 +1,16 @@
#![feature(effects, const_trait_impl)]
#[const_trait]
pub trait Resource {}
pub const fn load<R: ~const Resource>() -> i32 {
0
}
pub const fn lock<R: Resource>() {}
#[allow(non_upper_case_globals)]
pub trait Clash<const host: u64> {}
#[allow(non_upper_case_globals)]
pub const fn clash<T: Clash<host>, const host: u64>() {}

View file

@ -1,5 +0,0 @@
#![feature(effects)]
pub const fn load() -> i32 {
0
}

View file

@ -0,0 +1,29 @@
// Regression test for issue #116629.
// Check that we don't render host effect parameters & arguments.
// aux-crate:const_effect_param=const-effect-param.rs
// edition: 2021
#![crate_name = "user"]
// Don't render the host param on `load` and the host arg `host` passed to `Resource`.
// @has user/fn.load.html
// @has - '//pre[@class="rust item-decl"]' "pub const fn load<R>() -> i32\
// where \
// R: Resource"
pub use const_effect_param::load;
// Don't render the host arg `true` passed to `Resource`.
// @has user/fn.lock.html
// @has - '//pre[@class="rust item-decl"]' "pub const fn lock<R>()\
// where \
// R: Resource"
pub use const_effect_param::lock;
// Regression test for an issue introduced in PR #116670.
// Don't hide the const param `host` since it actually isn't the host effect param.
// @has user/fn.clash.html
// @has - '//pre[@class="rust item-decl"]' \
// "pub const fn clash<T, const host: u64>()\
// where \
// T: Clash<host>"
pub use const_effect_param::clash;

View file

@ -1,10 +0,0 @@
// Regression test for issue #116629.
// Check that we render the correct generic params of const fn
// aux-crate:const_fn=const-fn.rs
// edition: 2021
#![crate_name = "user"]
// @has user/fn.load.html
// @has - '//pre[@class="rust item-decl"]' "pub const fn load() -> i32"
pub use const_fn::load;