Page MenuHome
Paste P2891

D14628 compile fix
ActivePublic

Authored by Hans Goudey (HooglyBoogly) on Apr 12 2022, 3:44 PM.
diff --git a/source/blender/blenlib/BLI_devirtualize_arrays.hh b/source/blender/blenlib/BLI_devirtualize_arrays.hh
index 08adfb89002..dd81a2a74b2 100644
--- a/source/blender/blenlib/BLI_devirtualize_arrays.hh
+++ b/source/blender/blenlib/BLI_devirtualize_arrays.hh
@@ -49,7 +49,8 @@ template<ParamMode... Mode> using ParamModeSequence = ValueSequence<ParamMode, M
template<typename Fn, typename... ParamTags> class Devirtualizer {
private:
- template<size_t I> using tag_at_index = typename TypeSequence<ParamTags...>::at_index<I>;
+ template<size_t I>
+ using tag_at_index = typename TypeSequence<ParamTags...>::template at_index<I>;
Fn fn_;
IndexMask mask_;
@@ -271,7 +272,8 @@ template<typename Fn, typename... ParamTags> class Devirtualizer {
};
template<typename ElementFn, typename... ParamTags> struct ElementFnExecutor {
- template<size_t I> using tag_at_index = typename TypeSequence<ParamTags...>::at_index<I>;
+ template<size_t I>
+ using tag_at_index = typename TypeSequence<ParamTags...>::template at_index<I>;
ElementFn element_fn;
diff --git a/source/blender/functions/FN_multi_function_builder.hh b/source/blender/functions/FN_multi_function_builder.hh
index 0bb407e582f..9a22bbb753a 100644
--- a/source/blender/functions/FN_multi_function_builder.hh
+++ b/source/blender/functions/FN_multi_function_builder.hh
@@ -51,7 +51,7 @@ template<typename... ParamTags> class CustomMF : public MultiFunction {
std::tuple<typename ParamTags::ArrayType...> retrieved_params;
(
[&]() {
- using ParamTag = typename TagsSequence::at_index<I>;
+ using ParamTag = typename TagsSequence::template at_index<I>;
using T = typename ParamTag::BaseType;
if constexpr (std::is_base_of_v<devi::tags::Input, ParamTag>) {
@@ -76,7 +76,7 @@ template<typename... ParamTags> class CustomMF : public MultiFunction {
namespace devi = devirtualize_arrays;
(
[&]() {
- using ParamTag = typename TagsSequence::at_index<I>;
+ using ParamTag = typename TagsSequence::template at_index<I>;
if constexpr (std::is_base_of_v<devi::tags::Input, ParamTag>) {
using T = typename ParamTag::BaseType;
signature.single_input<T>("In");

Event Timeline