@@ -203,7 +203,7 @@ impl InputInlineRulesOrAlgo {
203203pub ( crate ) struct AlgoApply {
204204 pub ( crate ) algo : AlgoHandle ,
205205 pub ( crate ) rule_args : Vec < AlgoRuleArg > ,
206- pub ( crate ) options : BTreeMap < SmartString < LazyCompact > , Expr > ,
206+ pub ( crate ) options : Rc < BTreeMap < SmartString < LazyCompact > , Expr > > ,
207207 pub ( crate ) head : Vec < Symbol > ,
208208 pub ( crate ) arity : usize ,
209209 pub ( crate ) span : SourceSpan ,
@@ -229,7 +229,7 @@ impl Debug for AlgoApply {
229229pub ( crate ) struct MagicAlgoApply {
230230 pub ( crate ) algo : AlgoHandle ,
231231 pub ( crate ) rule_args : Vec < MagicAlgoRuleArg > ,
232- pub ( crate ) options : BTreeMap < SmartString < LazyCompact > , Expr > ,
232+ pub ( crate ) options : Rc < BTreeMap < SmartString < LazyCompact > , Expr > > ,
233233 pub ( crate ) span : SourceSpan ,
234234 pub ( crate ) arity : usize ,
235235 pub ( crate ) algo_impl : Rc < Box < dyn AlgoImpl > > ,
@@ -465,7 +465,7 @@ impl Display for InputProgram {
465465 }
466466 write ! ( f, "{}" , rule_arg) ?;
467467 }
468- for ( k, v) in options {
468+ for ( k, v) in options. as_ref ( ) {
469469 if first {
470470 first = false ;
471471 } else {
0 commit comments