// Создайте структуру Pair с двумā полāми разнýх типов: // ● Реализуйте метод new(first: T, second: U) -> Self. // ● Добавþте метод swap(self) -> Pair, которýй менāет местами знаùениā полей. #![allow(clippy::approx_constant)] #[derive(Debug)] struct Pair { first: T, second: U, } impl Pair { // Создаем новую пару fn new(first: T, second: U) -> Self { Self { first, second } } // Меняем местами значения fn swap(self) -> Pair { Pair::new(self.second, self.first) } } fn main() { let pair = Pair::new(42, "hello"); let swapped = pair.swap(); println!("{:?}", swapped); // Pair("hello", 42) // Дополнительный пример с другими типами let float_str_pair = Pair::new(3.14, "pi"); let swapped_pair = float_str_pair.swap(); println!("{:?}", swapped_pair); // Pair("pi", 3.14) }