diff --git a/mlir/include/mlir/IR/AttrTypeSubElements.h b/mlir/include/mlir/IR/AttrTypeSubElements.h --- a/mlir/include/mlir/IR/AttrTypeSubElements.h +++ b/mlir/include/mlir/IR/AttrTypeSubElements.h @@ -413,16 +413,17 @@ function_ref walkAttrsFn, function_ref walkTypesFn) { using ImplT = typename T::ImplType; + (void)derived; + (void)walkAttrsFn; + (void)walkTypesFn; if constexpr (llvm::is_detected::value) { auto key = static_cast(derived.getImpl())->getAsKey(); // If we don't have any sub-elements, there is nothing to do. - if constexpr (!has_sub_attr_or_type_v) { + if constexpr (!has_sub_attr_or_type_v) return; - } else { - AttrTypeImmediateSubElementWalker walker(walkAttrsFn, walkTypesFn); - AttrTypeSubElementHandler::walk(key, walker); - } + AttrTypeImmediateSubElementWalker walker(walkAttrsFn, walkTypesFn); + AttrTypeSubElementHandler::walk(key, walker); } }