diff --git a/alib2cli/src/parser/AltVisitor.h b/alib2cli/src/parser/AltVisitor.h index a7532536ed0e169733803c97eca2e7e816e10817..7490a920562dd4e837d14a7f07b30118651b4998 100644 --- a/alib2cli/src/parser/AltVisitor.h +++ b/alib2cli/src/parser/AltVisitor.h @@ -1,5 +1,6 @@ #pragma once +#include <concepts> #include <source_location> #include <ext/algorithm> @@ -245,7 +246,7 @@ private: return std::unique_ptr<T>(cast<T*>(val, location)); } - template <typename Base, typename T, class... Args> + template <typename Base, std::derived_from<Base> T, class... Args> Base* retPtr(Args&&... args) { return new T(std::forward<Args>(args)...);