Skip to main content

seq_runtime/
variant_ops.rs

1//! Variant operations for Seq
2//!
3//! Provides runtime functions for accessing variant fields, tags, and
4//! metadata, for building variants of small fixed arities, and for
5//! functional-style append/init/last updates plus field unpacking for
6//! pattern matches.
7
8mod access;
9mod make;
10mod modify;
11
12#[cfg(test)]
13mod tests;
14
15pub use access::*;
16pub use make::*;
17pub use modify::*;
18
19// Short-name aliases used by tests and internal callers.
20pub use patch_seq_make_variant_0 as make_variant_0;
21pub use patch_seq_make_variant_1 as make_variant_1;
22pub use patch_seq_make_variant_2 as make_variant_2;
23pub use patch_seq_make_variant_3 as make_variant_3;
24pub use patch_seq_make_variant_4 as make_variant_4;
25pub use patch_seq_make_variant_5 as make_variant_5;
26pub use patch_seq_make_variant_6 as make_variant_6;
27pub use patch_seq_make_variant_7 as make_variant_7;
28pub use patch_seq_make_variant_8 as make_variant_8;
29pub use patch_seq_make_variant_9 as make_variant_9;
30pub use patch_seq_make_variant_10 as make_variant_10;
31pub use patch_seq_make_variant_11 as make_variant_11;
32pub use patch_seq_make_variant_12 as make_variant_12;
33pub use patch_seq_unpack_variant as unpack_variant;
34pub use patch_seq_variant_append as variant_append;
35pub use patch_seq_variant_field_at as variant_field_at;
36pub use patch_seq_variant_field_count as variant_field_count;
37pub use patch_seq_variant_init as variant_init;
38pub use patch_seq_variant_last as variant_last;
39pub use patch_seq_variant_tag as variant_tag;