Skip to content

Commit

Permalink
Avoid unnecessary IIFEs.
Browse files Browse the repository at this point in the history
  • Loading branch information
LTLA committed Feb 5, 2025
1 parent d29b67d commit 1c5511f
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions include/uzuki2/parse_json.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -234,10 +234,8 @@ std::shared_ptr<Base> parse_object(const millijson::Base* contents, Externals& e
}
}

const auto& lvals = [&]{
std::string name = "levels";
return extract_array(map, name, path);
}();
const std::string levels_name = "levels"; // avoid dangling reference from casting of string literal.
const auto& lvals = extract_array(map, levels_name, path);
int32_t nlevels = lvals.size();
auto fptr = process_array_or_scalar_values(map, path, [&](const auto& vals, bool named, bool scalar) -> auto {
auto ptr = Provisioner::new_Factor(vals.size(), named, scalar, nlevels, ordered);
Expand Down Expand Up @@ -368,10 +366,8 @@ std::shared_ptr<Base> parse_object(const millijson::Base* contents, Externals& e
auto names_ptr = has_names(map, path);
bool has_names = names_ptr != NULL;

const auto& vals = [&]{
std::string name = "values";
return extract_array(map, name, path);
}();
std::string values_name = "values"; // avoid dangling reference from casting of string literal.
const auto& vals = extract_array(map, values_name, path);
auto ptr = Provisioner::new_List(vals.size(), has_names);
output.reset(ptr);

Expand Down

0 comments on commit 1c5511f

Please sign in to comment.