fd: avoid move-to-self

When compiling with C++23, GCC-13 raises the following compiler failure:
```
../test/internal/fd.cpp:182:8: error: moving ‘fd’ of type ‘gpioplus::internal::Fd’ to itself [-Werror=self-move]
```

Switch to an explicit `static_cast` to test the same functionality but
avoid the error.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I81e36b05d51fd8b11b1e99d62426dd516c3676ed
diff --git a/test/internal/fd.cpp b/test/internal/fd.cpp
index a909a99..78ee457 100644
--- a/test/internal/fd.cpp
+++ b/test/internal/fd.cpp
@@ -179,7 +179,9 @@
 TEST_F(FdTest, OperatorMoveSame)
 {
     Fd fd(expected_fd, std::false_type(), &mock);
-    fd = std::move(fd);
+    // Test move operator but newer compilers complain about move-to-self
+    // so use an explicit r-value ref cast to do the same.
+    fd = static_cast<Fd&&>(fd);
     EXPECT_EQ(expected_fd, *fd);
 
     EXPECT_CALL(mock, close(expected_fd)).WillOnce(Return(0));