gpt4 book ai didi

rust - clippy::missing_const_for_fn在构造函数和获取方法上触发。那是真的吗?

转载 作者:行者123 更新时间:2023-12-03 11:42:16 25 4
gpt4 key购买 nike

我决定使用一些更高级的clippy版本来使自己为版本更改做好准备。我期待一些误报,但我不确定这一点。我得到以下结构,并且clippy告诉我每个函数都应该是const。 (clippy::missing_const_for_fn)

#[derive(Clone, Debug, PartialEq, Eq)]
pub struct ScheduleFields {
years: Years,
days_of_week: DaysOfWeek,
months: Months,
days_of_month: DaysOfMonth,
hours: Hours,
minutes: Minutes,
seconds: Seconds,
}

impl ScheduleFields {
// Constructor
pub fn new(
seconds: Seconds,
minutes: Minutes,
hours: Hours,
days_of_month: DaysOfMonth,
months: Months,
days_of_week: DaysOfWeek,
years: Years,
) -> ScheduleFields {
ScheduleFields {
years,
days_of_week,
months,
days_of_month,
hours,
minutes,
seconds,
}
}

// Getters
pub fn years(&self) -> &Years { &self.years }
pub fn months(&self) -> &Months { &self.months }
pub fn days_of_month(&self) -> &DaysOfMonth { &self.days_of_month }
pub fn days_of_week(&self) -> &DaysOfWeek { &self.days_of_week }
pub fn hours(&self) -> &Hours { &self.hours }
pub fn minutes(&self) -> &Minutes { &self.minutes }
pub fn seconds(&self) -> &Seconds { &self.seconds }
}

最佳答案

missing_const_for_fn将建议将任何可以由此标记的内容标记为const。不管它是否有用。
在这里,每个函数都可以被常量化,因此clippy建议这样做。并且,一旦您将它们标记为const,clippy就会发现它们的大多数调用者(由于它们调用非const函数而当前无法进行const-ed)也可以被进行const-ed。
就我个人而言,我认为此 Lint 不是有用的,也不应该使用:与Copy一样,const是一个非常强大且严格的API promise 。经过仔细考虑后,才应根据具体情况启用它。

关于rust - clippy::missing_const_for_fn在构造函数和获取方法上触发。那是真的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66366422/

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