diff options
Diffstat (limited to 'ecs/src/query.rs')
-rw-r--r-- | ecs/src/query.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ecs/src/query.rs b/ecs/src/query.rs index 1947c18..7e10c5b 100644 --- a/ecs/src/query.rs +++ b/ecs/src/query.rs @@ -168,12 +168,14 @@ impl<const MAX_TERM_CNT: usize> Terms<MAX_TERM_CNT> } #[derive(Debug, Default)] +#[must_use] pub struct TermsBuilder<const MAX_TERM_CNT: usize> { required_components: ArrayVec<Uid, MAX_TERM_CNT>, excluded_components: ArrayVec<Uid, MAX_TERM_CNT>, } +#[allow(clippy::return_self_not_must_use)] pub trait TermsBuilderInterface { fn with<WithUidT: WithUid>(self) -> Self; @@ -233,7 +235,7 @@ impl_terms_builder! { ids.as_mut().sort(); } - if self.required_components.len() == 0 { + if self.required_components.is_empty() { self.required_components.extend(ids); return self; } @@ -265,7 +267,7 @@ impl_terms_builder! { ids.as_mut().sort(); } - if self.excluded_components.len() == 0 { + if self.excluded_components.is_empty() { self.excluded_components.extend(ids); return self; } @@ -293,10 +295,11 @@ impl_terms_builder! { impl<const MAX_TERM_CNT: usize> TermsBuilder<MAX_TERM_CNT> { + #[must_use] pub fn build(self) -> Terms<MAX_TERM_CNT> { - assert!(self.required_components.is_sorted()); - assert!(self.excluded_components.is_sorted()); + debug_assert!(self.required_components.is_sorted()); + debug_assert!(self.excluded_components.is_sorted()); Terms { required_components: self.required_components, |