mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-07 16:18:19 -10:00
The hand-written ~350-line memberwise move existed only to manage the one raw owning pointer, and silently left any member it didn't mention uninitialized in the destination. With subsystems as a unique_ptr, the defaulted moves and destructor are correct by composition. Copies become explicitly deleted (use clone()). n_subsystems stays a plain int because it is passed to varargs functions. The moves are not declared noexcept because libstdc++ computes a potentially-throwing implicit specification; NOLINT suppresses clang-tidy accordingly. Co-Authored-By: Claude Fable 5 <[email protected]>