1use any_intern::{AnyInterner, Interner};
2
3fn main() {
4 test_interner_should_call_drop();
5 test_any_interner_should_call_drop();
6}
7
8fn test_interner_should_call_drop() {
9 #[derive(PartialEq, Eq, Hash)]
10 struct A(Box<u32>);
11
12 #[derive(PartialEq, Eq, Hash)]
13 struct B(Box<u32>);
14
15 let interner = Interner::new();
16
17 const N: u32 = 1000;
18 for i in 0..N {
19 interner.intern_static(A(Box::new(i)));
20 interner.intern_static(B(Box::new(i)));
21 }
22}
23
24fn test_any_interner_should_call_drop() {
25 #[derive(PartialEq, Eq, Hash)]
26 struct A(Box<u32>);
27
28 let interner = AnyInterner::of::<A>();
29
30 const N: u32 = 1000;
31 for i in 0..N {
32 unsafe {
33 interner.intern(A(Box::new(i)));
34 }
35 }
36}