gpt4 book ai didi

rust - 对外部用户弃用,但允许我吗?

转载 作者:行者123 更新时间:2023-11-29 08:06:13 25 4
gpt4 key购买 nike

我找到了 Can I mark a function as deprecated?并在我自己的箱子中使用它:

pub enum FooParams {
#[deprecated(since = "0.0.1", note = "use `FooParams::New` instead")]
Old,
New,
}

pub struct Foo;

impl Foo {
pub fn new(p: FooParams) -> Foo {
match p {
FooParams::Old => {}
FooParams::New => {}
}
Foo
}
}

这适用于外部 crate 并警告它们不要使用 FooParams::Old。它也适用于我的 crate ,生成烦人的警告。有什么方法可以禁用此警告?

我试过了,但警告仍然存在:

#[allow(deprecated)]
FooParams::Old => {}

最佳答案

您可以将属性移动到匹配语句中:

impl Foo {
pub fn new(p: FooParams) -> Foo {
#[allow(deprecated)]
match p {
FooParams::Old => {}
FooParams::New => {}
}
}
}

Old 在您的 crate 中的其他用法将继续出现警告。

关于rust - 对外部用户弃用,但允许我吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com