diff --git a/src/json.hpp b/src/json.hpp
index 432cf553..d3601078 100644
--- a/src/json.hpp
+++ b/src/json.hpp
@@ -576,7 +576,7 @@ void to_json(BasicJsonType& j, UnscopedEnumType e) noexcept
 }
 
 template<typename BasicJsonType>
-void to_json(BasicJsonType& j, std::vector<bool> e) noexcept
+void to_json(BasicJsonType& j, const std::vector<bool>& e)
 {
     external_constructor<value_t::array>::construct(j, e);
 }
diff --git a/src/json.hpp.re2c b/src/json.hpp.re2c
index 21b4fd3a..1560f1ef 100644
--- a/src/json.hpp.re2c
+++ b/src/json.hpp.re2c
@@ -576,7 +576,7 @@ void to_json(BasicJsonType& j, UnscopedEnumType e) noexcept
 }
 
 template<typename BasicJsonType>
-void to_json(BasicJsonType& j, std::vector<bool> e) noexcept
+void to_json(BasicJsonType& j, const std::vector<bool>& e)
 {
     external_constructor<value_t::array>::construct(j, e);
 }