#root::ops::flex

Fork root/ops/flex.vi:5

trait Fork[T];

fork root/ops/flex.vi:6

fn Fork::fork[T; Fork[T]](self: &T) -> T;

ref root/ops/flex.vi:15

impl ref[T]: Fork[&T];

tuple_nil root/ops/flex.vi:22

impl tuple_nil: Fork[()];

object_nil root/ops/flex.vi:27

impl object_nil: Fork[{}];

composite root/ops/flex.vi:34

impl composite[C, I, R; Composite[C, I, R], Fork[I], Fork[R]]: Fork[C];

struct_ root/ops/flex.vi:43

impl struct_[S, C; Struct[S, C], Fork[C]]: Fork[S];

enum_ root/ops/flex.vi:52

impl enum_[E, V; Enum[E, V], Fork[V]]: Fork[E];

never root/ops/flex.vi:58

impl never: Fork[!];

variant root/ops/flex.vi:61

impl variant[I, R; Fork[I], Fork[R]]: Fork[Variant[I, R]];