@@ -211,13 +211,15 @@ end
211211constrain (x:: UnionScope , y) = constrain (x, UnionScope ((y,)))
212212
213213Base. isless (:: NodeScope , :: NodeScope ) = false
214+ Base. isless (:: NodeScope , :: UnionScope ) = true
214215Base. isless (:: NodeScope , :: TaintScope ) = true
215216Base. isless (:: NodeScope , :: AnyScope ) = true
216217constrain (x:: NodeScope , y:: NodeScope ) =
217218 x == y ? y : InvalidScope (x, y)
218219
219220Base. isless (:: ProcessScope , :: ProcessScope ) = false
220221Base. isless (:: ProcessScope , :: NodeScope ) = true
222+ Base. isless (:: ProcessScope , :: UnionScope ) = true
221223Base. isless (:: ProcessScope , :: TaintScope ) = true
222224Base. isless (:: ProcessScope , :: AnyScope ) = true
223225constrain (x:: ProcessScope , y:: ProcessScope ) =
@@ -228,6 +230,7 @@ constrain(x::NodeScope, y::ProcessScope) =
228230Base. isless (:: ExactScope , :: ExactScope ) = false
229231Base. isless (:: ExactScope , :: ProcessScope ) = true
230232Base. isless (:: ExactScope , :: NodeScope ) = true
233+ Base. isless (:: ExactScope , :: UnionScope ) = true
231234Base. isless (:: ExactScope , :: TaintScope ) = true
232235Base. isless (:: ExactScope , :: AnyScope ) = true
233236constrain (x:: ExactScope , y:: ExactScope ) =
0 commit comments