From 06342e0d74b95a039ffb9631221e86b455820731 Mon Sep 17 00:00:00 2001 From: Mac L Date: Wed, 24 Sep 2025 19:57:29 +1000 Subject: [PATCH] Add new method `repeat_full` to `VariableList` --- src/variable_list.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/variable_list.rs b/src/variable_list.rs index 00a80f4..127bfb6 100644 --- a/src/variable_list.rs +++ b/src/variable_list.rs @@ -103,6 +103,17 @@ impl VariableList { } } + /// Creates a full list with the given element repeated. + pub fn repeat_full(elem: T) -> Self + where + T: Clone, + { + Self { + vec: vec![elem; N::to_usize()], + _phantom: PhantomData, + } + } + /// Returns the number of values presently in `self`. pub fn len(&self) -> usize { self.vec.len() @@ -383,6 +394,13 @@ mod test { assert!(fixed.is_ok()); } + #[test] + fn repeat_full() { + let manual_list = VariableList::::new(vec![42; 5]).unwrap(); + let repeat_list = VariableList::::repeat_full(42); + assert_eq!(manual_list, repeat_list); + } + #[test] fn indexing() { let vec = vec![1, 2];