From a84c404c5b12d169fa55c929345012600ab8bfd4 Mon Sep 17 00:00:00 2001 From: Aaron Fiore Date: Mon, 1 Dec 2025 14:37:16 -0800 Subject: [PATCH] container: root: internal: fix calling base CRTP template functions ROOT 6.38.00 brings LLVM 20 which errors (or ROOT's Cling errors) when calling certain base CRTP template functions without a `this` pointer. Resolves: "error: call to non-static member function without an object argument" NOTE: RandomImpl is not currently affected but is refactored for consistency. --- container/src/root/src/internal/impl/hash.hh | 4 ++-- container/src/root/src/internal/impl/random.hh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/container/src/root/src/internal/impl/hash.hh b/container/src/root/src/internal/impl/hash.hh index 814c6cf..94ab406 100644 --- a/container/src/root/src/internal/impl/hash.hh +++ b/container/src/root/src/internal/impl/hash.hh @@ -118,7 +118,7 @@ class HashImpl : public ::dfi::internal::Transform message.push_back(decoded); } - return t_impl::that()->template hash(message); + return this->t_impl::that()->template hash(message); } //! \brief @@ -142,7 +142,7 @@ class HashImpl : public ::dfi::internal::Transform static_assert( std::is_same_v, "Hash interface has changed"); - return t_impl::that()->template hash(decoded); + return this->t_impl::that()->template hash(decoded); } }; } // namespace common diff --git a/container/src/root/src/internal/impl/random.hh b/container/src/root/src/internal/impl/random.hh index 6819f36..09feed7 100644 --- a/container/src/root/src/internal/impl/random.hh +++ b/container/src/root/src/internal/impl/random.hh @@ -82,7 +82,7 @@ class RandomImpl : public ::dfi::internal::Random type::is_real_integral::value, "Random interface has changed"); - return t_impl::that()->template generate(); + return this->t_impl::that()->template generate(); } }; } // namespace common