Fix most vexing parse in SparseSparseProductWithPruning.h

Summary

Use brace initialization instead of parentheses for temporary sparse matrix construction in sparse_sparse_product_with_pruning_selector specializations to avoid the C++ most vexing parse ambiguity under C++20.

Changes

Minimal 3-line fix in Eigen/src/SparseCore/SparseSparseProductWithPruning.h:

  • Line 90: remove_all_t<ResultType> res_(...)res_{...}
  • Line 102: SparseTemporaryType res_(...)res_{...}
  • Line 113: remove_all_t<ResultType> res_(...)res_{...}

No behavioral difference — SparseMatrix constructors accept the same arguments via braces.

Closes #3060 (closed)

Merge request reports

Loading