# E0079

Warning name: `implicit_impl_as_method`

Methods from an `impl Trait for Type` declaration are being attached to `Type`
implicitly. This compatibility behavior is deprecated because it is not
explicit or refactoring-safe. The warning is disabled by default in v0.10.4.

## Erroneous example

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

## Suggestion

Use `extend Type with Trait::{method}` for methods that should support dot
syntax. Otherwise, call the implementation as `Trait::method(value)`.

```{literalinclude} /sources/error_codes/0079_fixed/top.mbt
:language: moonbit
```
