172 похожих чатов

15 ответов

22 просмотра

потому что start_ref борровит start

Если что, Box::pin, но проблему не решит эт

Предположим раст пропустит это. Тогда если после этого кода дописать drop(dfa_states); dbg!(start_ref); То что произойдет?

Αλεχ Zhukovsky
Предположим раст пропустит это. Тогда если после э...

Ну я бы ждал ошибку компиляции в духе "ты тут дропаешь с живой ссылкой на объект, окстись"

YeahGore'Kha (коренастый яблоко)
Ну я бы ждал ошибку компиляции в духе "ты тут дроп...

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

YeahGore'Kha (коренастый яблоко)
Ну я бы ждал ошибку компиляции в духе "ты тут дроп...

ты тут дропаешь муваешь с живой ссылкой на объект, акстись

Пух
ты тут дропаешь муваешь с живой ссылкой на объект,...

У меня не абстрактная обёртка в вакууме, а Pin<Box<>>. Можно не делать вид, будто он ведёт себя случайным образом в зависимости от погоды и настроения?

YeahGore'Kha (коренастый яблоко)
У меня не абстрактная обёртка в вакууме, а Pin<Box...

я не думаю что в борровчекере какие-то специальные правила насчет пина или бокса

Αλεχ Zhukovsky
А в чем проблема?

Я не вижу, что я делаю проблемного И не понимаю, что не нравится компилятору И как ему объяснить... что-нибудь

YeahGore'Kha (коренастый яблоко)
Я не вижу, что я делаю проблемного И не понимаю, ч...

полагаю ты хочешь вот такое #![feature(hash_raw_entry)] use std::collections::HashMap; #[derive(Debug)] struct Foo; #[derive(PartialEq, Eq, Hash, Debug)] struct MyKey; fn main() { let mut map = HashMap::new(); let key = MyKey {}; let value = Foo {}; let (k, v) = map.raw_entry_mut().from_key(&key).or_insert_with(|| (key, value)); dbg!(k); dbg!(v); }

YeahGore'Kha (коренастый яблоко)
Я не вижу, что я делаю проблемного И не понимаю, ч...

я тебе объяснил проблему - компилятор боится что у тебя останется ссылка на мертую память

YeahGore'Kha (коренастый яблоко)
Я не вижу, что я делаю проблемного И не понимаю, ч...

https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=82601422637413330ac9333b3444ae61

YeahGore'Kha (коренастый яблоко)
Я не вижу, что я делаю проблемного И не понимаю, ч...

use std::collections::HashMap; #[derive(Debug)] struct Foo(i32); #[derive(PartialEq, Eq, Hash, Debug)] struct MyKey(i32); fn main() { let mut map = HashMap::new(); let key = MyKey(25); let value = Foo(77); let v = map.entry(key).insert_entry(value); let (k, v) = (v.key(), v.get()); dbg!(k); dbg!(v); }

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
Карта сайта