Skip to content

Commit dcdb4f6

Browse files
committed
Fix clang-tidy warnings:
- Added back `-clang-analyzer-optin.core.EnumCastOutOfRange` check to .clang-tidy to prevent interference with flag enums. - Updated `make_rune_set` in `bracket_expression` to include `[[nodiscard]]`, improving code clarity and ensuring the return value is utilized. - Combined `char32_range_expression` and `bracket_expression` checks in `encode_min_max` for more efficient rune set management.
1 parent 93619fe commit dcdb4f6

File tree

2 files changed

+3
-4
lines changed

2 files changed

+3
-4
lines changed

.clang-tidy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Checks:
33
- clang-diagnostic-*
44
- clang-analyzer-*
5+
- -clang-analyzer-optin.core.EnumCastOutOfRange # interferes with flag enums
56
- android-*
67
- bugprone-*
78
- -bugprone-easily-swappable-parameters # many functions have easily swappable parameters

include/lug/lug.hpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ struct bracket_expression : terminal_encoder_expression_interface<bracket_expres
10031003
constexpr explicit bracket_expression(std::string_view s) noexcept : pattern{s} {}
10041004
template <class M> [[nodiscard]] constexpr auto evaluate(encoder& d, M const& m) const -> M const& { d.skip().encode(opcode::match_set, d.add_rune_set(make_rune_set(d.mode()))); return m; }
10051005

1006-
unicode::rune_set make_rune_set(directives mode) const
1006+
[[nodiscard]] unicode::rune_set make_rune_set(directives mode) const
10071007
{
10081008
unicode::rune_set result;
10091009
std::optional<char32_t> left_rune;
@@ -1394,9 +1394,7 @@ template <std::size_t NMin, std::size_t NMax, class E>
13941394
d.encode_min_max(opcode::repeat_space, NMin, NMax);
13951395
else if constexpr (std::is_same_v<std::decay_t<E>, char_expression>)
13961396
d.encode_char_or_set(opcode::repeat_octet, opcode::repeat_set, e.c, NMin, NMax);
1397-
else if constexpr (std::is_same_v<std::decay_t<E>, char32_range_expression>)
1398-
d.encode_min_max(opcode::repeat_set, NMin, NMax, d.add_rune_set(e.make_rune_set(d.mode())));
1399-
else if constexpr (std::is_same_v<std::decay_t<E>, bracket_expression>)
1397+
else if constexpr (std::is_same_v<std::decay_t<E>, char32_range_expression> || std::is_same_v<std::decay_t<E>, bracket_expression>)
14001398
d.encode_min_max(opcode::repeat_set, NMin, NMax, d.add_rune_set(e.make_rune_set(d.mode())));
14011399
return true;
14021400
} else if constexpr (std::is_same_v<std::decay_t<E>, string_expression>) {

0 commit comments

Comments
 (0)