Skip to content

Commit 79e4af6

Browse files
committed
list_list::Builder::set() takes an 'impl SetterInput'
1 parent 3b2ceef commit 79e4af6

File tree

2 files changed

+9
-15
lines changed

2 files changed

+9
-15
lines changed

capnp/src/list_list.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
2424
use crate::introspect;
2525
use crate::private::layout::{ListBuilder, ListReader, Pointer, PointerBuilder, PointerReader};
26-
use crate::traits::{FromPointerBuilder, FromPointerReader, IndexMove, ListIter};
26+
use crate::traits::{FromPointerBuilder, FromPointerReader, IndexMove, ListIter, SetterInput};
2727
use crate::Result;
2828

2929
#[derive(Clone, Copy)]
@@ -239,16 +239,13 @@ where
239239
}
240240
}
241241

242-
pub fn set<'b>(&mut self, index: u32, value: T::Reader<'a>) -> Result<()>
243-
where
244-
T::Reader<'a>: crate::traits::IntoInternalListReader<'b>,
245-
{
246-
use crate::traits::IntoInternalListReader;
242+
pub fn set(&mut self, index: u32, value: impl SetterInput<T>) -> Result<()> {
247243
assert!(index < self.len());
248-
self.builder
249-
.reborrow()
250-
.get_pointer_element(index)
251-
.set_list(&value.into_internal_list_reader(), false)
244+
SetterInput::set_pointer_builder(
245+
self.builder.reborrow().get_pointer_element(index),
246+
value,
247+
false,
248+
)
252249
}
253250
}
254251

capnpc/test/test.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -370,11 +370,8 @@ mod tests {
370370
{
371371
let mut prim_list_list = test_complex_list.reborrow().init_prim_list_list(2);
372372
{
373-
let mut prim_list = prim_list_list.reborrow().init(0, 3);
374-
prim_list.set(0, 5);
375-
prim_list.set(1, 6);
376-
prim_list.set(2, 7);
377-
assert_eq!(prim_list.len(), 3);
373+
prim_list_list.set(0, &[5, 6, 7]).unwrap();
374+
assert_eq!(prim_list_list.reborrow().get(0).unwrap().len(), 3);
378375
}
379376
let mut prim_list = prim_list_list.init(1, 1);
380377
prim_list.set(0, -1);

0 commit comments

Comments
 (0)