diff --git a/example/asio-example.cpp b/example/asio-example.cpp
index f7ec6b0..f17d285 100644
--- a/example/asio-example.cpp
+++ b/example/asio-example.cpp
@@ -39,7 +39,7 @@
     return testCount;
 }
 
-int methodWithMessage(sdbusplus::message::message& m, int test)
+int methodWithMessage(sdbusplus::message::message& /*m*/, int test)
 {
     std::cout << "methodWithMessage(m, " << test << ") -> " << (test + 1)
               << "\n";
@@ -131,9 +131,9 @@
     }
 }
 
-auto ipmiInterface(boost::asio::yield_context yield, uint8_t netFn, uint8_t lun,
-                   uint8_t cmd, std::vector<uint8_t>& data,
-                   const std::map<std::string, variant>& options)
+auto ipmiInterface(boost::asio::yield_context /*yield*/, uint8_t netFn,
+                   uint8_t lun, uint8_t cmd, std::vector<uint8_t>& /*data*/,
+                   const std::map<std::string, variant>& /*options*/)
 {
     std::vector<uint8_t> reply = {1, 2, 3, 4};
     uint8_t cc = 0;
@@ -343,7 +343,7 @@
     conn->async_method_call(
         [nonConstCapture = std::move(nonConstCapture)](
             boost::system::error_code ec,
-            const std::vector<std::string>& things) mutable {
+            const std::vector<std::string>& /*things*/) mutable {
             std::cout << "async_method_call callback\n";
             nonConstCapture += " stuff";
             if (ec)
