From 7748ef989ca931541bbb59655f2f93d8826f3cc6 Mon Sep 17 00:00:00 2001 From: J Pratt Date: Fri, 4 Mar 2022 13:55:14 +1100 Subject: [PATCH] Propagate tags for edges, not all nodes that have an edge Change-Id: I42288adf9332ba17f7a43bf94541fa88eebdfac9 --- ibis/src/recipes.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ibis/src/recipes.rs b/ibis/src/recipes.rs index 14a2d2ee3..04dba6976 100644 --- a/ibis/src/recipes.rs +++ b/ibis/src/recipes.rs @@ -104,11 +104,11 @@ ibis! { KnownType(apply!(y_generic, y_arg)); HasTag(s, n, n, tag) <- Solution(s), Claim(n, tag); - HasTag(s, source, down, tag) <- // Propagate tags 'downstream' - Node(_down_particle, down, _, _), + HasTag(s, source, *down, tag) <- // Propagate tags 'downstream' HasTag(s, source, curr, tag), - !TrustedToRemoveTag(down, tag), - (s.has_edge(curr, down)); + for (up, down) in &s.solution().edges, + (*up == curr), + !TrustedToRemoveTag(*down, tag); HasTag(s, source, down, tag) <- // Propagate tags 'across stream' (i.e. inside a particle) HasTag(s, source, curr, tag),