Skip to content

Commit 540b092

Browse files
committed
add missing Debug impls for primitive_list::Reader etc
1 parent 53d2a4d commit 540b092

File tree

10 files changed

+157
-0
lines changed

10 files changed

+157
-0
lines changed

capnp/src/any_pointer_list.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,3 +206,12 @@ impl<'a> From<Builder<'a>> for crate::dynamic_value::Builder<'a> {
206206
))
207207
}
208208
}
209+
210+
impl<'a> core::fmt::Debug for Reader<'a> {
211+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
212+
core::fmt::Debug::fmt(
213+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
214+
f,
215+
)
216+
}
217+
}

capnp/src/capability_list.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,3 +295,12 @@ impl<'a, T: FromClientHook> From<Builder<'a, T>> for crate::dynamic_value::Build
295295
))
296296
}
297297
}
298+
299+
impl<'a, T: FromClientHook> core::fmt::Debug for Reader<'a, T> {
300+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
301+
core::fmt::Debug::fmt(
302+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(self.reborrow()),
303+
f,
304+
)
305+
}
306+
}

capnp/src/data_list.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,3 +222,12 @@ impl<'a> From<Builder<'a>> for crate::dynamic_value::Builder<'a> {
222222
})
223223
}
224224
}
225+
226+
impl<'a> core::fmt::Debug for Reader<'a> {
227+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
228+
core::fmt::Debug::fmt(
229+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
230+
f,
231+
)
232+
}
233+
}

capnp/src/dynamic_list.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,3 +406,12 @@ impl<'a> crate::traits::SetPointerBuilder for Reader<'a> {
406406
pointer.set_list(&value.reader, canonicalize)
407407
}
408408
}
409+
410+
impl<'a> core::fmt::Debug for Reader<'a> {
411+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
412+
core::fmt::Debug::fmt(
413+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
414+
f,
415+
)
416+
}
417+
}

capnp/src/dynamic_struct.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -782,3 +782,12 @@ impl<'a> crate::traits::SetPointerBuilder for Reader<'a> {
782782
pointer.set_struct(&value.reader, canonicalize)
783783
}
784784
}
785+
786+
impl<'a> core::fmt::Debug for Reader<'a> {
787+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
788+
core::fmt::Debug::fmt(
789+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
790+
f,
791+
)
792+
}
793+
}

capnp/src/enum_list.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,14 @@ impl<'a, T: TryFrom<u16, Error = NotInSchema> + crate::introspect::Introspect> F
235235
))
236236
}
237237
}
238+
239+
impl<'a, T: Copy + TryFrom<u16, Error = NotInSchema> + crate::introspect::Introspect>
240+
core::fmt::Debug for Reader<'a, T>
241+
{
242+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
243+
core::fmt::Debug::fmt(
244+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
245+
f,
246+
)
247+
}
248+
}

capnp/src/list_list.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,3 +294,12 @@ impl<'a, T: crate::traits::Owned> From<Builder<'a, T>> for crate::dynamic_value:
294294
))
295295
}
296296
}
297+
298+
impl<'a, T: crate::traits::Owned> core::fmt::Debug for Reader<'a, T> {
299+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
300+
core::fmt::Debug::fmt(
301+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
302+
f,
303+
)
304+
}
305+
}

capnp/src/primitive_list.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,3 +282,14 @@ impl<'a, T: PrimitiveElement + crate::introspect::Introspect> From<Builder<'a, T
282282
))
283283
}
284284
}
285+
286+
impl<'a, T: Copy + PrimitiveElement + crate::introspect::Introspect> core::fmt::Debug
287+
for Reader<'a, T>
288+
{
289+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
290+
core::fmt::Debug::fmt(
291+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
292+
f,
293+
)
294+
}
295+
}

capnp/src/text_list.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,3 +220,12 @@ impl<'a> From<Builder<'a>> for crate::dynamic_value::Builder<'a> {
220220
})
221221
}
222222
}
223+
224+
impl<'a> core::fmt::Debug for Reader<'a> {
225+
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
226+
core::fmt::Debug::fmt(
227+
&::core::convert::Into::<crate::dynamic_value::Reader<'_>>::into(*self),
228+
f,
229+
)
230+
}
231+
}

capnpc/test/dynamic.rs

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,3 +318,75 @@ fn test_stringify_union_list() {
318318
]"#
319319
);
320320
}
321+
322+
#[test]
323+
fn test_stringify_prim_list() {
324+
use capnp::primitive_list;
325+
let mut message = message::Builder::new_default();
326+
let mut root: primitive_list::Builder<'_, u16> = message.initn_root(3);
327+
root.set(0, 5);
328+
root.set(1, 6);
329+
root.set(2, 7);
330+
331+
let stringified = format!("{:?}", root.into_reader());
332+
assert_eq!(stringified, "[5, 6, 7]");
333+
}
334+
335+
#[test]
336+
fn test_stringify_enum_list() {
337+
use crate::test_capnp::TestEnum;
338+
use capnp::enum_list;
339+
let mut message = message::Builder::new_default();
340+
let mut root: enum_list::Builder<'_, TestEnum> = message.initn_root(2);
341+
root.set(0, TestEnum::Bar);
342+
root.set(1, TestEnum::Garply);
343+
344+
let stringified = format!("{:?}", root.into_reader());
345+
assert_eq!(stringified, "[bar, garply]");
346+
}
347+
348+
#[test]
349+
fn test_stringify_text_list() {
350+
use capnp::text_list;
351+
let mut message = message::Builder::new_default();
352+
let mut root: text_list::Builder<'_> = message.initn_root(4);
353+
root.set(0, "abcd".into());
354+
root.set(1, "efgh".into());
355+
root.set(2, "ijkl".into());
356+
root.set(3, "mnop".into());
357+
358+
let stringified = format!("{:?}", root.into_reader());
359+
assert_eq!(stringified, "[\"abcd\", \"efgh\", \"ijkl\", \"mnop\"]");
360+
}
361+
362+
#[test]
363+
fn test_stringify_data_list() {
364+
let mut message = message::Builder::new_default();
365+
let mut root: capnp::data_list::Builder<'_> = message.initn_root(2);
366+
root.set(0, &[11, 12]);
367+
root.set(1, &[22, 23]);
368+
369+
let stringified = format!("{:?}", root.into_reader());
370+
assert_eq!(stringified, "[0x\"0b0c\", 0x\"1617\"]");
371+
}
372+
373+
#[test]
374+
fn test_stringify_list_list() {
375+
use capnp::{list_list, primitive_list};
376+
let mut message = message::Builder::new_default();
377+
let mut root: list_list::Builder<'_, primitive_list::Owned<i32>> = message.initn_root(2);
378+
{
379+
let mut l0 = root.reborrow().init(0, 3);
380+
l0.set(0, 1111);
381+
l0.set(1, 2222);
382+
l0.set(2, 3333);
383+
}
384+
385+
{
386+
let mut l1 = root.reborrow().init(1, 1);
387+
l1.set(0, 123456);
388+
}
389+
390+
let stringified = format!("{:?}", root.into_reader());
391+
assert_eq!(stringified, "[[1111, 2222, 3333], [123456]]");
392+
}

0 commit comments

Comments
 (0)