Lyricdev
GitHub

LYR-SEM0081

a deprecation whose release has come or that names no version

error ยท spec 11-metaprogramming

The until of a @Deprecated is not a version (major.minor[.patch]), or names a release the toolchain has reached.

Explanation

until names the release that removes the declaration. Once the toolchain is that version or later, the promise is due: the build fails until the declaration is removed or the promise moved. A value that is not a version cannot come due and is refused.

Remove the deprecated declaration, or write a later version in until.

Wrong

@Deprecated { until = "1.0" }
fn old(): int {
    return 1;
}

fn main(): void {
}
@Deprecated { until = "6.0" }
fn old(): int {
    return 1;
}

fn main(): void {
}