Kerrigan
имейте хотя бы приличие делать это когда никто не видит
Kerrigan
а если серьезно, то какая у раста политика по сквоттингу имен?
Sergey
я чет не видел пока ничего
-__-
Если хочешь засквоченное имя, пишешь мейнтейнерам crates.io, они это решают в индивидуальном порядке. Вроде так.
Kerrigan
я понял, ее нет пока
Sherzod
я чет не видел пока ничего
преценденты были, только не вспомнить уже
-__-
Ну как-то так, да. Все же хорошие и не будут безобразничать.
Loo
https://github.com/reproto/reproto
Loo
> This is the home of reproto, an experimental system for managing JSON schemas. If you want to take the system for a leasurely spin, please go to https://reproto.github.io. reproto is the following things: A custom interface description language that permits describing the schema of JSON and bidirectional rpc services (like gRPC). A derive command, capable of deriving schemas directly from JSON. A compiler which generates code for various languages. A semantic version checker which verifies that modifications to schemas do not violate semantic versioning. A build system with a package manager and a reproto.toml build manifest. A rich, markdown-based documentation generator. (eventually) A central repository of usable schemas. Structural code-generation instead of template-based. This permits reproto to generate idiomatic, well-indented code with sparse imports. Similar to what you would write by hand.
Sherzod
Sherzod
https://crates.io/policies
Нави
есть перечисление: enum Ar { F1(tuple1), F2(tuple1, tuple2), } можно ли узнать, какова арность Ar::F2() ? сколько аргументов tuple
Нави
Так там же tuple
да, а как узнать сколько их, есть возможность?
Денис
ты ещё поди в рантайме хочешь узнать?
Денис
и в рантайме подставить один или два или более аргументов, да?
Loo
ФИНК АБАУТ ИТ
Нави
let tupls: u32; match arguments { Ar::F2() => { tupls = 2; }, ... ну я так придумал
Нави
а где аргументы для F2?
в перечислении указываются tuples
Sherzod
не понятно, какой цели ты хочешь добиться?
Нави
от арности перечисления зависит вызов разных функций с соответствующей арностью и подготовка значений аргументов
Денис
вот вроде и объяснил, а вроде и ничего не сказал
Денис
ты в рантайме всё равно не сможешь сделать динамическое количество аргументов
Нави
после определения арности, делаю: let mut params2: [(&str, &str); tupls];
Нави
где количество зависит от арности
Денис
не делаешь
Денис
tupls должен быть константой времени компиляции
Денис
https://doc.rust-lang.org/std/primitive.array.html
Денис
... and the non-negative compile-time constant size, N
Нави
то есть неполучится? щас проверю
Денис
то есть ты не веришь докам?)
Денис
http://play.integer32.com/?gist=9d977324c556c988eafd06490c415d48&version=stable
Нави
; tupls]; ^^^^^ non-constant value да, действительно...
Sergey
майнилка?
Денис
Первый результат из гугла
Kerrigan
какая-то растоконтора подняла
Kerrigan
свой собственный, видимо чтобы у них никто не украл локальные растомемы
Mannaro
А как дела с green threads? После того как их выпилили остается только futures-rs?
vladislav
По красоте ответил
Max
Возможно было https://github.com/servo/servo/commit/46a8e7184b949d3c03d3a66aa3a9d6fdf7156254
Evgεny
nani?
Денис
лол)))
Nikita
Скажите плиз, как сказать что я хочу перегрузить типаж умножения Space на элемент Field
vladislav
pastebin для кого придумали?
Денис
ну или хоть ```
Nikita
https://pastebin.com/wANiVsJ6
Nikita
Извините
Nikita
И все таки как указать в определении типажа что я хочу определить операцию умножения структуры, удовлетворяющей типажу на элемент удоалетворяющий другому типажу?
Sherzod
https://doc.rust-lang.org/beta/std/ops/trait.Mul.html
Sherzod
?
Денис
impl<X: [constrains], Y: [constrains]> Mul<Y> for X { type Output = ...; fn mul(self, y: Y) -> Self::Output { ... } }
Nikita
Сейчас попробую, спасибо)
Антон
И это при том, что я вообще на Rust одни хеллоуворлды пишу
Денис
'I just play rust' :)
Nikita
И это при том, что я вообще на Rust одни хеллоуворлды пишу
Это намек на то что у меня низкий уровень)? Так я и не отрицаю жеж
Антон
'I just play rust' :)
В воздухе запахло Галимовым
Денис
я ж про это))
Денис
Nikita
impl<T, U> Mul<U> for Space<T> where T: Field, U: Field { ...
А где это указать в самом объявлении trait а
Денис
Это намек на то что у меня низкий уровень)? Так я и не отрицаю жеж
складывается ощущение, что ты как-то всё очень сильно усложняешь. например, ты можешь сделать trait Field пустым, и ничего не изменится
Денис
что такое pub trait Space<Field> тоже не очень ясно))
Nikita
что такое pub trait Space<Field> тоже не очень ясно))
Вообще это должен быть тензор то бишь считай многомерная матрица из элементов Field
Nikita
Но смысла это особо не имеет
Денис
я имею в виду семантику
Nikita
Я всего лишь хочу написать что типа такого: pub trait Space : Add<Self, Output=Self> + Sub<Self, Output=Self> + Mul<Self, Output=Self> + Mul<F, Output=Self> {} но так чтобы F - обязательно удовлетворял типажу Field
Денис
просто смотри, если ты хочешь такое: "пусть Field — это типы данных, которые умеют складываться", то ты объявляешь пустой трейт (trait Field {}) и делаешь имлементацию impl<T: Add> Field for T where <T as Add>::Output = T {}, всё
Nikita
Окей, пасиб еще раз
Денис
я слегка упростил, но суть примерно такая
Pavel
Стоит ли входить в разработку через раст?
LexsZero
нет, работать не сможешь потом.