Мне дан формат данных, который включает последовательность объектов с ровно одним именованным полем value
каждый. Могу ли я удалить этот слой косвенности при десериализации?
При десериализации естественное представление будет
/// Each record has it's own `{ value: ... }` object
#[derive(serde::Deserialize)]
struct Foobar<T> {
value: T,
}
/// The naive representation, via `Foobar`...
#[derive(serde::Deserialize)]
struct FoobarContainer {
values: Vec<Foobar<T>>,
}
Хотя Foobar
не добавляет дополнительных затрат сверх T
, я бы хотелудалить этот слой косвенности на уровне типа:
#[derive(serde::Deserialize)]
struct FoobarContainer {
values: Vec<T>,
}
Можно ли удалить Foobar
из FoobarContainer
, все еще используя его с помощью десериализации?