Skip to content

Commit 40ffa94

Browse files
committed
PR feedback
1 parent fe540ae commit 40ffa94

File tree

3 files changed

+18
-11
lines changed

3 files changed

+18
-11
lines changed

src/librustdoc/clean/mod.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ use rustc_hir::def::{CtorKind, DefKind, Res};
1717
use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX, LOCAL_CRATE};
1818
use rustc_index::vec::{Idx, IndexVec};
1919
use rustc_infer::infer::region_constraints::{Constraint, RegionConstraintData};
20-
use rustc_middle::bug;
2120
use rustc_middle::middle::resolve_lifetime as rl;
2221
use rustc_middle::ty::fold::TypeFolder;
2322
use rustc_middle::ty::subst::{InternalSubsts, Subst};
2423
use rustc_middle::ty::{self, AdtKind, Lift, Ty, TyCtxt};
24+
use rustc_middle::{bug, span_bug};
2525
use rustc_mir::const_eval::{is_const_fn, is_unstable_const_fn};
2626
use rustc_span::hygiene::{AstPass, MacroKind};
2727
use rustc_span::symbol::{kw, sym, Ident, Symbol};
@@ -157,11 +157,14 @@ impl Clean<GenericBound> for hir::GenericBound<'_> {
157157
impl Clean<Type> for (ty::TraitRef<'_>, &[TypeBinding]) {
158158
fn clean(&self, cx: &mut DocContext<'_>) -> Type {
159159
let (trait_ref, bounds) = *self;
160-
let kind = match cx.tcx.def_kind(trait_ref.def_id) {
161-
DefKind::Trait => ItemType::Trait,
162-
DefKind::TraitAlias => ItemType::TraitAlias,
163-
other => bug!("`TraitRef` had unexpected kind {:?}", other),
164-
};
160+
let kind = cx.tcx.def_kind(trait_ref.def_id).into();
161+
if !matches!(kind, ItemType::Trait | ItemType::TraitAlias) {
162+
span_bug!(
163+
cx.tcx.def_span(trait_ref.def_id),
164+
"`TraitRef` had unexpected kind {:?}",
165+
kind
166+
);
167+
}
165168
inline::record_extern_fqn(cx, trait_ref.def_id, kind);
166169
let path = external_path(
167170
cx,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#![feature(trait_alias)]
2+
3+
pub trait SomeAlias = std::fmt::Debug + std::marker::Copy;
+6-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
#![feature(trait_alias)]
2-
#![feature(ptr_metadata)]
1+
// aux-build:trait-alias-mention.rs
2+
// build-aux-docs
33

44
#![crate_name = "foo"]
55

6-
// @has foo/fn.this_never_panics.html '//a[@title="traitalias core::ptr::metadata::Thin"]' 'Thin'
7-
pub fn this_never_panics<T: std::ptr::Thin>() {
8-
assert_eq!(std::mem::size_of::<&T>(), std::mem::size_of::<usize>())
6+
extern crate trait_alias_mention;
7+
8+
// @has foo/fn.mention_alias_in_bounds.html '//a[@href="../trait_alias_mention/traitalias.SomeAlias.html"]' 'SomeAlias'
9+
pub fn mention_alias_in_bounds<T: trait_alias_mention::SomeAlias>() {
910
}

0 commit comments

Comments
 (0)