(self.generics.clean(cx), (&self.decl, self.body).clean(cx))
});
+ let did = cx.tcx.hir().local_def_id(self.id);
+ let constness = if cx.tcx.is_min_const_fn(did) {
+ hir::Constness::Const
+ } else {
+ hir::Constness::NotConst
+ };
Item {
name: Some(self.name.clean(cx)),
attrs: self.attrs.clean(cx),
visibility: self.vis.clean(cx),
stability: self.stab.clean(cx),
deprecation: self.depr.clean(cx),
- def_id: cx.tcx.hir().local_def_id(self.id),
+ def_id: did,
inner: FunctionItem(Function {
decl,
generics,
- header: self.header,
+ header: hir::FnHeader { constness, ..self.header },
}),
}
}
#![feature(min_const_unsafe_fn)]
#![feature(staged_api)]
-// @has 'foo/fn.foo.html' '//pre' 'pub const unsafe fn foo() -> u32'
+// @has 'foo/fn.foo.html' '//pre' 'pub unsafe fn foo() -> u32'
#[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature="foo")]
pub const unsafe fn foo() -> u32 { 42 }
-// @has 'foo/fn.foo2.html' '//pre' 'pub const fn foo2() -> u32'
+// @has 'foo/fn.foo2.html' '//pre' 'pub fn foo2() -> u32'
#[unstable(feature = "humans", issue="0")]
pub const fn foo2() -> u32 { 42 }
#[stable(feature = "rust1", since = "1.0.0")]
pub const fn bar2() -> u32 { 42 }
-// @has 'foo/fn.foo2_gated.html' '//pre' 'pub const unsafe fn foo2_gated() -> u32'
+// @has 'foo/fn.foo2_gated.html' '//pre' 'pub unsafe fn foo2_gated() -> u32'
#[unstable(feature = "foo2", issue="0")]
pub const unsafe fn foo2_gated() -> u32 { 42 }
#[stable(feature = "rust1", since = "1.0.0")]
pub const unsafe fn bar2_gated() -> u32 { 42 }
-// @has 'foo/fn.bar_not_gated.html' '//pre' 'pub const unsafe fn bar_not_gated() -> u32'
+// @has 'foo/fn.bar_not_gated.html' '//pre' 'pub unsafe fn bar_not_gated() -> u32'
pub const unsafe fn bar_not_gated() -> u32 { 42 }