diff --git a/src/include/clapp/parser.hpp b/src/include/clapp/parser.hpp
index 11a9dbd0ed087f51acb1d0e9f2f4795991373bc9..78bc24e47aa9ba6eee4c1cb9b807d80455ed8bbf 100644
--- a/src/include/clapp/parser.hpp
+++ b/src/include/clapp/parser.hpp
@@ -21,7 +21,9 @@
 #include <sstream>
 
 inline clapp::parser::arg_t::arg_t(const char* const* argv, int argc)
-    : base{gsl::make_span(argv, argc)} {}
+    : base{gsl::span{argv, static_cast<std::size_t>(argc)}} {
+    Expects(argc >= 0);
+}
 
 template <typename short_option_func_t, typename long_option_func_t>
 constexpr bool clapp::parser::basic_parser_t::is_param_opt() {