aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-10-30 13:36:14 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-03 00:22:24 +0100
commit348acb105c316a2544e50ef3c6408f88207e85a7 (patch)
tree478e73acee477f2569c42522f2929c01f8503510
parent86bfde389a73c984c7ce15ad736c998e893fda6d (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.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 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*();
}