diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 7142651..9076aaf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,3 +22,8 @@ repos: - id: fmt - id: cargo-check - id: clippy + - repo: https://github.com/compilerla/conventional-pre-commit + rev: v3.2.0 + hooks: + - id: conventional-pre-commit + stages: [commit-msg] diff --git a/src/input.rs b/src/input.rs index f3447d3..75fe844 100644 --- a/src/input.rs +++ b/src/input.rs @@ -2,20 +2,18 @@ use crate::parse::array::{ArrayBuilder, ArrayTokenizer}; use crate::types::ArrayDefinition; pub(crate) struct Input { - pub(crate) visibility: syn::Visibility, pub(crate) definition: ArrayDefinition, pub(crate) tokenizer: ArrayTokenizer, } impl syn::parse::Parse for Input { fn parse(stream: syn::parse::ParseStream) -> syn::Result { - let visibility = stream.parse()?; + let _: syn::Visibility = stream.parse()?; let definition = stream.parse()?; stream.parse::()?; let tokenizer = stream.parse()?; Ok(Self { - visibility, definition, tokenizer, }) diff --git a/src/parse/converter.rs b/src/parse/converter.rs index dff142d..7f250d9 100644 --- a/src/parse/converter.rs +++ b/src/parse/converter.rs @@ -1,7 +1,5 @@ -use syn::Lit; - use super::interface::SynInterface; -use super::traits::{ArrayLiteralConverter, LiteralConverter}; +use super::traits::LiteralConverter; impl LiteralConverter for SynInterface { fn value_from_lit(lit: syn::ExprLit) -> syn::Result { diff --git a/src/parse/definition.rs b/src/parse/definition.rs index ccf7aa9..e2f927a 100644 --- a/src/parse/definition.rs +++ b/src/parse/definition.rs @@ -1,4 +1,4 @@ -use crate::types::{Array, ArrayDefinition}; +use crate::types::ArrayDefinition; impl syn::parse::Parse for ArrayDefinition { fn parse(stream: syn::parse::ParseStream) -> syn::Result { @@ -29,6 +29,6 @@ impl syn::parse::Parse for ArrayDefinition { )) } }; - Ok(Self::new(len, *typ)?) + Self::new(len, *typ) } } diff --git a/src/parse/mod.rs b/src/parse/mod.rs index d57a0d7..3a3acea 100644 --- a/src/parse/mod.rs +++ b/src/parse/mod.rs @@ -7,9 +7,7 @@ mod traits; mod types; pub mod interface { - pub use super::traits::{ - ArrayLiteralConverter, IntoTokens, LiteralConverter, Tokenizer, TypeConverter, - }; + pub use super::traits::{ArrayLiteralConverter, IntoTokens, Tokenizer, TypeConverter}; pub struct SynInterface { _marker: std::marker::PhantomData, diff --git a/src/parse/traits.rs b/src/parse/traits.rs index 6d2d3a3..9a84bb9 100644 --- a/src/parse/traits.rs +++ b/src/parse/traits.rs @@ -81,16 +81,3 @@ pub trait Tokenizer { pub trait IntoTokens { fn into_tokens(self) -> proc_macro2::TokenStream; } - -pub trait TryIntoTokens { - fn try_into_tokens(self) -> syn::Result; -} - -impl TryIntoTokens for T -where - T: IntoTokens, -{ - fn try_into_tokens(self) -> syn::Result { - Ok(self.into_tokens()) - } -} diff --git a/src/types/array.rs b/src/types/array.rs index 02dbb2d..2dc8860 100644 --- a/src/types/array.rs +++ b/src/types/array.rs @@ -41,16 +41,12 @@ where Self { values } } - pub fn add(&mut self, value: T) { - self.values.push(value); - } - pub fn check_size(&self, size: usize) -> bool { self.values.len() <= size } pub fn values(&self) -> Vec { - self.values.iter().cloned().collect() + self.values.to_vec() } pub fn ensure_size(&mut self, size: usize) -> syn::Result<()> { diff --git a/src/types/rust_type.rs b/src/types/rust_type.rs index 93a02ae..a81ca72 100644 --- a/src/types/rust_type.rs +++ b/src/types/rust_type.rs @@ -28,15 +28,6 @@ impl RustType { self.segments.is_empty() } - // pub fn range(start: Option<&Self>, end: Option<&Self>) -> ::std::ops::Range { - // match (start, end) { - // (Some(start), Some(end)) => start.clone()..end.clone(), - // (Some(start), None) => start.clone()..Self::from_string(""), - // (None, Some(end)) => Self::from_string("")..end.clone(), - // (None, None) => Self::from_string("")..Self::from_string(""), - // } - // } - pub fn is_supported(&self) -> bool { SUPPORTED_TYPES .iter() @@ -47,10 +38,6 @@ impl RustType { self >= other && (self.is_supported() && other.is_supported()) } - pub fn segments(&self) -> &[String] { - &self.segments - } - pub fn exact_same_as(&self, other: &Self) -> bool { self.segments == other.segments }