There's probably a bug in the new `@`-pointers lifetime management. This fails:

```rust
let n = mitem.name();
let name = n.get();
```

```
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:24:16: 24:18 error: `mi` does not live long enough
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:24     let name = mi.get();
                                                                                                           ^~
note: reference must be valid for the static lifetime...
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:21:45: 55:2 note: ...but borrowed value is only valid for the block at 21:44
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:21                              push: |@Item|) {
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:22 
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:23     let mi = mitem.name();
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:24     let name = mi.get();
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:25     
/home/flaper87/workspace/personal/rust/opt-in-kinds/src/libsyntax/ext/deriving/bounds.rs:26     match name {
```