ocaml/ocaml — pull request #3 by yallop (2014-01-30 11:51:58+00:00)
Title: Extend record punning to allow destructuring.

This patch extends the record punning syntax (b01621e8) to allow simultaneous label punning and destructuring. Variables bound using `as` at the top level of a field pattern are treated as labels. For example, it allows you to write

```ocaml
fun { { x ; y } as p; q } -> e
```

which is equivalent to

```ocaml
fun { p = { x ; y } as p; q } -> e
```