mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-11 06:24:24 +00:00
Rollup merge of #84466 - jyn514:prim-str, r=GuillaumeGomez
rustdoc: Remove `PrimitiveType::{to_url_str, as_str}` These can easily be rewritten in terms of `as_sym`, and this avoids bugs where the two get out of sync. I don't expect this to have a perf impact, but I'll start a perf run just in case.
This commit is contained in:
commit
74c744e54a
@ -1767,37 +1767,6 @@ impl PrimitiveType {
|
||||
}
|
||||
}
|
||||
|
||||
crate fn as_str(&self) -> &'static str {
|
||||
use self::PrimitiveType::*;
|
||||
match *self {
|
||||
Isize => "isize",
|
||||
I8 => "i8",
|
||||
I16 => "i16",
|
||||
I32 => "i32",
|
||||
I64 => "i64",
|
||||
I128 => "i128",
|
||||
Usize => "usize",
|
||||
U8 => "u8",
|
||||
U16 => "u16",
|
||||
U32 => "u32",
|
||||
U64 => "u64",
|
||||
U128 => "u128",
|
||||
F32 => "f32",
|
||||
F64 => "f64",
|
||||
Str => "str",
|
||||
Bool => "bool",
|
||||
Char => "char",
|
||||
Array => "array",
|
||||
Slice => "slice",
|
||||
Tuple => "tuple",
|
||||
Unit => "unit",
|
||||
RawPointer => "pointer",
|
||||
Reference => "reference",
|
||||
Fn => "fn",
|
||||
Never => "never",
|
||||
}
|
||||
}
|
||||
|
||||
crate fn impls(&self, tcx: TyCtxt<'_>) -> &'static ArrayVec<DefId, 4> {
|
||||
Self::all_impls(tcx).get(self).expect("missing impl for primitive type")
|
||||
}
|
||||
@ -1860,10 +1829,6 @@ impl PrimitiveType {
|
||||
})
|
||||
}
|
||||
|
||||
crate fn to_url_str(&self) -> &'static str {
|
||||
self.as_str()
|
||||
}
|
||||
|
||||
crate fn as_sym(&self) -> Symbol {
|
||||
use PrimitiveType::*;
|
||||
match self {
|
||||
|
@ -574,7 +574,7 @@ fn primitive_link(
|
||||
f,
|
||||
"<a class=\"primitive\" href=\"{}primitive.{}.html\">",
|
||||
"../".repeat(len),
|
||||
prim.to_url_str()
|
||||
prim.as_sym()
|
||||
)?;
|
||||
needs_termination = true;
|
||||
}
|
||||
@ -603,7 +603,7 @@ fn primitive_link(
|
||||
f,
|
||||
"<a class=\"primitive\" href=\"{}/primitive.{}.html\">",
|
||||
loc.join("/"),
|
||||
prim.to_url_str()
|
||||
prim.as_sym()
|
||||
)?;
|
||||
needs_termination = true;
|
||||
}
|
||||
@ -677,7 +677,7 @@ fn fmt_type<'cx>(
|
||||
fmt::Display::fmt(&tybounds(param_names, cx), f)
|
||||
}
|
||||
clean::Infer => write!(f, "_"),
|
||||
clean::Primitive(prim) => primitive_link(f, prim, prim.as_str(), cx),
|
||||
clean::Primitive(prim) => primitive_link(f, prim, &*prim.as_sym().as_str(), cx),
|
||||
clean::BareFunction(ref decl) => {
|
||||
if f.alternate() {
|
||||
write!(
|
||||
|
@ -379,7 +379,7 @@ impl FromWithTcx<clean::Type> for Type {
|
||||
.unwrap_or_default(),
|
||||
},
|
||||
Generic(s) => Type::Generic(s.to_string()),
|
||||
Primitive(p) => Type::Primitive(p.as_str().to_string()),
|
||||
Primitive(p) => Type::Primitive(p.as_sym().to_string()),
|
||||
BareFunction(f) => Type::FunctionPointer(Box::new((*f).into_tcx(tcx))),
|
||||
Tuple(t) => Type::Tuple(t.into_iter().map(|x| x.into_tcx(tcx)).collect()),
|
||||
Slice(t) => Type::Slice(Box::new((*t).into_tcx(tcx))),
|
||||
|
@ -91,10 +91,10 @@ impl Res {
|
||||
}
|
||||
}
|
||||
|
||||
fn name(self, tcx: TyCtxt<'_>) -> String {
|
||||
fn name(self, tcx: TyCtxt<'_>) -> Symbol {
|
||||
match self {
|
||||
Res::Def(_, id) => tcx.item_name(id).to_string(),
|
||||
Res::Primitive(prim) => prim.as_str().to_string(),
|
||||
Res::Def(_, id) => tcx.item_name(id),
|
||||
Res::Primitive(prim) => prim.as_sym(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -388,7 +388,7 @@ impl<'a, 'tcx> LinkCollector<'a, 'tcx> {
|
||||
ty::AssocKind::Const => "associatedconstant",
|
||||
ty::AssocKind::Type => "associatedtype",
|
||||
};
|
||||
let fragment = format!("{}#{}.{}", prim_ty.as_str(), out, item_name);
|
||||
let fragment = format!("{}#{}.{}", prim_ty.as_sym(), out, item_name);
|
||||
(Res::Primitive(prim_ty), fragment, Some((kind.as_def_kind(), item.def_id)))
|
||||
})
|
||||
})
|
||||
@ -481,7 +481,7 @@ impl<'a, 'tcx> LinkCollector<'a, 'tcx> {
|
||||
AnchorFailure::RustdocAnchorConflict(res),
|
||||
));
|
||||
}
|
||||
return Ok((res, Some(ty.as_str().to_owned())));
|
||||
return Ok((res, Some(ty.as_sym().to_string())));
|
||||
}
|
||||
_ => return Ok((res, extra_fragment.clone())),
|
||||
}
|
||||
@ -1148,7 +1148,7 @@ impl LinkCollector<'_, '_> {
|
||||
return None;
|
||||
}
|
||||
res = prim;
|
||||
fragment = Some(prim.name(self.cx.tcx));
|
||||
fragment = Some(prim.name(self.cx.tcx).to_string());
|
||||
} else {
|
||||
// `[char]` when a `char` module is in scope
|
||||
let candidates = vec![res, prim];
|
||||
|
Loading…
Reference in New Issue
Block a user