I don't think a semicolon makes sense at the end of a pattern, i.e. the `true` indicates that

```rust
macro_rules! foo {
    ($x: ident) => { $x; }
}
let foo!(x) = 1;
```

is ok, which just seems weird.