diff --git a/src/test/erase/pattern_test.cpp b/src/test/erase/pattern_test.cpp
index b379f59..0244f8a 100644
--- a/src/test/erase/pattern_test.cpp
+++ b/src/test/erase/pattern_test.cpp
@@ -10,6 +10,7 @@
 #include <xyz/openbmc_project/Common/error.hpp>
 
 #include <fstream>
+#include <span>
 #include <system_error>
 
 #include <gmock/gmock-matchers.h>
@@ -130,25 +131,25 @@
 
     // test read pattern
     EXPECT_CALL(mock, read(_))
-        .WillOnce(Invoke([](nonstd::span<std::byte> x) {
+        .WillOnce(Invoke([](std::span<std::byte> x) {
             std::copy_n(shortData1.begin(), shortData1.size(), x.data());
-            nonstd::span ret(shortData1);
+            std::span ret(shortData1);
             return ret;
         }))
         .RetiresOnSaturation();
 
     EXPECT_CALL(mock, read(_))
-        .WillOnce(Invoke([](nonstd::span<std::byte> x) {
+        .WillOnce(Invoke([](std::span<std::byte> x) {
             std::copy_n(restOfData.begin(), restOfData.size(), x.data());
-            nonstd::span ret(restOfData);
+            std::span ret(restOfData);
             return ret;
         }))
         .RetiresOnSaturation();
 
     EXPECT_CALL(mock, read(_))
-        .WillOnce(Invoke([](nonstd::span<std::byte> x) {
+        .WillOnce(Invoke([](std::span<std::byte> x) {
             std::copy_n(shortData2.begin(), shortData2.size(), x.data());
-            nonstd::span ret(shortData2);
+            std::span ret(shortData2);
             return ret;
         }))
         .RetiresOnSaturation();
