1
Fork 0

new lints around #[must_use] fns

`must_use_unit` lints unit-returning functions with a `#[must_use]`
attribute, suggesting to remove it.

`double_must_use` lints functions with a plain `#[must_use]`
attribute, but which return a type which is already `#[must_use]`,
so the attribute has no benefit.

`must_use_candidate` is a pedantic lint that lints functions and
methods that return some non-unit type that is not already
`#[must_use]` and suggests to add the annotation.
This commit is contained in:
Andre Bogus 2019-09-18 08:37:41 +02:00
parent a865d0ad73
commit cc622608db
59 changed files with 948 additions and 112 deletions

View file

@ -79,6 +79,7 @@ impl std::fmt::Debug for VersionInfo {
}
}
#[must_use]
pub fn get_commit_hash() -> Option<String> {
std::process::Command::new("git")
.args(&["rev-parse", "--short", "HEAD"])
@ -87,6 +88,7 @@ pub fn get_commit_hash() -> Option<String> {
.and_then(|r| String::from_utf8(r.stdout).ok())
}
#[must_use]
pub fn get_commit_date() -> Option<String> {
std::process::Command::new("git")
.args(&["log", "-1", "--date=short", "--pretty=format:%cd"])
@ -95,6 +97,7 @@ pub fn get_commit_date() -> Option<String> {
.and_then(|r| String::from_utf8(r.stdout).ok())
}
#[must_use]
pub fn get_channel() -> Option<String> {
match env::var("CFG_RELEASE_CHANNEL") {
Ok(channel) => Some(channel),