Size: a a a

Rust — русскоговорящее сообществo

2020 March 17

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
Денис Котляров
логично. чтобы сделать impl структуры надо кликать на переменную структуры)
Курсор в любом месте внутри struct item'а активирует контекстное действие, насколько я помню
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Mike Lubinets
Но этого и в Найтли нет :)
Не хватает рефлекшна в макросах
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Mike Lubinets
Я тоже очень хочу полноценную интроспекцию в процедурных макросах, но, увы.
Ну вот да
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Alex Zhukovsky
Не хватает рефлекшна в макросах
ох)

оно то да, но макросы дело тонкое...

вот недавно немного подправили поведение ошибок при неверных макросах. теперь сиди и привыкай...
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Денис Котляров
возьмем const fn. я его безумно жду бо надоело делать кучу хаков для этого..

оттуда вытекают даже const imlp которых ваще нет.
это первое.

второе.

помню была прикольная штука возможность задать &self определенный тип типо &self: Arc<Self> и внутри  функции использовать все фитчи оберток.

далее.
на ум приходят мои многие эксперименты с trait. возьмем trait флаги. в стандартном есть Sync. Send это понятно. но! в найтли есть возможность придумать свой флаг и его автоматически реализовать для нужных типов по определенному условию.


еще сюда добавим из трейтов default fn:)  (возможность реализовать трейт для типа по умолчанию. а потом позволить его переопределить). например реализовать трейт для типа T ЛЮБОГО! а потом позволить переопределить этотже трейт для нужного T.

также добавим сюда trait type:))

ну этот список вечен вы чего:))
Arc<Self> есть и в стейбле
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
polunin.ai
Arc<Self> есть и в стейбле
вижу.

но, максимум что изменилось...
они кроме Box разрешили и этот набор списка

error[E0307]: invalid `self` parameter type: &std::sync::Arc<B<Test>>
--> src/main.rs:9:23
 |
9 |     fn function(self: &Arc<B<Self>>) {
 |                       ^^^^^^^^^^^^^
 |
 = note: type of `self` must be `Self` or a type that dereferences to it
 = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`)


хоть что-то, но)) это лишь в рамках std:)))
источник

V

Vladimir in Rust — русскоговорящее сообществo
Денис Котляров
вижу.

но, максимум что изменилось...
они кроме Box разрешили и этот набор списка

error[E0307]: invalid `self` parameter type: &std::sync::Arc<B<Test>>
--> src/main.rs:9:23
 |
9 |     fn function(self: &Arc<B<Self>>) {
 |                       ^^^^^^^^^^^^^
 |
 = note: type of `self` must be `Self` or a type that dereferences to it
 = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`)


хоть что-то, но)) это лишь в рамках std:)))
Так там написано, что-то что дереференсится, у тебя deref реализован в B?
источник

В

Вафель in Rust — русскоговорящее сообществo
Vladimir
Так там написано, что-то что дереференсится, у тебя deref реализован в B?
> error[E0658]: `&Wrap<Test>` cannot be used as the type of `self` without the `arbitrary_self_types` feature
>>  error[E0658]: `&std::sync::Arc<Wrap<Test>>` cannot be used as the type of `self` without the `arbitrary_self_types` feature

Deref никак не помогает
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Vladimir
Так там написано, что-то что дереференсится, у тебя deref реализован в B?
эмм. что?
источник

В

Вафель in Rust — русскоговорящее сообществo
>  = note: type of `self` must be `Self` or a type that dereferences to it
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
Денис Котляров
вижу.

но, максимум что изменилось...
они кроме Box разрешили и этот набор списка

error[E0307]: invalid `self` parameter type: &std::sync::Arc<B<Test>>
--> src/main.rs:9:23
 |
9 |     fn function(self: &Arc<B<Self>>) {
 |                       ^^^^^^^^^^^^^
 |
 = note: type of `self` must be `Self` or a type that dereferences to it
 = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`)


хоть что-то, но)) это лишь в рамках std:)))
ое...

так они не просто расширили Arc,Rc,Pin...

они вообще убрали возможность это делать с другими типами...

или как...

# ![feature(arbitrary_self_types )] больше нет.

https://github.com/rust-lang/rust/issues/55786
источник

В

Вафель in Rust — русскоговорящее сообществo
источник

ДК

Денис Котляров in Rust — русскоговорящее сообществo
интересно...

так они добавили в требование лишь Deref?... ну допустим. буду знать
источник

BD

Berkus Decker in Rust — русскоговорящее сообществo
> If you’re interested in working on hard systems problems in Rust, we’re hiring for our core sync team.

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

BD

Berkus Decker in Rust — русскоговорящее сообществo
кто там ныл что нет позиций
источник

p

polunin.ai in Rust — русскоговорящее сообществo
Berkus Decker
> If you’re interested in working on hard systems problems in Rust, we’re hiring for our core sync team.

а вот и работа на расте подвалила
Это где?
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
Berkus Decker
> If you’re interested in working on hard systems problems in Rust, we’re hiring for our core sync team.

а вот и работа на расте подвалила
адын работ?)
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
просто завалило
источник

AZ

Alex Zhukovsky in Rust — русскоговорящее сообществo
источник

AL

Andrey @ozkriff Lesnikov in Rust — русскоговорящее сообществo
Там, кстати, Who's Hiring обновили https://t.me/rust_jobs/6399
источник