Allows an item until a specified semver version, and then errors on compilation.
#[allow_until(version = ">= 1.0.x", reason = "struct is deprecated from version 1.0.x onwards")]
struct MyStruct {
//....
}
Or with the derive macro:
#[derive(AllowUntil)]
struct MyStruct {
#[allow_until(version = ">= 1.0.x", reason = "member is deprecated from version 1.0.x onwards")]
foo: usize
}
Once the CARGO_PKG_VERSION
matches the given semver predicate, the macro will cause a compilation error, therefore reminding you to update/remove the code.