В пищевом заведении дали лимонад из холодильника. Видимо, из-за того, что бутылка стояла близко к холодной стенке, но не слишком близко, в напитке выросли кристаллы льда. То есть, да, снежинки прям в бутылке
❤🔥9
Forwarded from Experimental chill
В C++, вы можете создавать объекты в классе и объекты, которые задекларированы последними, могут принимать себе параметры предыдущих.
state_ зависит от dep_ в примере. При деструкторе state_ разрушится, потом dep_ разрушится. Всё хорошо. Объекты разрушаются в обратном порядке. Так учили ... всегда и везде, да? :)
Так вот, при default move операторе мы сначала делаем move на dep_, потом на state_ и между move мы получаем state_ с вероятно некорректной зависимостью (вектора или умные указатели вызывают деструктор при move dep_).
Бабах, пруф https://gcc.godbolt.org/z/xG14Wj3E7
Фикс: писать свой move оператор, где вы сначала делаете move на state_, потом на dep_, то есть в обратном порядке.
Скажите же, очень легко написать = default здесь, думая, что язык сам делает всё правильно?
Пойду попишу на расте, что ли
state_ зависит от dep_ в примере. При деструкторе state_ разрушится, потом dep_ разрушится. Всё хорошо. Объекты разрушаются в обратном порядке. Так учили ... всегда и везде, да? :)
Так вот, при default move операторе мы сначала делаем move на dep_, потом на state_ и между move мы получаем state_ с вероятно некорректной зависимостью (вектора или умные указатели вызывают деструктор при move dep_).
Бабах, пруф https://gcc.godbolt.org/z/xG14Wj3E7
Фикс: писать свой move оператор, где вы сначала делаете move на state_, потом на dep_, то есть в обратном порядке.
Скажите же, очень легко написать = default здесь, думая, что язык сам делает всё правильно?
Пойду попишу на расте, что ли
😱11🤔4🤣2
Forwarded from На хую vercheniye 🇮🇱🇺🇦
Приготовились к работе, айтишники? #трудовыебудни
💯10🔥8😁4🌚2🥰1🤡1
Forwarded from Jem
В добавок к archive.today нашёл https://paywallskip.com
Paywall Skip
Paywall Skip - Access News Without Limits
Access premium news content without paywalls - free and easy.
❤10
Блог*
Пишу заметки о релизе @ Хочу написать пример с #[expect] @ Нахожу баг
GitHub
`#[expect(unused_must_use)]` does not work when applied directly to statement · Issue #130142 · rust-lang/rust
I tried this code: #[must_use] pub fn important() -> i32 { 42 } pub fn foo() { #[expect(unused_must_use)] important(); } I expected #[expect] to catch unused_must_use lint and suppress it, as it...
👍7
Тут один человек собрал все ссылки на копии статей Дедфуда в Web archive: https://habr.com/ru/news/840520/comments/#comment_27249020
👍4