diff --git a/toml/parser.hpp b/toml/parser.hpp index 4d59f0a..590cb2a 100644 --- a/toml/parser.hpp +++ b/toml/parser.hpp @@ -2414,12 +2414,14 @@ parse(std::vector& letters, const std::string& fname) } } - const auto data = detail::parse_toml_file(loc); - if(!data) + if (auto data = detail::parse_toml_file(loc)) { - throw syntax_error(data.unwrap_err(), source_location(loc)); + return std::move(data).unwrap(); + } + else + { + throw syntax_error(std::move(data).unwrap_err(), source_location(loc)); } - return data.unwrap(); } } // detail