Size: a a a

2020 October 14

АГ

Алексей Герасимов... in Rust Beginners
Mattew Fleuz
Я говорю что я всегда верну то что можно сериализовать
нет
источник

АГ

Алексей Герасимов... in Rust Beginners
чтобы это сказать надо написать impl Serializable
источник

АГ

Алексей Герасимов... in Rust Beginners
но на выходе должен быть только один конкретный тип, нельязя в одной ветке вернуть u32 а в другой строку
источник

MF

Mattew Fleuz in Rust Beginners
черт
источник

АГ

Алексей Герасимов... in Rust Beginners
дженерик параметры это универсальная квантификация, а вам нужна экзистенциальная (с)
источник

MF

Mattew Fleuz in Rust Beginners
а как тогда реализовать что-то подобное?
источник

MF

Mattew Fleuz in Rust Beginners
возвращать метадату с ссылкой на дюн? что бы был вычислимый размер на этапе компиляции?
источник

АГ

Алексей Герасимов... in Rust Beginners
Mattew Fleuz
а как тогда реализовать что-то подобное?
опишите проблему, у вас не весь код написан, непонятно чего хочется
источник

MF

Mattew Fleuz in Rust Beginners
Мне нужно реализовать функцию которая будет возвращать некоторый объект который можно будет сериализовть в json и отправить в далекие интернеты.
Возвращаемый тип собственно зависит от входных данных
источник

АГ

Алексей Герасимов... in Rust Beginners
Mattew Fleuz
Мне нужно реализовать функцию которая будет возвращать некоторый объект который можно будет сериализовть в json и отправить в далекие интернеты.
Возвращаемый тип собственно зависит от входных данных
либо сериализовать его прямо в функции, получив значение конкретного типа, либо Box<dyn …>, но тут вопрос что вместо многоточия, ибо не любой трейт там может стоять, попробуйте Serializable, может прокатит
источник

АГ

Алексей Герасимов... in Rust Beginners
есть еще безумный вариант завести энум, для которого реализовать Serializable и оборачивать в него
источник

MK

Marat Khayrutdinov in Rust Beginners
Правильно ли я понимаю, что мы не можем возвращать методом что-то, размер чего нам неизвестен, следовательно это нельзя помещать в стек?
Для этого мы либо должны завернуть это в ссылку на хип, либо иметь конкретные имплементации?
источник

АГ

Алексей Герасимов... in Rust Beginners
Marat Khayrutdinov
Правильно ли я понимаю, что мы не можем возвращать методом что-то, размер чего нам неизвестен, следовательно это нельзя помещать в стек?
Для этого мы либо должны завернуть это в ссылку на хип, либо иметь конкретные имплементации?
верно
источник

АГ

Алексей Герасимов... in Rust Beginners
ссылка может быть куда угодно, хоть на хип, хоть в стэк
источник

MK

Marat Khayrutdinov in Rust Beginners
Ясно. Спасибо!
источник

MF

Mattew Fleuz in Rust Beginners
А есть ли внятные туторы по serde желательно на русском, а то порой не всегда понятно как реализовать некоторые фичи? Например вывести некоторое новое поле значением которого будет тип значения другого поля при сериализации
источник

АГ

Алексей Герасимов... in Rust Beginners
Mattew Fleuz
А есть ли внятные туторы по serde желательно на русском, а то порой не всегда понятно как реализовать некоторые фичи? Например вывести некоторое новое поле значением которого будет тип значения другого поля при сериализации
так в доке все атрибуты расписаны должны быть https://serde.rs/
источник

АГ

Алексей Герасимов... in Rust Beginners
врядли это кто-то переводит
источник

АГ

Алексей Герасимов... in Rust Beginners
в крайнем случае можно руками сериализацию написать
источник

MF

Mattew Fleuz in Rust Beginners
да вот на самом деле многие сами себе переводят, мне вот не сложно было бы перевести пару буков по паре крейтов, как думаю и многим другим, но куда их складировать?
источник