Maybe I forgot something. I have been “away from Rust” for a few weeks.

I browsed the source code of the Error trait and saw this:

```
impl Error + 'static {
/// Returns true if the boxed type is the same as `T`
#[stable(feature = "error_downcast", since = "1.3.0")]
#[inline]
pub fn is<T: Error + 'static>(&self) -> bool {
// Get TypeId of the type this function is instantiated with
let t = TypeId::of::<T>();
// Get TypeId of the type in the trait object
let boxed = self.type_id();
// Compare both TypeIds on equality
t == boxed
}
...
```

I am particularly interested in the `impl Error + 'static`

here. `Error`

is trait. How can I `impl`

a trait?