qubit-retry 0.10.4

Retry module, providing a feature-complete, type-safe retry management system with support for multiple delay strategies and event listeners
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use qubit_retry::Retry;

#[test]
fn test_sync_value_operation_is_observable_through_non_clone_success_value() {
    #[derive(Debug, PartialEq, Eq)]
    struct Token(String);

    let retry = Retry::<&'static str>::builder()
        .max_attempts(1)
        .no_delay()
        .build()
        .unwrap();

    let value = retry.run(|| Ok(Token("captured".to_owned()))).unwrap();
    assert_eq!(Token("captured".to_owned()), value);
}