diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-10-30 13:36:14 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-10-30 13:36:14 +0100 |
commit | b57530ebb143965863b0974adfc95fb8a4e365ee (patch) | |
tree | b250a4e1cee9b8c49cc6fcb15fa3ae30933c668e /src | |
parent | 3c201b75543106d6daa693dae0eca39f8efdfa22 (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.h | 5 |
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*(); } |