Parse.AaQ.combine: def of bend-osdev-apparmor@0.1.0.0 Import: import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse Lines 1040-1046 of bend-osdev-apparmor@0.1.0.0/parse.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-apparmor@0.1.0.0/parse.bend&start_line=1040&end_line=1046 import Base import bend-osdev-apparmor@0.1.0.0/error.bend as E # a block's qualifiers with a rule's (or an inner block's): allow and deny conflict def AaQ.combine(b: AaBQ, r: AaBQ, src: E.AaSrc) -> Result<&2, &2, E.AaError, AaBQ>: match b: case AaBQ{a1, +c1, o1}: match r: case AaBQ{a2, +c2, o2}: Bool.pick(Result<&2, &2, E.AaError, AaBQ>, Bool.and(Bool.and(Nat.is_gt(c1, 0n), Nat.is_gt(c2, 0n)), Bool.not(Nat.is_eq(c1, c2))), Fail{E.AaSrc.syntax(src)}, Done{AaBQ{Bool.or(a1, a2), Nat.max(c1, c2), Bool.or(o1, o2)}}) Uses (12): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_gt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.max https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/error.bend&name=AaError https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/error.bend&name=AaSrc https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/error.bend&name=AaSrc.syntax https://jend.leeeet.dev/definition.txt?path=bend-osdev-apparmor@0.1.0.0/parse.bend&name=AaBQ