diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-11-08 11:25:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-08 11:25:54 +0100 |
| commit | ba7ec5663945407774e279e2d3d2a888990ee67e (patch) | |
| tree | c0e3964f6770effd5bf6c4bb10d7ce602531a7a9 /src | |
| parent | b74a84c0bc30b7c669d79cebc76dccd8a4684e21 (diff) | |
| parent | 1dcdf839273d6de6ae7105aa23d99cb44e38a38c (diff) | |
| download | rust-ba7ec5663945407774e279e2d3d2a888990ee67e.tar.gz rust-ba7ec5663945407774e279e2d3d2a888990ee67e.zip | |
Rollup merge of #117531 - fmease:rustdoc-effects-properly-elide-x-crate-host-args, r=GuillaumeGomez
rustdoc: properly elide cross-crate host effect args Fixes FIXMEs introduced in #116670.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 3 | ||||
| -rw-r--r-- | src/librustdoc/clean/utils.rs | 6 |
2 files changed, 3 insertions, 6 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index e6e2d60f2e5..1b7ca7bf7dd 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -2534,7 +2534,8 @@ fn clean_generic_args<'tcx>( } hir::GenericArg::Lifetime(_) => GenericArg::Lifetime(Lifetime::elided()), hir::GenericArg::Type(ty) => GenericArg::Type(clean_ty(ty, cx)), - // FIXME(effects): This will still emit `<true>` for non-const impls of const traits + // Checking for `#[rustc_host]` on the `AnonConst` not only accounts for the case + // where the argument is `host` but for all possible cases (e.g., `true`, `false`). hir::GenericArg::Const(ct) if cx.tcx.has_attr(ct.value.def_id, sym::rustc_host) => { diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs index ca1b782492c..9ff00c1946f 100644 --- a/src/librustdoc/clean/utils.rs +++ b/src/librustdoc/clean/utils.rs @@ -124,11 +124,7 @@ pub(crate) fn ty_args_to_args<'tcx>( ))) } GenericArgKind::Const(ct) => { - // FIXME(effects): this relies on the host effect being called `host`, which users could also name - // their const generics. - // FIXME(effects): this causes `host = true` and `host = false` generics to also be emitted. - if let ty::ConstKind::Param(p) = ct.kind() - && p.name == sym::host + if let ty::GenericParamDefKind::Const { is_host_effect: true, .. } = params[index].kind { return None; } |
