#[maybe_async_cfg::maybe(sync(feature = "is_sync"), async(not(feature = "is_sync")))] async fn some_function() -> bool { true } #[maybe_async_cfg::maybe( idents(some_function(fn)), sync(feature = "is_sync", test), async(not(feature = "is_sync"), async_std::test) )] async fn test_async_fn() { let res = some_function().await; assert_eq!(res, true); } #[maybe_async_cfg::maybe( idents(some_function(fn)), sync(feature = "is_sync", test), async(not(feature = "is_sync"), tokio::test) )] async fn test_async_fn2() { let res = some_function().await; assert_eq!(res, true); } #[maybe_async_cfg::maybe(idents(some_function(fn)), sync(feature = "is_sync", test))] async fn test_async_fn3() { let res = some_function().await; assert_eq!(res, true); } #[maybe_async_cfg::maybe(idents(some_function(fn)), sync(feature = "is_sync", test))] async fn test_sync_fn() { let res = some_function(); assert_eq!(res, true); }