Size: a a a

2020 November 22

MB

Mikail Bagishov in Rust Beginners
По идее Relaxed операции могут например наблюдаться с разных потоков в разном порядке, то есть один поток видит A+B а другой в то же время C+D, хотя порядок операций был B+C+A+D
источник

IB

Ilya Bogdanov in Rust Beginners
Ничего лучше https://habr.com/en/post/517918/ про Orderings я пока не видел
источник

MK

Max Kot in Rust Beginners
Добрый день, с чего посоветуете начать изучение языка?
источник

CM

Chingiz Mamiyev in Rust Beginners
Nick Linker
Материалы для изучающих Rust:
1. Лекции Алексея Кладова
https://www.youtube.com/playlist?list=PLlb7e2G7aSpTfhiECYNI2EZ1uAluUqE_e

2. Rustbook
на русском языке https://doc.rust-lang.ru/book/
на английском языке https://doc.rust-lang.org/stable/book/

3. Rust by example
на русском языке https://doc.rust-lang.ru/stable/rust-by-example/
на английском языке https://doc.rust-lang.org/stable/rust-by-example/

4. Туториал Too many lists, где тщательно разбираются вопросы времён жизни и построения циклических структур данных, то есть вопросы, часто ставящие в тупик изучающих Rust
https://rust-unofficial.github.io/too-many-lists/

5. Вкратце о Rust 2018
https://habr.com/ru/post/432564/

6. Шпаргалка по ржавому синтаксису
шпаргалка https://cheats.rs/
объяснение https://jrvidal.github.io/explaine.rs/ (подобно playground, но вместо компиляции аннотирует код на предмет того, какие языковые конструкции там были применены)

7. Последние статьи по тэгу Rust на Хабре
https://habr.com/ru/hub/rust/

8. Правила оформления кода на Rust
https://doc.rust-lang.org/1.0.0/style/

9. Руководство по асинхронному программированию на Rust
на русском языке https://doc.rust-lang.ru/async-book
на английском языке https://rust-lang.github.io/async-book/

10. Сборник рецептов, коллекция небольших программ, готовых к простому copy-paste, покрывающих множество различных тем:
на английском языке https://rust-lang-nursery.github.io/rust-cookbook/

∞. Наконец, если всего вышеизложенного оказалось мало, есть репозиторий, где собираются все материалы по изучению Rust:
https://github.com/ctjhoa/rust-learning
С этого
источник

d

diabolo in Rust Beginners
с изучения материалов в закрепе
источник

MK

Max Kot in Rust Beginners
Благодарю, не заметил
источник

R

Roman Q in Rust Beginners
в сорсах есть две имплементации трейта:

#[cfg(not(test))]
#[async_trait::async_trait]
impl Guard for RoleGuard {

#[cfg(test)]
#[async_trait::async_trait]
impl Guard for RoleGuard {

и тест на актиксе:

#[actix_rt::test]
async fn test_create() {

при запуске cargo test отрабатывает почему-то первый, кто растолкует?

вообще, стоит задача выполнять некий участок кода в зависимости от того из теста он вызван или нет, может по другому лучше решить задачу?
источник

MB

Mikail Bagishov in Rust Beginners
Хм, это странно.
Что cargo expand показывает?
(cargo install cargo-expand)
источник

R

Roman Q in Rust Beginners
что-то не получается выполнить expand для конкретного модуля:

WARNING: no such item: service::module


а без опций показывает main
источник

MB

Mikail Bagishov in Rust Beginners
А если сначала имя крейта указать?
источник

JC

Julian =) Coffee in Rust Beginners
или crate::service::module
источник

Е

Егор in Rust Beginners
привет, я делаю реализацию http на tokio и столкулся с тем что  когда читаю сокет , то получается что он пустой при том что я отправляю данные на него ?
код: https://gist.github.com/dark0ghost/7a18ea51c5e74634b82410ba1db84626
источник

R

Roman Q in Rust Beginners
а,  я —bin указывал. с —lib всё показывает

cargo expand --lib --tests показывает

    struct RoleGuard {
       role: Role,
   }
   #[cfg(test)]
   impl Guard for RoleGuard {


пока все вроде правильно
источник

R

Roman Q in Rust Beginners
но cargo test при этом продолжает выполнять имплементацию трейта #[cfg(not(test))]
источник

RP

Roman Proskuryakov in Rust Beginners
Roman Q
в сорсах есть две имплементации трейта:

#[cfg(not(test))]
#[async_trait::async_trait]
impl Guard for RoleGuard {

#[cfg(test)]
#[async_trait::async_trait]
impl Guard for RoleGuard {

и тест на актиксе:

#[actix_rt::test]
async fn test_create() {

при запуске cargo test отрабатывает почему-то первый, кто растолкует?

вообще, стоит задача выполнять некий участок кода в зависимости от того из теста он вызван или нет, может по другому лучше решить задачу?
а как у тебя test_create объявлен? внутри #[cfg(test)] mod tests {} ?
источник

R

Roman Q in Rust Beginners
Roman Proskuryakov
а как у тебя test_create объявлен? внутри #[cfg(test)] mod tests {} ?
точно, атрибута cfg(test)  в тестах нет, и тестовые функции вне модуля. но они интеграционные, пишут (https://doc.rust-lang.org/book/ch11-03-test-organization.html)

> We don’t need to annotate any code in tests/integration_test.rs with #[cfg(test)]. Cargo treats the tests directory specially and compiles files in this directory only when we run cargo test
источник
2020 November 23

k

kirill in Rust Beginners
Приветы! Откуда взялось название крейт? Ни библиотека, ни пакет, ни модуль...
источник

Р

Рик Огурчик... in Rust Beginners
kirill
Приветы! Откуда взялось название крейт? Ни библиотека, ни пакет, ни модуль...
Ящик
источник

Р

Рик Огурчик... in Rust Beginners
Или ты о чем?
источник

(L

(((Mike Lubinets))) in Rust Beginners
kirill
Приветы! Откуда взялось название крейт? Ни библиотека, ни пакет, ни модуль...
Здесь так заведено
источник