mirror of
https://github.com/roc-lang/roc.git
synced 2024-09-22 00:09:33 +03:00
make expect collector recursive
This commit is contained in:
parent
a56ff4f3e3
commit
ebce2cf8b2
@ -10,7 +10,7 @@ use crate::num::{
|
||||
use crate::pattern::{canonicalize_pattern, BindingsFromPattern, Pattern};
|
||||
use crate::procedure::References;
|
||||
use crate::scope::Scope;
|
||||
use crate::traverse::Visitor;
|
||||
use crate::traverse::{walk_expr, Visitor};
|
||||
use roc_collections::soa::Index;
|
||||
use roc_collections::{SendMap, VecMap, VecSet};
|
||||
use roc_error_macros::internal_error;
|
||||
@ -2509,12 +2509,14 @@ struct ExpectCollector {
|
||||
}
|
||||
|
||||
impl crate::traverse::Visitor for ExpectCollector {
|
||||
fn visit_expr(&mut self, expr: &Expr, region: Region, _var: Variable) {
|
||||
fn visit_expr(&mut self, expr: &Expr, region: Region, var: Variable) {
|
||||
if let Expr::Expect {
|
||||
lookups_in_cond, ..
|
||||
} = expr
|
||||
{
|
||||
self.expects.insert(region, lookups_in_cond.to_vec());
|
||||
}
|
||||
|
||||
walk_expr(self, expr, var)
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
//! Traversals over the can ast.
|
||||
|
||||
use roc_collections::VecMap;
|
||||
use roc_module::{ident::Lowercase, symbol::Symbol};
|
||||
use roc_region::all::{Loc, Region};
|
||||
use roc_types::subs::Variable;
|
||||
|
Loading…
Reference in New Issue
Block a user