aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-10-30 13:36:14 +0100
committerShauren <shauren.trinity@gmail.com>2020-10-30 13:36:14 +0100
commitb57530ebb143965863b0974adfc95fb8a4e365ee (patch)
treeb250a4e1cee9b8c49cc6fcb15fa3ae30933c668e /src
parent3c201b75543106d6daa693dae0eca39f8efdfa22 (diff)
Core/Commands: Exclude ambigious cast operator overloads from command Variant
Closes #25618
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Chat/ChatCommands/ChatCommandTags.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Chat/ChatCommands/ChatCommandTags.h b/src/server/game/Chat/ChatCommands/ChatCommandTags.h
index 353832ce01e..fb909cdc4e9 100644
--- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h
+++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h
@@ -244,7 +244,8 @@ namespace Trinity::ChatCommands
namespace Trinity::Impl
{
template <typename T>
- struct CastToVisitor {
+ struct CastToVisitor
+ {
template <typename U>
T operator()(U const& v) const { return v; }
};
@@ -273,7 +274,7 @@ namespace Trinity::ChatCommands
}
template<bool C = have_operators>
- operator std::enable_if_t<C && std::is_convertible<first_type, size_t>::value, size_t>() const
+ operator std::enable_if_t<C && !std::is_same_v<first_type, size_t> && std::is_convertible_v<first_type, size_t>, size_t>() const
{
return operator*();
}