diff --git a/compiler/can/src/pattern.rs b/compiler/can/src/pattern.rs index 332205b188..43e76963d2 100644 --- a/compiler/can/src/pattern.rs +++ b/compiler/can/src/pattern.rs @@ -326,6 +326,9 @@ pub fn canonicalize_pattern<'a>( &loc_default.value, ); + // an optional field binds the symbol! + output.references.bound_symbols.insert(symbol); + output.union(expr_output); destructs.push(Located { diff --git a/compiler/solve/src/solve.rs b/compiler/solve/src/solve.rs index 79b8b817e6..124dd5e90d 100644 --- a/compiler/solve/src/solve.rs +++ b/compiler/solve/src/solve.rs @@ -201,8 +201,8 @@ fn solve( constraint: &Constraint, ) -> State { match constraint { - // True => state, True => { + dbg!(&env.vars_by_symbol); state .vars_by_symbol .extend(env.vars_by_symbol.iter().map(|(x, y)| (*x, *y)));