# E4010

`pub` is not allowed on default implementation for traits. The default
implementation has the same visibility as the trait itself.

## Erroneous Example

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

In the example above, the `pub` keyword is used on the default implementation of
the `Stringer` trait, which is not allowed.

## Suggestion

Remove the `pub` keyword so that the default implementation has the same
visibility as the trait itself:

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