Учитывая что-то вроде этого:
struct Example { a: i32, b: String, }
Есть ли какой-нибудь встроенный метод или любая черта, которую я могу реализовать, которая позволит мне получить кортеж (i32, String)?
(i32, String)
Есть ли способ преобразования структуры в кортеж
Да.
любой встроенный метод или любая черта, которую я могу реализовать
Не совсем.
Я бы реализовал From, что очень обобщенно:
From
impl From<Example> for (i32, String) { fn from(e: Example) -> (i32, String) { let Example { a, b } = e; (a, b) } }
Вы бы использовали это так:
let tuple = <(i32, String)>::from(example);
let tuple: (i32, String) = example.into();
Смотри также: