Forwarded from Mikola Summer Duck
Если кто не знает есть активный проект компилятора подмножества раста в SPIR-V
Forwarded from Jack
Кстати, насчет no_std async/await: https://github.com/Nemo157/embrio-rs/blob/master/embrio-async/tests/smoke.rs
GitHub
Nemo157/embrio-rs
Contribute to Nemo157/embrio-rs development by creating an account on GitHub.
Forwarded from Adv0cat
Кстати о новичках...)) есть классная ссылка с основными для новичков штуками https://www.breakdown-notes.com/make/load/rust_cs_canvas/true
Но этим не сильно удобно пользоваться... Я бы даже сказал вааще не удобно 😊
Но этим не сильно удобно пользоваться... Я бы даже сказал вааще не удобно 😊
Breakdown-Notes
Breakdown Notes
Breakdown notes: Make mindmaps and notes online for free
Forwarded from 71 6Ö5 [GMT +3]
комрады - вопрос, раст динамичное число агрументов не поддерживает - можно ли как-то сделать
a = Struct::new(arg1);
b = Struct::new(arg1, arg2);
Forwarded from SkyCoffee
можно, но костыльно и в nightly https://crates.io/crates/overloadable
Forwarded from Zygohistomorphic Prepromorphism🇺🇦
да если честно лучше это прочитать, чем абрамовщину
https://www.humblespark.com/blog/extensible-effects-in-node-part-1
https://www.humblespark.com/blog/extensible-effects-in-node-part-1
HumbleSpark
Extensible Effects in Node.js, Part 1 | HumbleSpark
Forwarded from Zygohistomorphic Prepromorphism🇺🇦
ну тут у тебя как бы фриер монада в жс))) адт через прототайп
Forwarded from Leonid 🦇 Onokhov
Поганое солнце стояло в зените,
Поганые люди сидели вокруг,
Автобусом правил поганый водитель,
И очень погано смеялся мой друг.
Поганые люди сидели вокруг,
Автобусом правил поганый водитель,
И очень погано смеялся мой друг.
Forwarded from Денис
x as u16 ничего не сломает, если x: u8, но если ты потом заменишь тип переменной на, скажем, u32, то код продолжит собираться без ошибок и предупреждений, поэтому лучше делать u16::fromSkyCoffee, [25.07.19 19:06]
хороший язык Rust, заставил меня полюбить Си)
компилятор бы ругался, что не может познать лайфтайм для того, что он возвращает
Mikola Summer Duck, [25.07.19 19:07]
Может же
Он его возьмёт с лайфтайма &mut self
Логично выведя, что поле self будет жить столько же, сколько сам self
Без элижона оно будет выглядеть так:
речь же о времени жизни заимствованний, а не самих объектов, так что сложно
вот так я бы не смог вернуть один и тот же регистр два раза за время жизни эмулятора
Mikola Summer Duck, [25.07.19 19:09]
Не, ты не оперируешь временем жизни заимстсвования.
Мог бы. Нельзя держать две пишущие ссылки одновременно, это да.
Но вот это бы работало
хороший язык Rust, заставил меня полюбить Си)
компилятор бы ругался, что не может познать лайфтайм для того, что он возвращает
Mikola Summer Duck, [25.07.19 19:07]
Может же
Он его возьмёт с лайфтайма &mut self
Логично выведя, что поле self будет жить столько же, сколько сам self
Без элижона оно будет выглядеть так:
fn get_reg<'a>(&'a mut self, vx: u8) -> &'a mut u8 {
&mut self.registers.v_registers[vx as usize]
}
SkyCoffee, [25.07.19 19:09]речь же о времени жизни заимствованний, а не самих объектов, так что сложно
вот так я бы не смог вернуть один и тот же регистр два раза за время жизни эмулятора
Mikola Summer Duck, [25.07.19 19:09]
Не, ты не оперируешь временем жизни заимстсвования.
Мог бы. Нельзя держать две пишущие ссылки одновременно, это да.
Но вот это бы работало
let mut reg_a = self.get_reg(1);Потому что недавно в расте включили NLL, и теперь борровчекер стал намного добрее.
a += 1;
let mut reg_b = self.get_reg(2);
b += 9;
Tux, [26.07.19 09:05]
помогите с лайфтаймами разобраться
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb8c22ce3b9df236f9da7e35861bb053
Дмитрий Беляев, [26.07.19 10:20]
[In reply to Tux]
мне кажется из Shared::get_ref не получится вернуть ссылку
так как владелец сдохнет по ее завершении
Andrey @ozkriff Lesnikov, [26.07.19 10:26]
да, там lock() мьютекса возвращает гард, который по определению локальный и в этом его смысл. так что прямо так взять и вернуть ссылку вовне нельзя и так и должно быть. в чем сама решаемая задача?
Tux, [26.07.19 10:31]
[In reply to Andrey @ozkriff Lesnikov]
хочу избавиться от статик (который глобальная переменная) синглтона
Tux, [26.07.19 10:34]
и везде его через arc+mutex передавать. и хочется при этом сохранить красивый api, чтобы без кишок типа мьютекса наружу. как в actix контекст в Data передается
помогите с лайфтаймами разобраться
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=eb8c22ce3b9df236f9da7e35861bb053
Дмитрий Беляев, [26.07.19 10:20]
[In reply to Tux]
мне кажется из Shared::get_ref не получится вернуть ссылку
так как владелец сдохнет по ее завершении
Andrey @ozkriff Lesnikov, [26.07.19 10:26]
да, там lock() мьютекса возвращает гард, который по определению локальный и в этом его смысл. так что прямо так взять и вернуть ссылку вовне нельзя и так и должно быть. в чем сама решаемая задача?
Tux, [26.07.19 10:31]
[In reply to Andrey @ozkriff Lesnikov]
хочу избавиться от статик (который глобальная переменная) синглтона
Tux, [26.07.19 10:34]
и везде его через arc+mutex передавать. и хочется при этом сохранить красивый api, чтобы без кишок типа мьютекса наружу. как в actix контекст в Data передается
doc.rust-lang.org
MutexGuard in std::sync - Rust
An RAII implementation of a “scoped lock” of a mutex. When this structure is dropped (falls out of scope), the lock will be unlocked.
Stanislav Popov:
врёти что хаскель простой. там такие нагромождения, просто ад
тайп фемелис, линейные типы, миллион экстеншенов, миллион фиксов позволяющих делать чтото для чего то что раньше не делалось
λeonid Onokhov:
линейных типов ещё нет
почти все экстеншены считай что просто часть языка
Stanislav Popov:
ну я вот это прочитал https://gist.github.com/klapaucius/8fc2fbb48606e6dd9a9a095898e3fac4
врёти что хаскель простой. там такие нагромождения, просто ад
тайп фемелис, линейные типы, миллион экстеншенов, миллион фиксов позволяющих делать чтото для чего то что раньше не делалось
λeonid Onokhov:
линейных типов ещё нет
почти все экстеншены считай что просто часть языка
Stanislav Popov:
ну я вот это прочитал https://gist.github.com/klapaucius/8fc2fbb48606e6dd9a9a095898e3fac4
Gist
9.2
9.2. GitHub Gist: instantly share code, notes, and snippets.