use crateIServiceResolver;
use crateServiceLifetime;
use ;
use Arc;
/// A runtime service registration collected via `inventory::submit!`.
/// Each `#[rust_dicore::inject(...)]` on a struct generates one submission.
///
/// `type_name_fn` is a function pointer (not a string) to avoid requiring
/// `std::any::type_name::<T>()` in a const context (tracking issue #63084).
/// The function is called at runtime by `from_injected()`.
// Safety: fn pointers + enum + TypeId are all Send + Sync + 'static
collect!;