Skip to main content

weir/range/
tag.rs

1use super::{range_propagate, OP_ID};
2
3/// Marker type for the interval-range dataflow primitive.
4#[derive(Clone, Copy, Debug, PartialEq, Eq)]
5pub struct Range;
6
7impl crate::soundness::SoundnessTagged for Range {
8    fn soundness(&self) -> crate::soundness::Soundness {
9        crate::soundness::Soundness::MayOver
10    }
11}
12
13inventory::submit! {
14    vyre_harness::OpEntry::new(
15        OP_ID,
16        || range_propagate("defs", "edges", "out"),
17        Some(|| {
18            let u32s = crate::dispatch_decode::pack_u32;
19            vec![vec![
20                u32s(&[10, 20, 5, 7, 100, 100, 0, 1]),
21                u32s(&[1, 2, 3, 4, 0, 50, 7, 8]),
22                u32s(&[0; 8]),
23            ]]
24        }),
25        Some(|| {
26            let u32s = crate::dispatch_decode::pack_u32;
27            vec![vec![u32s(&[11, 22, 8, 11, 100, 150, 7, 9])]]
28        }),
29    )
30}