It looks ok to me, although it might be worth adding tests like:


```rust
trait Foo {
    #[deprecated]
    fn bar(&self) {}
}

fn param<F: Foo>(f: F) {
    f.bar()
}
fn object(f: &Foo) {
    f.bar()
}
```

to check that both of these work properly.