Как использовать skip_serializing_if serde с пустыми фрагментами?

Можно сделать #[serde(skip_serializing_if = "Vec::is_empty")] для Vecs, но что эквивалентно для ломтиков?

Возможный дубликат Как явно вызвать метод для среза без использования typedef?

Stargateur 16.07.2019 17:29
Почему Python в конце концов умрет
Почему Python в конце концов умрет
Последние 20 лет были действительно хорошими для Python. Он прошел путь от "просто языка сценариев" до основного языка, используемого для написания...
3
1
473
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Тип фрагмента [T] также имеет метод is_empty. Вот как бы вы это назвали:

use serde::Serialize;

#[derive(Serialize)]
struct S<'a> {
    #[serde(skip_serializing_if = "<[_]>::is_empty")]
    slice: &'a [String]
}

fn main() {
    let s = S { slice: &[] };
    println!("{}", serde_json::to_string(&s).unwrap());
}

Другие вопросы по теме