test::zst
This commit is contained in:
parent
5dc91d691b
commit
0cb59f0baa
21
src/test.rs
21
src/test.rs
|
@ -7,7 +7,7 @@ trait DebugExt: Debug {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: Debug> DebugExt for T {}
|
impl<T: Debug + ?Sized> DebugExt for T {}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn basic_push() {
|
fn basic_push() {
|
||||||
|
@ -120,4 +120,23 @@ fn iteration() {
|
||||||
debugs.push(item.debug());
|
debugs.push(item.debug());
|
||||||
}
|
}
|
||||||
assert_eq!(debugs, ["1", "\"foo\"", "true"]);
|
assert_eq!(debugs, ["1", "\"foo\"", "true"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn zst() {
|
||||||
|
let vec: Vec<()> = vec![(), (), ()];
|
||||||
|
|
||||||
|
assert_eq!(vec[1], ());
|
||||||
|
for el in vec.iter() {
|
||||||
|
drop(el);
|
||||||
|
}
|
||||||
|
assert_eq!(vec.debug(), "[(), (), ()]");
|
||||||
|
|
||||||
|
let vec: Vec<dyn Debug> = vec![unsized: (), (), ()];
|
||||||
|
|
||||||
|
assert_eq!(vec[1].debug(), "()");
|
||||||
|
for el in vec.iter() {
|
||||||
|
drop(el);
|
||||||
|
}
|
||||||
|
assert_eq!(vec.debug(), "[(), (), ()]");
|
||||||
}
|
}
|
Loading…
Reference in a new issue