# E0053

Warning name: `unused_trait_bound`

Unused trait bound.

The polymorphic function or method has a trait bound that is not used. This
could be a potential bug that you have forgotten to apply the methods from the
trait.

## Erroneous example

```{literalinclude} /sources/error_codes/0053_error/top.mbt
:language: moonbit
```

## Suggestion

There are multiple ways to fix this warning:

- If this trait bound is unnecessary, you can remove it
  ```{literalinclude} /sources/error_codes/0053_fixed/top.mbt
  :language: moonbit
  :start-after: start example 0
  :end-before: start example 1
  ```
- You can cast the variable to a trait object
  ```{literalinclude} /sources/error_codes/0053_fixed/top.mbt
  :language: moonbit
  :start-after: start example 1
  :end-before: start example 2
  ```
- You can use the methods defined in the Trait
  ```{literalinclude} /sources/error_codes/0053_fixed/top.mbt
  :language: moonbit
  :start-after: start example 2
  ```
