mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
Merge branch 'main' into allow-try-in-statements
This commit is contained in:
commit
0a82f313c3
358 changed files with 8376 additions and 1214 deletions
|
@ -1104,10 +1104,21 @@ pub fn desugar_expr<'a>(
|
|||
// Allow naked dbg, necessary for piping values into dbg with the `Pizza` binop
|
||||
loc_expr
|
||||
}
|
||||
DbgStmt(condition, continuation) => {
|
||||
DbgStmt {
|
||||
first: condition,
|
||||
extra_args,
|
||||
continuation,
|
||||
} => {
|
||||
let desugared_condition = &*env.arena.alloc(desugar_expr(env, scope, condition));
|
||||
let desugared_continuation = &*env.arena.alloc(desugar_expr(env, scope, continuation));
|
||||
|
||||
if let Some(last) = extra_args.last() {
|
||||
let args_region = Region::span_across(&condition.region, &last.region);
|
||||
env.problem(Problem::OverAppliedDbg {
|
||||
region: args_region,
|
||||
});
|
||||
}
|
||||
|
||||
env.arena.alloc(Loc {
|
||||
value: *desugar_dbg_stmt(env, desugared_condition, desugared_continuation),
|
||||
region: loc_expr.region,
|
||||
|
|
|
@ -1345,7 +1345,7 @@ pub fn canonicalize_expr<'a>(
|
|||
|
||||
(loc_expr.value, output)
|
||||
}
|
||||
ast::Expr::DbgStmt(_, _) => {
|
||||
ast::Expr::DbgStmt { .. } => {
|
||||
internal_error!("DbgStmt should have been desugared by now")
|
||||
}
|
||||
ast::Expr::LowLevelDbg((source_location, source), message, continuation) => {
|
||||
|
@ -2646,7 +2646,7 @@ pub fn is_valid_interpolation(expr: &ast::Expr<'_>) -> bool {
|
|||
| ast::Expr::Tag(_)
|
||||
| ast::Expr::OpaqueRef(_) => true,
|
||||
// Newlines are disallowed inside interpolation, and these all require newlines
|
||||
ast::Expr::DbgStmt(_, _)
|
||||
ast::Expr::DbgStmt { .. }
|
||||
| ast::Expr::LowLevelDbg(_, _, _)
|
||||
| ast::Expr::Return(_, _)
|
||||
| ast::Expr::When(_, _)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue