interoptopus_proc_impl 0.16.3

Macros to produce Interoptopus item info.
Documentation
---
source: crates/proc_macros_impl/tests/const_basic.rs
expression: expand_ffi!(item)
---
const COMPUTED: i32 = std::mem::size_of::<u64>() as i32;
#[allow(non_camel_case_types)]
#[allow(clippy::redundant_pub_crate)]
pub struct COMPUTED {}
unsafe impl ::interoptopus::lang::constant::ConstantInfo for COMPUTED {
    fn id() -> ::interoptopus::inventory::ConstantId {
        ::interoptopus::inventory::ConstantId::from_id(::interoptopus::id!(COMPUTED))
    }
    fn constant() -> ::interoptopus::lang::constant::Constant {
        ::interoptopus::lang::constant::Constant {
            name: "COMPUTED".to_string(),
            visibility: ::interoptopus::lang::meta::Visibility::Public,
            docs: ::interoptopus::lang::meta::Docs::from_line(""),
            emission: ::interoptopus::lang::meta::Emission::FileEmission(
                ::interoptopus::lang::meta::FileEmission::Common,
            ),
            ty: <i32 as ::interoptopus::lang::types::TypeInfo>::id(),
            value: ::interoptopus::lang::constant::ConstantValue::value(&COMPUTED),
        }
    }
    fn register(inventory: &mut impl ::interoptopus::inventory::Inventory) {
        <i32 as ::interoptopus::lang::types::TypeInfo>::register(inventory);
        inventory.register_constant(Self::id(), Self::constant());
    }
}