Enforce patterns for enums
```rust use penum::shape;
trait Trait {} impl Trait for f32 {} impl Trait for i32 {}
trait Advanced {} impl Advanced for usize {}
enum Vector3 { Integer(i32, f32, usize), Float(f32, i32, usize), }
enum Strategy<'a> { V1 { name: String, age: usize }, V2 { name: usize, age: usize }, V3 { name: &'a str, age: usize }, }
enum Concrete<'a> { Static { name: &'a str, age: usize }, } ```
```rust
enum Must<'a> {
Static { name: &'a str, age: usize }
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Static { name : & 'a str, age : usize }
doesn't match pattern tuple(_)
}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
the trait bound
usize: Traitis not satisfied
enum Must {
Static (usize)
}
```