indirect enum when its noncopyable doesn’t work at the moment). Taking this example from: Learn Rust With Entirely Too Many Linked Lists: typealias Link<T: ~Copyable> = Box<Node<T>>? struct Node<T: ~Copyable>: ~Copyable { let next: Link<T> var value: T } [/quote] (edited)