diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/parser/parsers.h | 6 | ||||
-rw-r--r-- | src/support/result.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/parser/parsers.h b/src/parser/parsers.h index 4121788d7..2d3321dcd 100644 --- a/src/parser/parsers.h +++ b/src/parser/parsers.h @@ -1099,7 +1099,7 @@ block(Ctx& ctx, const std::vector<Annotation>& annotations, bool folded) { auto type = blocktype(ctx); CHECK_ERR(type); - ctx.makeBlock(pos, annotations, label, *type); + CHECK_ERR(ctx.makeBlock(pos, annotations, label, *type)); CHECK_ERR(instrs(ctx)); @@ -1162,7 +1162,7 @@ ifelse(Ctx& ctx, const std::vector<Annotation>& annotations, bool folded) { return ctx.in.err("else label does not match if label"); } - ctx.visitElse(); + CHECK_ERR(ctx.visitElse()); CHECK_ERR(instrs(ctx)); @@ -1205,7 +1205,7 @@ loop(Ctx& ctx, const std::vector<Annotation>& annotations, bool folded) { auto type = blocktype(ctx); CHECK_ERR(type); - ctx.makeLoop(pos, annotations, label, *type); + CHECK_ERR(ctx.makeLoop(pos, annotations, label, *type)); CHECK_ERR(instrs(ctx)); diff --git a/src/support/result.h b/src/support/result.h index ab71d3a53..7cd360d53 100644 --- a/src/support/result.h +++ b/src/support/result.h @@ -40,7 +40,7 @@ struct Err { } // Represent a result of type T or an error message. -template<typename T = Ok> struct Result { +template<typename T = Ok> struct [[nodiscard]] Result { std::variant<T, Err> val; Result(Result<T>& other) = default; @@ -56,7 +56,7 @@ template<typename T = Ok> struct Result { }; // Represent an optional result of type T or an error message. -template<typename T = Ok> struct MaybeResult { +template<typename T = Ok> struct [[nodiscard]] MaybeResult { std::variant<T, None, Err> val; MaybeResult() : val(None{}) {} |