git.delta.rocks / jrsonnet / refs/commits / 4944c9eb9e42

difftreelog

refactor drop CharArray

rzmtutyqYaroslav Bolyukin2026-04-04parent: #6f6b79f.patch.diff
in: master

5 files changed

modifiedcrates/jrsonnet-evaluator/src/arr/mod.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/arr/mod.rs
+++ b/crates/jrsonnet-evaluator/src/arr/mod.rs
@@ -45,10 +45,6 @@
 		Some(Self::new(RepeatedArray::new(data, repeats)?))
 	}
 
-	pub fn chars(chars: impl Iterator<Item = char>) -> Self {
-		Self::new(CharArray(chars.collect()))
-	}
-
 	#[must_use]
 	pub fn map(self, mapper: NativeFn!((Val) -> Val)) -> Self {
 		Self::new(<MappedArray>::new(self, ArrayMapper::Plain(mapper)))
modifiedcrates/jrsonnet-evaluator/src/arr/spec.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/arr/spec.rs
+++ b/crates/jrsonnet-evaluator/src/arr/spec.rs
@@ -97,17 +97,6 @@
 	}
 }
 
-#[derive(Trace, Debug)]
-pub struct CharArray(pub Vec<char>);
-impl ArrayCheap for CharArray {
-	fn len(&self) -> usize {
-		self.0.as_slice().len()
-	}
-	fn get(&self, index: usize) -> Option<Val> {
-		self.0.as_slice().get(index).map(|v| Val::string(*v))
-	}
-}
-
 impl ArrayCheap for IBytes {
 	fn len(&self) -> usize {
 		self.as_slice().len()
modifiedcrates/jrsonnet-evaluator/src/typed/conversions.rsdiffbeforeafterboth
463impl Typed for char {463impl Typed for char {
464 const TYPE: &'static ComplexValType = &ComplexValType::Char;464 const TYPE: &'static ComplexValType = &ComplexValType::Char;
465}465}
466impl IntoUntyped for &char {
467 fn into_untyped(value: Self) -> Result<Val> {
468 Ok(Val::string(*value))
469 }
470}
466impl IntoUntyped for char {471impl IntoUntyped for char {
467 fn into_untyped(value: Self) -> Result<Val> {472 fn into_untyped(value: Self) -> Result<Val> {
468 Ok(Val::string(value))473 Ok(Val::string(value))
modifiedcrates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/val.rs
+++ b/crates/jrsonnet-evaluator/src/val.rs
@@ -266,7 +266,7 @@
 
 	pub fn to_array(self) -> ArrValue {
 		match self {
-			Self::Str(s) => ArrValue::chars(s.chars()),
+			Self::Str(s) => s.chars().collect(),
 			Self::Arr(arr) => arr,
 		}
 	}
modifiedcrates/jrsonnet-stdlib/src/strings.rsdiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/src/strings.rs
+++ b/crates/jrsonnet-stdlib/src/strings.rs
@@ -223,7 +223,7 @@
 
 #[builtin]
 pub fn builtin_string_chars(str: IStr) -> ArrValue {
-	ArrValue::chars(str.chars())
+	str.chars().collect()
 }
 
 #[builtin]