PerformScan: Destructure device details in run() loop header

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ic4e683bb0f8c67b589d5ac05174604ebf18b644f
diff --git a/src/PerformScan.cpp b/src/PerformScan.cpp
index ab1bd4b..7b9ef1f 100644
--- a/src/PerformScan.cpp
+++ b/src/PerformScan.cpp
@@ -374,12 +374,8 @@
                 DBusInterface emptyInterface;
                 emptyInterfaces.emplace(std::string{}, emptyInterface);
 
-                for (auto& foundDeviceAndPath : foundDevices)
+                for (const auto& [foundDevice, path] : foundDevices)
                 {
-                    const DBusInterface& foundDevice =
-                        foundDeviceAndPath.interface;
-                    const std::string& path = foundDeviceAndPath.path;
-
                     // Need all interfaces on this path so that template
                     // substitutions can be done with any of the contained
                     // properties.  If the probe that passed didn't use an