Odpovídáte na názor k článku Interaktivní shell Fish přechází z C++ na Rust. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.
Dereference moved objektu není bug, to je feature. Proto to není use after move, protože to není žádná chyba.
Možná bys autorům clang-tidy měl vysvětlit, že use after move není žádná chyba, takže to hlídají úplně zbytečně.
C++ standard jasně říká, že objekt je po move ve validním, ale NESPECIFIKOVANÉM stavu, takže dělat na moved objektu cokoliv jiného než volání destruktoru, je hraní si s ohněm. Ono to může fungovat, ale spíš kvůli tomu, že se jedná o konkréttní implementační detail (náhodou je to implementovné tak, že něco po move funguje a v nové verzi objektu už to nemusí platit).
Tady bych jen vypíchnul, že move semantika byla do C++ přidána teprve nedávno a nikdo pořádně neví (včetně tebe), jak to funguje a jaké to dává nebo nedává garance.
V Rustu move funguje out of the box, programátor se o to nemusí vůbec starat (žádné psaní move konstruktorů), protože move je v Rustu interně implementované jako memcpy. Move v Rustu řeší překladač, takže v tom nejde udělat chyba a je to vždy správně, narozdíl od C++, kde se o move musím ručně starat. Dobrý příklad toho, jak je Rust oproti C++ v bezpečnosti i ergonomii o světelné roky napřed.