172 похожих чатов

Я правильно понимаю, что вот такую структуру #[derive(Deserialize)] struct S<'a> {

#[serde(borrow)]
field: Cow<'a, str>
};
можно будет десериализовать как в Owned, так и в Borrowed-вариант?

8 ответов

3 просмотра

мне кажется нет, там будет impl<'a> Deserialize<'a> for S<'a>, а owned требует for<'a> T: Deserialize<'a>

Emmanuel-Goldstein Автор вопроса
вафель 🧇🍓
мне кажется нет, там будет impl<'a> Deserialize<'a...

Это очень печально Десериализация должна быть независимой от копирования данных

Emmanuel Goldstein
Это очень печально Десериализация должна быть неза...

Ну тут фундаментальная проблема в дизайне serde — DeserializeOwned это не отдельный трейт, из-за чего тип не может иметь разные реализации Deserialize<'_>/DeserializeOwned.

Emmanuel-Goldstein Автор вопроса
Emmanuel Goldstein
мгмх специализация по лайфтаймам?

Не, не надо по лайфтаймам специализироваться. Надо только сделать DeserializeOwned с дефолтной реализацией для for<'a> Deserialize<'a>

вафель 🧇🍓
Не, не надо по лайфтаймам специализироваться. Надо...

Проблемы в том что это 1) ломающей изменение (а для serde это ужасно, от него все зависят) 2) пока что unstable 3) потребует серьёзные изменения в макросах, чтобы они умели реализовать DeserializeOwned для случаев с коровой например

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Карта сайта