| #![cfg_attr(feature = "used_linker", feature(used_with_arg))] |
| |
| use linkme as link_me; |
| |
| mod declaration { |
| use crate::link_me::distributed_slice; |
| |
| #[distributed_slice] |
| #[linkme(crate = crate::link_me)] |
| pub static SLICE: [i32] = [..]; |
| |
| #[test] |
| fn test_slice() { |
| assert!(!SLICE.is_empty()); |
| } |
| |
| #[distributed_slice] |
| #[linkme(crate = crate::link_me)] |
| pub static FUNCTIONS: [fn()] = [..]; |
| |
| #[test] |
| fn test_functions() { |
| assert!(!FUNCTIONS.is_empty()); |
| } |
| } |
| |
| mod usage { |
| use crate::link_me::distributed_slice; |
| |
| #[distributed_slice(super::declaration::SLICE)] |
| #[linkme(crate = crate::link_me)] |
| pub static N: i32 = 9; |
| |
| #[distributed_slice(super::declaration::FUNCTIONS)] |
| #[linkme(crate = crate::link_me)] |
| fn test_me() {} |
| } |