use std::fmt::Debug; use test_impl::test_impl; trait Whaa {} trait ExampleTrait<'a, 'b>: Debug { fn return_true() -> bool; } #[derive(Debug)] struct ExampleStruct; impl<'a, 'b> ExampleTrait<'a, 'b> for ExampleStruct { fn return_true() -> bool { true } } #[derive(Debug)] struct ExampleStruct2 {} impl<'a, 'b> ExampleTrait<'a, 'b> for ExampleStruct2 { fn return_true() -> bool { false } } #[test_impl(ExampleTrait<'avs, 'bvs> = ExampleStruct, ExampleStruct2)] #[test] fn example_test_with_lifetimes() { println!("Going to test {:?}", ExampleTrait {}); let bool_value = ExampleTrait::return_true(); assert_eq!(bool_value, true); }