From 536a324711e11949e7da67109f97f0b6bf7f9bd6 Mon Sep 17 00:00:00 2001 From: Jovi De Croock Date: Fri, 28 Jun 2024 07:38:27 +0200 Subject: [PATCH] Switch a few things to lazy evaulation (#26) --- bluejay-core/src/executable/field.rs | 2 +- bluejay-parser/src/ast/executable/variable_type.rs | 2 +- bluejay-parser/src/lexer/logos_lexer.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bluejay-core/src/executable/field.rs b/bluejay-core/src/executable/field.rs index ca0faf3..d802e32 100644 --- a/bluejay-core/src/executable/field.rs +++ b/bluejay-core/src/executable/field.rs @@ -13,6 +13,6 @@ pub trait Field { fn selection_set(&self) -> Option<&Self::SelectionSet>; fn response_name(&self) -> &str { - self.alias().unwrap_or(self.name()) + self.alias().unwrap_or_else(|| self.name()) } } diff --git a/bluejay-parser/src/ast/executable/variable_type.rs b/bluejay-parser/src/ast/executable/variable_type.rs index 37a68e0..373e4db 100644 --- a/bluejay-parser/src/ast/executable/variable_type.rs +++ b/bluejay-parser/src/ast/executable/variable_type.rs @@ -61,7 +61,7 @@ impl<'a> FromTokens<'a> for VariableType<'a> { let is_required = bang_span.is_some(); let span = bang_span .map(|bang_span| name.span().merge(&bang_span)) - .unwrap_or(name.span().clone()); + .unwrap_or_else(|| name.span().clone()); Ok(Self::Named { name, is_required, diff --git a/bluejay-parser/src/lexer/logos_lexer.rs b/bluejay-parser/src/lexer/logos_lexer.rs index 2d65f49..9d8e1fa 100644 --- a/bluejay-parser/src/lexer/logos_lexer.rs +++ b/bluejay-parser/src/lexer/logos_lexer.rs @@ -92,7 +92,7 @@ fn validate_number_no_trailing_name_start<'a>( .remainder() .chars() .position(|c| !(c.is_ascii_alphanumeric() || matches!(c, '_' | '.'))) - .unwrap_or(lexer.remainder().len()); + .unwrap_or_else(|| lexer.remainder().len()); lexer.bump(invalid_trail_bytes);