rugnux --mode scale: hold the merge cell by value, not a reference into a temporary
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 9m52s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 10m45s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 17m38s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 20m23s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m17s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 7m44s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 7m11s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 11m3s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m26s
Build Packages / Unit tests (push) Successful in 1h36m59s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 17m34s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 17m5s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 17m39s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 17m48s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 18m44s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 20m29s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 18m52s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 18m51s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 22m11s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 23m30s
Build Packages / Generate python client (push) Successful in 57s
Build Packages / Build documentation (push) Successful in 2m10s
Build Packages / Create release (push) Successful in 18s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 12m57s

GetUnitCell() returns std::optional by value, so a reference to its value() dangled at the end of
the statement (clang -Wdangling-gsl).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D1G8gJVAy6gp1K5Dz3NE5C
This commit is contained in:
2026-09-26 21:54:58 +02:00
co-authored by Claude Opus 5.5
parent 40d91072ba
commit b90b377b85
+2 -2
View File
@@ -1634,7 +1634,7 @@ static int RunRugnux(int argc, char **argv) {
// each frame's own goniometer rotation. Say so here, where both cells can be named, instead of
// merging indices in a frame they do not belong to.
{
const auto &merge_cell = experiment.GetUnitCell().value();
const UnitCell merge_cell = experiment.GetUnitCell().value();
const float dist_tol = experiment.GetIndexingSettings().GetUnitCellDistTolerance();
const float ang_tol = experiment.GetIndexingSettings().GetUnitCellAngleTolerance_deg();
size_t n_indexed = 0, n_agree = 0;
@@ -1677,7 +1677,7 @@ static int RunRugnux(int argc, char **argv) {
// the observations in another. Nothing downstream can notice, so the check belongs here, with
// both the cell and the group in hand.
if (const auto merge_sg = experiment.GetGemmiSpaceGroup()) {
const auto &uc = experiment.GetUnitCell().value();
const UnitCell uc = experiment.GetUnitCell().value();
const double violation = MetricViolation(uc, *merge_sg);
if (violation > MAX_METRIC_VIOLATION) {
logger.Error("The space group {} cannot describe this cell: a={:.3f} b={:.3f} c={:.3f} "