diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-10-30 13:36:14 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-02-03 00:22:24 +0100 |
commit | 348acb105c316a2544e50ef3c6408f88207e85a7 (patch) | |
tree | 478e73acee477f2569c42522f2929c01f8503510 | |
parent | 86bfde389a73c984c7ce15ad736c998e893fda6d (diff) |
Core/Commands: Exclude ambigious cast operator overloads from command Variant
Closes #25618
(cherry picked from commit b57530ebb143965863b0974adfc95fb8a4e365ee)
-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 22db765f102..78f49673794 100644 --- a/src/server/game/Chat/ChatCommands/ChatCommandTags.h +++ b/src/server/game/Chat/ChatCommands/ChatCommandTags.h @@ -124,7 +124,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; } }; @@ -153,7 +154,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*(); } |