Метод saturating_add
Метод saturating_add складывает текущую длительность
с другой длительностью и возвращает результат. Если при
сложении происходит переполнение, метод не паникует,
а возвращает максимально возможное значение Duration.
Параметром метод принимает другую длительность, которую
нужно прибавить.
Синтаксис
duration.saturating_add(other)
Пример
Давайте сложим две длительности без переполнения:
use std::time::Duration;
fn main()
{
let a = Duration::from_secs(2);
let b = Duration::from_secs(3);
let res = a.saturating_add(b);
println!("{:?}", res);
}
Результат выполнения кода:
5s
Пример
Давайте сложим максимальную длительность с небольшой длительностью и посмотрим, что вернёт метод при переполнении:
use std::time::Duration;
fn main()
{
let a = Duration::MAX;
let b = Duration::from_secs(1);
let res = a.saturating_add(b);
println!("{:?}", res);
}
Результат выполнения кода:
18446744073709551615.999999999s
Смотрите также
-
метод
checked_add,
который выполняет сложение с проверкой переполнения -
метод
saturating_sub,
который выполняет вычитание с насыщением -
метод
saturating_mul,
который выполняет умножение с насыщением -
атрибут
MAX,
который хранит максимально возможную длительность