Size: a a a

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

2021 June 17

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
error: implementation of `DeserializeBorrowed` is not general enough
 --> src\main.rs:33:50
  |
33 |     handle_path::<Bar, _, _>(todo!(), |bar: Bar| "()");
  |                                                  ^^^^ implementation of `DeserializeBorrowed` is not general enough
  |
  = note: `Bar<'_>` must implement `DeserializeBorrowed<'_>`
  = note: ...but `DeserializeBorrowed<'_>` is actually implemented for the type `Bar<'_>`
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
в общем, я допинал. Но лучше так конечно никогда не писать :D Видимо раст в это все же не умеет:

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2d2bb9d2db43465448a140cf21499c0b
источник

RB

Rustem B. in Rust — русскоговорящее сообщество
Привет, есть для cargo gdb/lldb плагин? Чтобы не указывать полный путь до исполняемого файла?
источник

C

ChzChz in Rust — русскоговорящее сообщество
:))) мощно, буду медитировать
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
ну там очень сильная магия чтобы лайфтаймы сошлись. Проще реально макрос бахнуть.
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообщество
или не ебать мозг с serde(borrow) при десериализации, тогда лайфтаймов нет и все опять же чудесно
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообщество
источник

R

Roman in Rust — русскоговорящее сообщество
Ребят. Тут же все ок, да?

/// Wrapper to use `Send + !Sync` as `Send + Sync`
pub struct SendToSync<T> {
   value: T,
}

/// # Safety
/// This is safe because wrapper never gives access to `&T` from `&self`.
/// This is essentially `Mutex::get_mut` without paying for the mutex.
unsafe impl<T> Sync for SendToSync<T> where T: Send {}

impl<T> SendToSync<T> {
   pub fn new(value: T) -> Self {
       SendToSync { value }
   }
   pub fn get_mut(&mut self) -> &mut T {
       &mut self.value
   }
}
источник

🇹

🇹 in Rust — русскоговорящее сообщество
/sarcasm может просто в Arc?
источник

D

Denis in Rust — русскоговорящее сообщество
The precise definition is: a type T is Sync if and only if &T is Send.
источник

D

Denis in Rust — русскоговорящее сообщество
Arc<T> имплементит Sync, только если T: Send + Sync
источник

D

Denis in Rust — русскоговорящее сообщество
но ваще вроде ок
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообщество
мне кажется не ок
источник

ph

pl 🦑 hk in Rust — русскоговорящее сообщество
так можно рефцел засунуть
источник

R

Roman in Rust — русскоговорящее сообщество
если обернуть в Mutex и пользоваться только get_mut то то же самое получается же
источник

D

Denis in Rust — русскоговорящее сообщество
ну мьютекс по той же схеме вроде работает, нет?
источник

R

Roman in Rust — русскоговорящее сообщество
Ну и суй рефцелл
источник

D

Denis in Rust — русскоговорящее сообщество
ну кроме аллокации )
источник

R

Roman in Rust — русскоговорящее сообщество
Кроме создания мьютекса
источник

R

Roman in Rust — русскоговорящее сообщество
Аллокации памяти в мьютексе нет
источник