diff --git a/toml/parser.hpp b/toml/parser.hpp index fce58ba..02d1fe8 100644 --- a/toml/parser.hpp +++ b/toml/parser.hpp @@ -905,7 +905,7 @@ parse_array(location& loc) } template -result, value>, std::string> +result, region>, value>, std::string> parse_key_value_pair(location& loc) { const auto first = loc.iter(); @@ -968,7 +968,7 @@ parse_key_value_pair(location& loc) loc.iter() = first; return err(msg); } - return ok(std::make_pair(std::move(key_reg.unwrap().first), + return ok(std::make_pair(std::move(key_reg.unwrap()), std::move(val.unwrap()))); } @@ -1193,8 +1193,9 @@ parse_inline_table(location& loc) { return err(kv_r.unwrap_err()); } - const std::vector& keys = kv_r.unwrap().first; - const value& val = kv_r.unwrap().second; + const std::vector& keys = kv_r.unwrap().first.first; +// const region& key_reg = kv_r.unwrap().first.second; + const value& val = kv_r.unwrap().second; const auto inserted = insert_nested_key(retval, val, keys.begin(), keys.end()); @@ -1374,8 +1375,9 @@ result parse_ml_table(location& loc) if(const auto kv = parse_key_value_pair(loc)) { - const std::vector& keys = kv.unwrap().first; - const value& val = kv.unwrap().second; + const std::vector& keys = kv.unwrap().first.first; +// const region& key_reg = kv_r.unwrap().first.second; + const value& val = kv.unwrap().second; const auto inserted = insert_nested_key(tab, val, keys.begin(), keys.end()); if(!inserted)