From 3961a4f16a8635738f3fa8d0c85b462b4b0db521 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Thu, 20 Mar 2025 14:40:35 -0400 Subject: [PATCH] AK: Fully qualify use of `move` in TemporaryChange For some reason, after some seemingly unrelated upcoming changes, the unqualified `move`s in this header result in an ADL failure: AK/TemporaryChange.h:22:39: error: call to function 'move' that is neither visible in the template definition nor found by argument- dependent lookup 22 | ~TemporaryChange() { m_variable = move(m_old_value); } | ^ Libraries/LibDNS/Resolver.h:491:29: note: in instantiation of member function 'AK::TemporaryChange::~TemporaryChange' requested here 491 | TemporaryChange change(m_attempting_restart, true); --- AK/TemporaryChange.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/AK/TemporaryChange.h b/AK/TemporaryChange.h index 5ac3912a7d6..fbd7353388c 100644 --- a/AK/TemporaryChange.h +++ b/AK/TemporaryChange.h @@ -7,6 +7,7 @@ #pragma once #include +#include namespace AK { @@ -15,11 +16,15 @@ class TemporaryChange { public: TemporaryChange(T& variable, T value) : m_variable(variable) - , m_old_value(move(variable)) + , m_old_value(AK::move(variable)) { - m_variable = move(value); + m_variable = AK::move(value); + } + + ~TemporaryChange() + { + m_variable = AK::move(m_old_value); } - ~TemporaryChange() { m_variable = move(m_old_value); } private: T& m_variable;