make expect collector recursive

This commit is contained in:
Folkert 2022-07-13 18:51:11 +02:00
parent a56ff4f3e3
commit ebce2cf8b2
No known key found for this signature in database
GPG Key ID: 1F17F6FFD112B97C
2 changed files with 4 additions and 3 deletions

View File

@ -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)
}
}

View File

@ -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;