# E4198

Compiler diagnostic name: `struct_constr_not_implemented`.

When a `struct` declares a constructor signature, that constructor must be
implemented as the corresponding `Type::new` method. The declaration only gives
the constructor signature; it does not create the implementation body.

## Erroneous example

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

## Suggestion

Define the matching `Type::new` method.

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