diff options
Diffstat (limited to 'absl/container/internal/common.h')
-rw-r--r-- | absl/container/internal/common.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/absl/container/internal/common.h b/absl/container/internal/common.h index 5037d80316cc..8990f2947273 100644 --- a/absl/container/internal/common.h +++ b/absl/container/internal/common.h @@ -138,6 +138,7 @@ class node_handle<Policy, PolicyTraits, Alloc, absl::void_t<typename Policy::mapped_type>> : public node_handle_base<PolicyTraits, Alloc> { using Base = node_handle_base<PolicyTraits, Alloc>; + using slot_type = typename PolicyTraits::slot_type; public: using key_type = typename Policy::key_type; @@ -145,7 +146,7 @@ class node_handle<Policy, PolicyTraits, Alloc, constexpr node_handle() {} - auto key() const -> decltype(PolicyTraits::key(this->slot())) { + auto key() const -> decltype(PolicyTraits::key(std::declval<slot_type*>())) { return PolicyTraits::key(this->slot()); } |