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.
This commit is contained in:
2025-12-01 14:37:16 -08:00
parent 6cb8be88d5
commit a84c404c5b
2 changed files with 3 additions and 3 deletions

View File

@@ -118,7 +118,7 @@ class HashImpl : public ::dfi::internal::Transform<t_impl>
message.push_back(decoded); message.push_back(decoded);
} }
return t_impl::that()->template hash<t_hash, t_encoded>(message); return this->t_impl::that()->template hash<t_hash, t_encoded>(message);
} }
//! \brief //! \brief
@@ -142,7 +142,7 @@ class HashImpl : public ::dfi::internal::Transform<t_impl>
static_assert( static_assert(
std::is_same_v<t_encoded, std::string>, "Hash interface has changed"); std::is_same_v<t_encoded, std::string>, "Hash interface has changed");
return t_impl::that()->template hash<t_hash, t_encoded>(decoded); return this->t_impl::that()->template hash<t_hash, t_encoded>(decoded);
} }
}; };
} // namespace common } // namespace common

View File

@@ -82,7 +82,7 @@ class RandomImpl : public ::dfi::internal::Random<t_impl>
type::is_real_integral<t_random>::value, type::is_real_integral<t_random>::value,
"Random interface has changed"); "Random interface has changed");
return t_impl::that()->template generate<t_random>(); return this->t_impl::that()->template generate<t_random>();
} }
}; };
} // namespace common } // namespace common