diff --git a/tree/ntuple/inc/ROOT/REntry.hxx b/tree/ntuple/inc/ROOT/REntry.hxx index 9db07ceedf48c..7449033b5f3c5 100644 --- a/tree/ntuple/inc/ROOT/REntry.hxx +++ b/tree/ntuple/inc/ROOT/REntry.hxx @@ -231,7 +231,7 @@ public: template void BindRawPtr(std::string_view fieldName, T *rawPtr) { - BindRawPtr(GetToken(fieldName), rawPtr); + BindRawPtr(GetToken(fieldName), rawPtr); } /// Get the (typed) pointer to the value for the field referenced by `token`. diff --git a/tree/ntuple/test/ntuple_basics.cxx b/tree/ntuple/test/ntuple_basics.cxx index ebddc60caa2c7..3de989e1e4af1 100644 --- a/tree/ntuple/test/ntuple_basics.cxx +++ b/tree/ntuple/test/ntuple_basics.cxx @@ -782,6 +782,12 @@ TEST(REntry, Basics) EXPECT_EQ("float", e->GetTypeName("pt")); EXPECT_EQ("float", e->GetTypeName(model->GetToken("pt"))); + float rawPt; + double wrongType; + e->BindRawPtr("pt", &rawPt); + EXPECT_EQ(&rawPt, e->GetPtr("pt").get()); + EXPECT_THROW(e->BindRawPtr("pt", &wrongType), ROOT::RException); + auto ptrPt = std::make_shared(); e->BindValue("pt", ptrPt); EXPECT_EQ(ptrPt.get(), e->GetPtr("pt").get());