diff options
| author | clubby789 <jamie@hill-daniel.co.uk> | 2023-01-12 03:19:08 +0000 |
|---|---|---|
| committer | clubby789 <jamie@hill-daniel.co.uk> | 2023-01-12 03:19:08 +0000 |
| commit | 740f6aaf95e12ad265eb54f78bd56fe3891827bd (patch) | |
| tree | c1bc01cb6b136864f4fc0b45cca9b76427c378bf /src | |
| parent | 1e4f90061cc4bc566f99ab21b1f101182b10cf0c (diff) | |
Fix rendering 'const' for intrinsics
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/clean/types.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 5c63efef717..87de41fde63 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -676,7 +676,8 @@ impl Item { } let header = match *self.kind { ItemKind::ForeignFunctionItem(_) => { - let abi = tcx.fn_sig(self.item_id.as_def_id().unwrap()).abi(); + let def_id = self.item_id.as_def_id().unwrap(); + let abi = tcx.fn_sig(def_id).abi(); hir::FnHeader { unsafety: if abi == Abi::RustIntrinsic { intrinsic_operation_unsafety(tcx, self.item_id.as_def_id().unwrap()) @@ -684,7 +685,14 @@ impl Item { hir::Unsafety::Unsafe }, abi, - constness: hir::Constness::NotConst, + constness: if abi == Abi::RustIntrinsic + && tcx.is_const_fn(def_id) + && is_unstable_const_fn(tcx, def_id).is_none() + { + hir::Constness::Const + } else { + hir::Constness::NotConst + }, asyncness: hir::IsAsync::NotAsync, } } |
