Size: a a a

2020 December 01

ВВ

Вадим Великодный... in Rust Beginners
George
Фронт не на расте - React. И вот туда и будет уходить именованная константа.
В том же клиенте ВК это вшито так, но это клиентские названия Vk Messenger, а не парсинг ошибок.
Я невнимательно прочитал и подумал, что бэкэнд формирует строку.
Тогда вопрос не совсем про Rust.
источник

G

George in Rust Beginners
Вадим Великодный
Я невнимательно прочитал и подумал, что бэкэнд формирует строку.
Тогда вопрос не совсем про Rust.
Вопрос про то, как в расте это удобнее реализовать.
Чтобы получить в коде условно
if error {
   return ApiError::new(
       404,
       ApiErrorBody::new("NO_SUCH_USER", ("email", "user@example.com")),
       ...Default::default()
   )
}


и в хендлере просто пробрасывать через ?, так как есть impl ResponseError for ApiError. Пока пробую так, но проблема с указанием аргументов, а лепить что-то типа`Vec<dyn Any>` - не хочется
источник

p

pickle 🥒 in Rust Beginners
рубрика "веселая линковка"
если я получаю ошибку вида
linking with `cc` failed: exit code: 1
...
/usr/bin/ld: cannot find -lGL
/usr/bin/ld: cannot find -lXi
collect2: error: ld returned 1 exit status

каких либ не хватает в моей кубунте?
чой что не гуглю всё не то
источник

Oℕ

Oleg ℕizhnik in Rust Beginners
Представим, что есть древовидная структура данных и я хочу накидать для неё разных итераторов.
Т.е. хочется получить
IntoIterator<Item=A> for Tree<A>,
IntoIterator<Item=&'a A> for &'a Tree<A> и
IntoIterator<Item=&'a mut A> for &'a mut Tree<A>
Сначала
я накидал просое решение на боксенных итераторах, но понял, что могу сделать чуть более эффективное вручную, но не хочется один код со стеком писать трижды, хотя в сорцах стандартных коллекций так и делается.
Есть какой-то паттерн, может быть, в какой-то либе уже применяющийся?
источник

S

Staaaaaa in Rust Beginners
pickle 🥒
рубрика "веселая линковка"
если я получаю ошибку вида
linking with `cc` failed: exit code: 1
...
/usr/bin/ld: cannot find -lGL
/usr/bin/ld: cannot find -lXi
collect2: error: ld returned 1 exit status

каких либ не хватает в моей кубунте?
чой что не гуглю всё не то
Видимо таких ) libxi-dev libgl-dev
источник

p

pickle 🥒 in Rust Beginners
Staaaaaa
Видимо таких ) libxi-dev libgl-dev
спасибо. Я ещё тупой по вопросам линковки и либ линуха. Это всегда настолько очевидные названия?
источник

r

red75prime in Rust Beginners
Oleg ℕizhnik
Представим, что есть древовидная структура данных и я хочу накидать для неё разных итераторов.
Т.е. хочется получить
IntoIterator<Item=A> for Tree<A>,
IntoIterator<Item=&'a A> for &'a Tree<A> и
IntoIterator<Item=&'a mut A> for &'a mut Tree<A>
Сначала
я накидал просое решение на боксенных итераторах, но понял, что могу сделать чуть более эффективное вручную, но не хочется один код со стеком писать трижды, хотя в сорцах стандартных коллекций так и делается.
Есть какой-то паттерн, может быть, в какой-то либе уже применяющийся?
Поглощающие итераторы, итераторы по иммутабельным и мутабельным ссылкам обычно сильно отличаются друг от друга. Так что какого-то общего метода нет
источник

S

Staaaaaa in Rust Beginners
Не всегда, но для ключа  -l[SOMETHING] +/- гугл помогает по запросу libSOMETHING.so  :)
источник

S

Staaaaaa in Rust Beginners
pickle 🥒
спасибо. Я ещё тупой по вопросам линковки и либ линуха. Это всегда настолько очевидные названия?
Ну и от дистрибутива, на какой-нить федоре было бы примерно так :) [lib]gl-devel
источник

p

pickle 🥒 in Rust Beginners
Staaaaaa
Не всегда, но для ключа  -l[SOMETHING] +/- гугл помогает по запросу libSOMETHING.so  :)
ну вот не помог, искал довольно много, даже странно что такой очевидный способ не попался
источник

G

George in Rust Beginners
Туплю. Как превратить переменную типа
Option<impl Into<String>>
в
Option<String>
?

Просто .into() не хочет, параметры не сходятся.
источник

K

Kitsu in Rust Beginners
.map(Into::into)?
источник

G

George in Rust Beginners
Kitsu
.map(Into::into)?
Эх. Спасибо. Спустя более чем полгода магия типов раста зачастую остаётся для меня магией :(
источник

G

George in Rust Beginners
И всё таки, какой выход для передачи переменного количества разнотиповых параметров в структуру кроме Vec<dyn Any>? Генерить имплы для туплей по-необходимости?
источник

K

Kitsu in Rust Beginners
George
Эх. Спасибо. Спустя более чем полгода магия типов раста зачастую остаётся для меня магией :(
Просто почему-то нет реализации impl<T, Y> From<Option<T> for Option<Y> where Y: From<T>, а так бы просто into() работал.
источник

K

Kitsu in Rust Beginners
George
И всё таки, какой выход для передачи переменного количества разнотиповых параметров в структуру кроме Vec<dyn Any>? Генерить имплы для туплей по-необходимости?
enum, если список типов заранее известен
источник

G

George in Rust Beginners
Kitsu
enum, если список типов заранее известен
Список типов никогда не известен.
Скажем, нужен порядок подстановки i32, String, i32
а в другом случае - Uuid, f32.
источник

a

antuan in Rust Beginners
George
Список типов никогда не известен.
Скажем, нужен порядок подстановки i32, String, i32
а в другом случае - Uuid, f32.
а что за кейс?
источник

G

George in Rust Beginners
antuan
а что за кейс?
Пытаюсь сделать передачу параметров ошибки на фронт. Аля
{"code": "TASK_FOR_USER_NOT_FOUND", args: ["4feae5df-448b-48d9-a9a6-3060a6a44caa", "admin", 10, 102930213312]}
источник

K

Kitsu in Rust Beginners
Kitsu
Просто почему-то нет реализации impl<T, Y> From<Option<T> for Option<Y> where Y: From<T>, а так бы просто into() работал.
= note: conflicting implementation in crate `core`:
         - impl<T> From<T> for T;

собственно вот почему
источник