Size: a a a

2020 October 27

d

diabolo in Rust Beginners
Nikita Vilunov
Настраивать хоть и неприятно, но настроенный аналайзер работает лучше плагина
+
источник

d

diabolo in Rust Beginners
причём у меня одинаково нормально пашет что связка имкакс-снэпшот, что наш remacs, во втором ещё пахать и пахать:(
источник
2020 October 28

EG

Emmanuel Goldstein in Rust Beginners
Adatan
это rusty way?
let is_helper = <var>.map(|m| m.roles.contains(x)).unwrap_or_default();
источник

АГ

Алексей Герасимов... in Rust Beginners
Emmanuel Goldstein
let is_helper = <var>.map(|m| m.roles.contains(x)).unwrap_or_default();
<var> это Option? тогда да, можно конечно и на if let переписать
let is_helper = if let Some(m) = <var> { m.roles.contains(x) } else { false };
источник

JC

Julian =) Coffee in Rust Beginners
Алексей Герасимов
<var> это Option? тогда да, можно конечно и на if let переписать
let is_helper = if let Some(m) = <var> { m.roles.contains(x) } else { false };
https://t.me/rust_beginners_ru/89554
Колесо Сансары дало новый оборот
источник

JM

John Meow in Rust Beginners
Как так вообще получилось
источник

$

$@ in Rust Beginners
John Meow
Как так вообще получилось
Никогда не поздно начать все с начала
источник

V

Vladyslav Batyrenko in Rust Beginners
А напомните, пожалуйста, какое значение возвращает такой u32 литерал: !0?
источник

IB

Ivan Boldyrev in Rust Beginners
Vladyslav Batyrenko
А напомните, пожалуйста, какое значение возвращает такой u32 литерал: !0?
0xffffffff, емнис.
источник

V

Vladyslav Batyrenko in Rust Beginners
Спасибо) Так и подумал, но не нашел быстрого способа этого нагуглить в документации или еще где-то
источник

V

Vladyslav Batyrenko in Rust Beginners
ага, bitwise операция ж, логично
https://doc.rust-lang.org/book/appendix-02-operators.html
источник

V

Vladyslav Batyrenko in Rust Beginners
https://doc.rust-lang.org/src/core/ops/bit.rs.html#47-52

Эмм, я почему-то думал, что поведение ! оператора определяется имплементацией трейта Not. А тут в имплементации используется !self. Это как? :)
источник

JC

Julian =) Coffee in Rust Beginners
Vladyslav Batyrenko
https://doc.rust-lang.org/src/core/ops/bit.rs.html#47-52

Эмм, я почему-то думал, что поведение ! оператора определяется имплементацией трейта Not. А тут в имплементации используется !self. Это как? :)
источник

JC

Julian =) Coffee in Rust Beginners
Вот было это обсуждение
источник

JC

Julian =) Coffee in Rust Beginners
Если кратко, то компилятор сам это все поразворачивает, а нужно это для того, что Not::not() и прочие приколы работали.
источник

V

Vladyslav Batyrenko in Rust Beginners
О, понял, благодарю
источник

JC

Julian =) Coffee in Rust Beginners
Правда пруфов не знаю, но звучит логично.
источник

V

Vladyslav Batyrenko in Rust Beginners
Я тут еще пытаюсь понять назначение макроса
https://doc.rust-lang.org/src/core/internal_macros.rs.html#3

который рядом с теми сорцами вызывается
источник

V

Vladyslav Batyrenko in Rust Beginners
Мне его сложновато прочитать, но такое впечатление, что такой его вызов forward_ref_unop! { impl Not, not for $t }

генерирует ровно такой же код:
        #[stable(feature = "rust1", since = "1.0.0")]
       impl Not for $t {
           type Output = $t;

           #[inline]
           fn not(self) -> $t { !self }
       }


https://doc.rust-lang.org/src/core/ops/bit.rs.html#44
источник

V

Vladyslav Batyrenko in Rust Beginners
То есть не ровно такой же, но в итоге имплементирует тот же трейт
источник