Lyricdev
GitHub

LYR-PAR0048

'sealed' before something that is no interface

error ยท spec 05-interfaces

The word sealed stands before a struct, class, enum, function or other declaration that is not an interface.

Explanation

sealed interface closes the set of an interface's conformers to its own package, so a match over it can be exhaustive. A struct, a class or an enum has no conformers; the word means nothing there.

Remove sealed, or put it before an interface.

Wrong

sealed struct Odd {
    n: int,
}

fn main(): void {
}
struct Odd {
    n: int,
}

fn main(): void {
    let _ = Odd { n = 1 }.n;
}