Skip to content

Commit 701fe21

Browse files
authored
Merge branch 'main' into feat/roundtrip-tests
2 parents b6fceb0 + 96f4257 commit 701fe21

139 files changed

Lines changed: 2077 additions & 1218 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 51 additions & 46 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,30 @@ x509-cert = { version = "0.2.5", features = ["builder"] }
9090
zeroize = "1.8.1"
9191

9292
[workspace.lints.clippy]
93+
# Enable all pedantic lints (with lower priority so individual lints can override)
94+
pedantic = { level = "deny", priority = -1 }
95+
96+
# Pedantic lints we don't enforce (yet)
97+
doc_markdown = "allow"
98+
missing_errors_doc = "allow"
99+
must_use_candidate = "allow"
100+
return_self_not_must_use = "allow"
101+
missing_panics_doc = "allow"
102+
cast_possible_truncation = "allow"
103+
float_cmp = "allow"
104+
cast_sign_loss = "allow"
105+
cast_precision_loss = "allow"
106+
unchecked_time_subtraction = "allow"
107+
# We should be able to deny this, but it lint's on code generated by darling, raised https://github.com/TedDriggs/darling/pull/429
108+
needless_continue = "allow"
109+
110+
# Additional nursery lints we enforce
111+
use_self = "deny"
112+
or_fun_call = "deny"
113+
derive_partial_eq_without_eq = "deny"
114+
unnecessary_struct_initialization = "deny"
115+
116+
# Additional restriction lints we enforce
93117
unwrap_in_result = "deny"
94118
unwrap_used = "deny"
95119
panic = "deny"

crates/k8s-version/src/api_version/darling.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ mod test {
1818
use super::*;
1919
use crate::{Level, Version};
2020

21-
fn parse_meta(tokens: proc_macro2::TokenStream) -> ::std::result::Result<syn::Meta, String> {
21+
fn parse_meta(tokens: &proc_macro2::TokenStream) -> syn::Meta {
2222
let attribute: syn::Attribute = syn::parse_quote!(#[#tokens]);
23-
Ok(attribute.meta)
23+
attribute.meta
2424
}
2525

2626
#[rstest]
2727
#[case(quote!(ignore = "extensions/v1beta1"), ApiVersion { group: Some("extensions".parse().unwrap()), version: Version { major: 1, level: Some(Level::Beta(1)) } })]
2828
#[case(quote!(ignore = "v1beta1"), ApiVersion { group: None, version: Version { major: 1, level: Some(Level::Beta(1)) } })]
2929
#[case(quote!(ignore = "v1"), ApiVersion { group: None, version: Version { major: 1, level: None } })]
3030
fn from_meta(#[case] input: proc_macro2::TokenStream, #[case] expected: ApiVersion) {
31-
let meta = parse_meta(input).expect("valid attribute tokens");
31+
let meta = parse_meta(&input);
3232
let api_version = ApiVersion::from_meta(&meta).expect("version must parse from attribute");
3333
assert_eq!(api_version, expected);
3434
}

crates/k8s-version/src/api_version/mod.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ mod darling;
1212

1313
/// Error variants which can be encountered when creating a new [`ApiVersion`]
1414
/// from unparsed input.
15-
#[derive(Debug, PartialEq, Snafu)]
15+
#[derive(Debug, PartialEq, Eq, Snafu)]
1616
pub enum ParseApiVersionError {
1717
#[snafu(display("failed to parse version"))]
1818
ParseVersion { source: ParseVersionError },
@@ -87,10 +87,7 @@ impl ApiVersion {
8787
/// Try to create a new Kubernetes API version based on the unvalidated
8888
/// `group` string.
8989
pub fn try_new(group: Option<&str>, version: Version) -> Result<Self, ParseApiVersionError> {
90-
let group = group
91-
.map(|g| g.parse())
92-
.transpose()
93-
.context(ParseGroupSnafu)?;
90+
let group = group.map(str::parse).transpose().context(ParseGroupSnafu)?;
9491

9592
Ok(Self { group, version })
9693
}

crates/k8s-version/src/group.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ static API_GROUP_REGEX: LazyLock<Regex> = LazyLock::new(|| {
1212

1313
/// Error variants which can be encountered when creating a new [`Group`] from
1414
/// unparsed input.
15-
#[derive(Debug, PartialEq, Snafu)]
15+
#[derive(Debug, PartialEq, Eq, Snafu)]
1616
pub enum ParseGroupError {
1717
#[snafu(display("group must not be empty"))]
1818
Empty,

0 commit comments

Comments
 (0)