forked from EvergreenCrypto/docker-finance
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:
@@ -118,7 +118,7 @@ class HashImpl : public ::dfi::internal::Transform<t_impl>
|
||||
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
|
||||
@@ -142,7 +142,7 @@ class HashImpl : public ::dfi::internal::Transform<t_impl>
|
||||
static_assert(
|
||||
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
|
||||
|
||||
@@ -82,7 +82,7 @@ class RandomImpl : public ::dfi::internal::Random<t_impl>
|
||||
type::is_real_integral<t_random>::value,
|
||||
"Random interface has changed");
|
||||
|
||||
return t_impl::that()->template generate<t_random>();
|
||||
return this->t_impl::that()->template generate<t_random>();
|
||||
}
|
||||
};
|
||||
} // namespace common
|
||||
|
||||
Reference in New Issue
Block a user