diff --git a/src/python/pybind11/stats.cc b/src/python/pybind11/stats.cc index 50013cf98c..e6912e2ff6 100644 --- a/src/python/pybind11/stats.cc +++ b/src/python/pybind11/stats.cc @@ -67,6 +67,11 @@ cast_stat_info(const Stats::Info *info) } while (0) TRY_CAST(Stats::ScalarInfo); + /* FormulaInfo is a subclass of VectorInfo. Therefore, a cast to + * FormulaInfo must be attempted before a cast to VectorInfo. Otherwise + * instances of ForumlaInfo will be cast to VectorInfo. + */ + TRY_CAST(Stats::FormulaInfo); TRY_CAST(Stats::VectorInfo); TRY_CAST(Stats::DistInfo); @@ -168,6 +173,14 @@ pybind_init_stats(py::module_ &m_native) }) ; + py::class_>( + m, "FormulaInfo") + .def_property_readonly("str", [](const Stats::FormulaInfo &info) { + return info.str(); + }) + ; + py::class_>( m, "DistInfo")