「view this page in B3 βῆτα server」

Revisions №21310

branch: rosetta:commits 「№21310」
Commited by: lyskov-ai
GitHub Pull Request link: 「№763」
Merge: 「0c38201cd」「4066812b2」  code diff
Scheduled at: 2026-09-17 16:14:33.072426
linux.clang linux.gcc linux.srlz mac.clang
debug
release
unit
mac.clang.python38.PyRosetta.unit ubuntu.clang.cxx11thread.serialization.python38.PyRosetta.unit mpi mpi.serialization build.header build.levels build.ninja_debug beautification code_quality.cppcheck code_quality.merge_size serialization code_quality.submodule_regression integration.mpi integration.release_debug integration.tensorflow integration.thread integration.torch integration performance profile linux.clang.score linux.gcc.score mac.clang.score scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify util.apps windows.build.debug windows.build.release

Pull Request №763 RosettaCommons/rosetta/main ← lyskov-ai/rosetta/refactor/owning-raw-pointers-to-unique-ptr Merge: 0c38201cdcd83a9217d947a1604b4317f71c6831←4066812b2d3eccc8fe66d5300f13054195e3fc6a Replace manually-deleted owning raw pointers with std::unique_ptr ---------------- Merge commit message: Replace manually-deleted owning raw pointers with std::unique_ptr Twelve classes held a heap object by raw pointer and freed it with an explicit delete in their destructor. Hold each in a std::unique_ptr instead, so ownership is expressed in the type and the destructors stop hand-managing memory. Eight graph classes own boost::unordered_object_pool instances: utility::graph::Graph and Digraph (element pool plus edge pool each), EnergyGraph, MinimizationGraph, TenANeighborGraph, BuriedUnsatPenaltyGraph, JobDigraph and SewGraph. In Graph and Digraph this also corrects the teardown order: the explicit delete freed the element pool from the destructor body while edge_list_ -- which holds a reference to that pool and returns its elements to it as it is destroyed -- was still alive. Member destruction now runs the list first and frees the pool afterwards. SICFast, MotifHashRigidScore, triangleIterator and FragmentCandidate each owned a single object while leaving their copy operations implicit, so copying any of them would have double-freed. The unique_ptr members make them non-copyable. MotifHashRigidScore::ssinfo1_ and ssinfo2_ were never allocated -- always null, with their only readers commented out -- so they are deleted rather than converted, along with the now-unused SS_Info2 includes.

...
Test: linux.gcc.mpi.serialization.integration.mpi

Failed sub-tests (click for more details):
replica_docking
Test: linux.clang.integration.release_debug_no_symbols

Failed sub-tests (click for more details):
features
Test: mac.clang.python39.integration

Failed sub-tests (click for more details):
mp_f19_relax