#![feature(extern_types, rustc_attrs, rustdoc_internals, trait_alias)] #![allow(internal_features)] #![no_std] //@ has foo/keyword.while.html //@ hasraw search.index/name/*.js while //@ !hasraw search.index/name/*.js w_keyword #[doc(keyword = "while")] mod w_keyword {} //@ has foo/primitive.u32.html //@ hasraw search.index/name/*.js u32 //@ !hasraw search.index/name/*.js u_primitive #[rustc_doc_primitive = "u32"] mod u_primitive {} //@ has foo/x_mod/index.html //@ hasraw search.index/name/*.js x_mod pub mod x_mod {} //@ hasraw foo/index.html y_crate //@ hasraw search.index/name/*.js y_crate #[doc(no_inline)] pub extern crate core as y_crate; //@ hasraw foo/index.html z_import //@ hasraw search.index/name/*.js z_import #[doc(no_inline)] pub use core::option as z_import; //@ has foo/struct.AStruct.html //@ hasraw search.index/name/*.js AStruct pub struct AStruct { //@ hasraw foo/struct.AStruct.html a_structfield //@ hasraw search.index/name/*.js a_structfield pub a_structfield: i32, } //@ has foo/enum.AEnum.html //@ hasraw search.index/name/*.js AEnum pub enum AEnum { //@ hasraw foo/enum.AEnum.html AVariant //@ hasraw search.index/name/*.js AVariant AVariant, } //@ has foo/fn.a_fn.html //@ hasraw search.index/name/*.js a_fn pub fn a_fn() {} //@ has foo/type.AType.html //@ hasraw search.index/name/*.js AType pub type AType = AStruct; //@ has foo/static.a_static.html //@ hasraw search.index/name/*.js a_static pub static a_static: i32 = 1; //@ has foo/trait.ATrait.html //@ hasraw search.index/name/*.js ATrait pub trait ATrait { //@ hasraw foo/trait.ATrait.html a_tymethod //@ hasraw search.index/name/*.js a_tymethod fn a_tymethod(); //@ hasraw foo/trait.ATrait.html AAssocType //@ hasraw search.index/name/*.js AAssocType type AAssocType; //@ hasraw foo/trait.ATrait.html AAssocConst //@ hasraw search.index/name/*.js AAssocConst const AAssocConst: bool; } // skip ItemType::Impl, since impls are anonymous // and have no search entry impl AStruct { //@ hasraw foo/struct.AStruct.html a_method //@ hasraw search.index/name/*.js a_method pub fn a_method() {} } //@ has foo/macro.a_macro.html //@ hasraw search.index/name/*.js a_macro #[macro_export] macro_rules! a_macro { () => {}; } //@ has foo/constant.A_CONSTANT.html //@ hasraw search.index/name/*.js A_CONSTANT pub const A_CONSTANT: i32 = 1; //@ has foo/union.AUnion.html //@ hasraw search.index/name/*.js AUnion pub union AUnion { //@ hasraw foo/union.AUnion.html a_unionfield //@ hasraw search.index/name/*.js a_unionfield pub a_unionfield: i32, } extern "C" { //@ has foo/foreigntype.AForeignType.html //@ hasraw search.index/name/*.js AForeignType pub type AForeignType; } // procattribute and procderive are defined in // bar.rs, because they only work with proc_macro // crate type. //@ has foo/traitalias.ATraitAlias.html //@ hasraw search.index/name/*.js ATraitAlias pub trait ATraitAlias = ATrait; //@ has foo/attribute.doc.html //@ hasraw search.index/name/*.js doc //@ !hasraw search.index/name/*.js aa_mod #[doc(attribute = "doc")] mod aa_mod {}