From c7487264e58c20c6d17ec97a7dc6221547748a69 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Wed, 19 Nov 2025 09:08:57 +0100 Subject: [PATCH 1/2] [math] add vector of vector of floats dict as with double see https://root-forum.cern.ch/t/vector-of-vectors-in-ttree-vs-rntuple/64416/2 --- math/mathcore/inc/LinkDef2.h | 1 + 1 file changed, 1 insertion(+) diff --git a/math/mathcore/inc/LinkDef2.h b/math/mathcore/inc/LinkDef2.h index ce9f553af5ff6..26f408c6ae6c4 100644 --- a/math/mathcore/inc/LinkDef2.h +++ b/math/mathcore/inc/LinkDef2.h @@ -174,6 +174,7 @@ #pragma link C++ class ROOT::Math::DistSamplerOptions+; #pragma link C++ class ROOT::Math::GoFTest+; #pragma link C++ class std::vector >+; +#pragma link C++ class std::vector >+; #pragma link C++ class ROOT::Math::Delaunay2D+; From 1ae2c77f4760a9715001f4f8763d0cfac78baab4 Mon Sep 17 00:00:00 2001 From: ferdymercury Date: Wed, 19 Nov 2025 14:40:24 +0100 Subject: [PATCH 2/2] [test][RDF] vector of vector of floats no longer throws since it's in a dict linkdef --- tree/dataframe/test/dataframe_utils.cxx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tree/dataframe/test/dataframe_utils.cxx b/tree/dataframe/test/dataframe_utils.cxx index b1ebcb0c4999c..3bd7f7162dea5 100644 --- a/tree/dataframe/test/dataframe_utils.cxx +++ b/tree/dataframe/test/dataframe_utils.cxx @@ -233,8 +233,7 @@ TEST(RDataFrameUtils, TypeName2TypeID) { EXPECT_EQ(typeid(float), RDFInt::TypeName2TypeID("float")); EXPECT_EQ(typeid(std::vector), RDFInt::TypeName2TypeID("std::vector")); + EXPECT_EQ(typeid(std::vector>), RDFInt::TypeName2TypeID("std::vector>")); EXPECT_THROW(RDFInt::TypeName2TypeID("float *"), std::runtime_error); EXPECT_THROW(RDFInt::TypeName2TypeID("float &"), std::runtime_error); - // TODO(jblomer): Ideally, we would want the next one not to throw an exception - EXPECT_THROW(RDFInt::TypeName2TypeID("std::vector>"), std::runtime_error); }