rustdoc: error when rustc_doc_primitive
has an unknown type
Currently rustdoc silently does nothing if it isn't aware of the specified primitive type. Change this to raise an error instead.
This commit is contained in:
parent
087ae978a1
commit
695514e8d8
@ -23,6 +23,7 @@ use rustc_hir::{BodyId, Mutability};
|
||||
use rustc_hir_analysis::check::intrinsic::intrinsic_operation_unsafety;
|
||||
use rustc_index::IndexVec;
|
||||
use rustc_metadata::rendered_const;
|
||||
use rustc_middle::span_bug;
|
||||
use rustc_middle::ty::fast_reject::SimplifiedType;
|
||||
use rustc_middle::ty::{self, TyCtxt, Visibility};
|
||||
use rustc_resolve::rustdoc::{
|
||||
@ -266,8 +267,15 @@ impl ExternalCrate {
|
||||
let as_primitive = |res: Res<!>| {
|
||||
let Res::Def(DefKind::Mod, def_id) = res else { return None };
|
||||
tcx.get_attrs(def_id, sym::rustc_doc_primitive).find_map(|attr| {
|
||||
// FIXME: should warn on unknown primitives?
|
||||
Some((def_id, PrimitiveType::from_symbol(attr.value_str()?)?))
|
||||
let attr_value = attr.value_str().expect("syntax should already be validated");
|
||||
let Some(prim) = PrimitiveType::from_symbol(attr_value) else {
|
||||
span_bug!(
|
||||
attr.span,
|
||||
"primitive `{attr_value}` is not a member of `PrimitiveType`"
|
||||
);
|
||||
};
|
||||
|
||||
Some((def_id, prim))
|
||||
})
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user