    macro_rules! id {
        ($($tt:tt)*) => {
            $($tt)*
        };
    }
    const CONST_ITEM: *const () = &raw const ();
    const fn const_fn<const CONST_PARAM: ()>(const {}: const fn()) where (): const ConstTrait {
        CONST_ITEM;
        CONST_PARAM;
        const {
            const || {}
        }
        id!(
            CONST_ITEM;
            CONST_PARAM;
            const {
                const || {}
            };
            &raw const ();
            const
        );
        ().assoc_const_method();
    }
    trait ConstTrait {
        const ASSOC_CONST: () = ();
        const fn assoc_const_fn() {}
        const fn assoc_const_method(self) {}
    }
    impl const ConstTrait for () {
        const ASSOC_CONST: () = ();
        const fn assoc_const_fn() {}
    }

    macro_rules! unsafe_deref {
        () => {
            *(&() as *const ())
        };
    }