//! High-level symmetric linear-solver trait — port of
//! `IpSymLinearSolver.hpp`.
//!
//! This is the algorithm-side abstraction (it takes a `SymMatrix` /
//! `Vector` rather than raw triplet arrays). The concrete
//! [`crate::SparseSymLinearSolverInterface`] backend is wrapped by
//! `TSymLinearSolver` (Phase 5+, when `IpoptData` lands).
//!
//! Phase 4 only needs the trait surface so `pounce-hsl` can be
//! compiled and tested against it. The `multi_solve` entry point
//! lands in Phase 5 once the `SymMatrix`/`Vector` traits from Phase 2
//! are connected to `IpoptData`.
use Index;