@TDmitry Для бакапів краще декілька HDD і якусь ФС, яка вміє чексуми і програмний RAID :) Із SSD мені подобається Samsung 980 PRO, але суто для бакапів це перебор.
@NewsHour Now Russia seeks to repeat the trick. Freeze the conflict, get sanctions lifted so it can re-arm & attack again. Trump - who now parrots Russian lies about Ukraine starting the war - is about to walk into the same trap Putin set for the EU & Obama & then Biden. Deal maker indeed.
@TDmitry В C++ dangling references - одна із найбільш неприємних проблем. Компілятори не можуть запобігти, і потрібно використовувати санітизатори на етапі виконання коду
Over 200 cases of Ukrainian POWs executed on camera.
Mass graves visible from space.
Hundreds of cities erased to the ground.
Thousands of Ukrainian children kidnapped.
Torture chambers found in de-occupied territories.
Yet some people still don't know who the bad guys are.
@TDmitry А, якщо ти його конструюєш при запуску застосунку і більше не змінюєш, то так, Mutex<T> тобі непотрібний. &T і Arc<T> можна використовувати із багатьох потоків.
@TDmitry Одного Mutex має бути достатньо :) Скоріше за усе, borrow checker жалівся, що не можеш перемістити кудись свій HashMap через = (бо у тебе лише &mut T, а не T). Але &mut має бути достатньо для зміни HashMap через insert()
@TDmitry Хм, щось не зрозумів, навіщо тобі TypeId 🤔 Ти його отримуєш із dyn trait об'єкту в рантаймі? Хіба тобі не достатньо просто мати один спільний інтерфейс?
@TDmitry Якщо ти хочеш працювати через спільний "інтерфейс" із обома варіантами, то треба або трейт (не обов'язково dyn, якщо достатньо статичного поліморфізму), або enum (і співставлення зі взірцем через match/if-let). Так чи інакше, треба привести до одного типу.
@TDmitry Це enum :) Але як в Rust або Haskell, не як в С. Тобто тип, який має декілька варіантів значень, де значення як повноціння структури можуть бути, кожне із своїми полями. І тоді обробляти різні варіанти через match.
@TDmitry А що саме не виходить? Можу подивитися!
* dyn Trait треба покласти в якийсь розумний покажчик, щоб повернути із функції
* Не усі трейти може перетворити на trait object (https://t.co/3ikhKtaQ4Y). Базова вимога - приймати self через якесь посилання і повертати конкретний тип