fix(quality): resolve SonarQube S3490 and S1186 critical findings#1609
Conversation
S3490 — Use =default for empty special member functions (no behavior change): - cuts.hpp: mixed_integer_gomory_cut_t() = default - internals.hpp: virtual ~Callback() = default - initial_problem_check.hpp: violation() = default - waypoint_matrix_test.cpp: three test class default constructors S1186 — Add /* no-op */ comment to intentionally empty overrides: - branch_and_bound.cpp: on_node_completed, on_numerical_issue, graphviz, on_optimal_callback, update_objective_estimate - deterministic_workers.hpp: collect_worker_events - waypoint_matrix_test.cpp: TearDown (×3) - grpc_client_test.cpp: WaitForInitialMetadata Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
/ok to test 31f7a8b |
CI Test Summary✅ All 31 test job(s) passed. |
…orward decl
As of rmm 26.10, rmm::device_uvector is defined inside the ABI inline namespace
rmm::RMM_ABI_NAMESPACE (rmm/detail/export.hpp). cuOpt's manual
namespace rmm { template <typename T> class device_uvector; }
forward declaration in problem_checking.cuh injects a *second*, distinct
rmm::device_uvector into the plain rmm namespace, so every use becomes ambiguous
('rmm::device_uvector is ambiguous'), which fails the build against rmm 26.10.
Replace the hand-rolled forward declaration with #include <rmm/device_uvector.hpp>
so the correctly ABI-namespaced declaration is used. (cuOpt already disables the
analogous thrust/cub ABI namespaces via -DTHRUST_DISABLE_ABI_NAMESPACE /
-DCUB_DISABLE_NAMESPACE_MAGIC; rmm's ABI namespace is newer and has no such opt-out.)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Max Buckley <maxwbuckley@gmail.com>
Drop on_optimal_callback overrides removed from the base class tree_update_policy_t in main; keep /* no-op */ style on remaining empty overrides (on_node_completed, on_numerical_issue, graphviz). Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughChangesThe PR replaces empty C++ constructors and a virtual destructor with Implementation cleanup
Estimated code review effort: 1 (Trivial) | ~3 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
/merge |
Summary
Resolves two groups of SonarQube CRITICAL findings that have straightforward, zero-behavior-change fixes.
S3490 — Replace empty
{}with= default(8 instances):cuts.hpp:mixed_integer_gomory_cut_t()internals.hpp:virtual ~Callback()initial_problem_check.hpp:violation()waypoint_matrix_test.cpp: three test class default constructorsS1186 — Add
/* no-op */comment to intentionally empty overrides (9 cuOpt instances):branch_and_bound.cpp:on_node_completed,on_numerical_issue,graphviz,on_optimal_callback,update_objective_estimatedeterministic_workers.hpp:collect_worker_eventswaypoint_matrix_test.cpp:TearDown(×3)grpc_client_test.cpp:WaitForInitialMetadataNote:
cxxopts.hpp(third-party) is excluded.