Size: a a a

Rust — русскоговорящее сообществo

2020 August 29

Э

Эрик in Rust — русскоговорящее сообществo
Bulba
Да я прекрасно понимаю, но рассчитывал на более красивую ошибку особенно когда чтобы выяснить что это было пришлось закопаться в зависимости
Если метод переопределяли, то это баг сериалуйзера.
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Bulba
Да я прекрасно понимаю, но рассчитывал на более красивую ошибку особенно когда чтобы выяснить что это было пришлось закопаться в зависимости
Ну можешь PR запилить с debug_assert'ами наверное ¯\_(ツ)_/¯
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Вообще неудивительно, что при неправильном использовании апи оно выдает что-то некорректное. В твоем случае просто надо None впихнуть вместо Some(0) и все заработает как ты ожидаешь.
источник

B

Bulba in Rust — русскоговорящее сообществo
Да я разобрался уже, просто мне кажется раз поставил длину 0 то метод serialize_element должен возвращать ошибку, а он этого не делает
источник

V

Vladimir in Rust — русскоговорящее сообществo
Ну это очевидно бага в serde_json, так как дока серде не говорит ничего о требованиях к длине. Заведи им ишью. Пусть хоть ассерт добавят
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
https://github.com/serde-rs/json/blob/master/src/ser.rs#L319
Там этот кейс отдельно обрабатывается
источник

V

Vladimir in Rust — русскоговорящее сообществo
А, тогда тут ошибка в том, что явно дёргается seq.end(), а он уже дернут а этом кейсе.

Вообще не очевидное поведение, кажется что они должны были ассерт где о впихнуть, если явно делают end_array, ну или не делать end_array вообще, а то как-то не косюнсистентно.

Баг репорт всеравно стоит создать
источник

Ct

Casual tears in Rust — русскоговорящее сообществo
Vladimir
А, тогда тут ошибка в том, что явно дёргается seq.end(), а он уже дернут а этом кейсе.

Вообще не очевидное поведение, кажется что они должны были ассерт где о впихнуть, если явно делают end_array, ну или не делать end_array вообще, а то как-то не косюнсистентно.

Баг репорт всеравно стоит создать
Там end() проверяет, что state != State::Empty, по идее всё корректно, если предположить, что хинт в len не врёт.
источник

Jøhn Đøꝩsøn in Rust — русскоговорящее сообществo
Dmitriy Knyaginin
комфорт штука такая… к ней привыкаешь… и трудно отказаться уже… был бы там маркетинг там была бы IDE какая нить 😂
Vscode с RLS или rust-analyser вполне тянет на ide.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Jøhn Đøꝩsøn
Vscode с RLS или rust-analyser вполне тянет на ide.
intellij
источник

DK

Dmitriy Knyaginin in Rust — русскоговорящее сообществo
Эрик
intellij
я на ней… но раст пока не поставил )))
источник

V

Vladimir in Rust — русскоговорящее сообществo
Casual tears
Там end() проверяет, что state != State::Empty, по идее всё корректно, если предположить, что хинт в len не врёт.
Я не уверен что добавление элементов не меняет стейт (было лень смотреть честно говоря, без иде)
источник

L

Lev in Rust — русскоговорящее сообществo
Здравствуйте! Скажите, пожалуйста, почему может быть такое: крейт сам по себе компилируется, но если его добавить как зависимость, то он не компилируется?
источник

L

Lev in Rust — русскоговорящее сообществo
источник

L

Lev in Rust — русскоговорящее сообществo
У этого крейта еще есть build.rs и при сборке второго проекта в скобках у face_recognition не показывается build (а при сборке других крейтов иногда показывается (build))
источник

Э

Эрик in Rust — русскоговорящее сообществo
Там может быть что-то связанное с edition 2015 и отсутствием core либы в прелюдии.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Посмотри код макроса.
источник

L

Lev in Rust — русскоговорящее сообществo
Кажется, edition 2015 тут нигде нет
источник

Э

Эрик in Rust — русскоговорящее сообществo
edition 2015 по дефолту стоит, если в карго нет строки edition 2018, то там 2015 будет.
источник

Э

Эрик in Rust — русскоговорящее сообществo
В код макроса смотри, где он вызывает core.
источник