1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
// SPDX-FileCopyrightText: 2023 Thomas Kramer
//
// SPDX-License-Identifier: AGPL-3.0-or-later
//! Test if blanket implementations work.
//use libreda_db::prelude::*;
//
//fn is_hierarchy_ids<T: HierarchyIds>() {}
//fn is_netlist_ids<T: NetlistIds>() {}
//fn is_layout_ids<T: LayoutIds>() {}
//
//fn is_hierarchy_base<T: HierarchyBase>() {}
//fn is_netlist_base<T: NetlistBase>() {}
//fn is_layout_base<T: LayoutBase>() {}
//fn is_layout_netlist_base<T: L2NBase>() {}
//fn is_hierarchy_edit<T: HierarchyEdit>() {}
//fn is_netlist_edit<T: NetlistEdit>() {}
//fn is_layout_edit<T: LayoutEdit>() {}
//fn is_layout_netlist_edit<T: L2NEdit>() {}
//
//#[test]
//fn test_blanket_impl_ref() {
// type T<'a> = &'a Chip;
//
// is_hierarchy_ids::<T>();
// is_netlist_ids::<T>();
// is_layout_ids::<T>();
//
// is_hierarchy_base::<T>();
// is_netlist_base::<T>();
// is_layout_base::<T>();
// is_layout_netlist_base::<T>();
//}
//
//#[test]
//fn test_blanket_impl_rc() {
// type T = std::rc::Rc<Chip>;
//
// is_hierarchy_ids::<T>();
// is_netlist_ids::<T>();
// is_layout_ids::<T>();
//
// is_hierarchy_base::<T>();
// is_netlist_base::<T>();
// is_layout_base::<T>();
// is_layout_netlist_base::<T>();
//}
//
//#[test]
//fn test_blanket_impl_arc() {
// type T = std::sync::Arc<Chip>;
//
// is_hierarchy_ids::<T>();
// is_netlist_ids::<T>();
// is_layout_ids::<T>();
//
// is_hierarchy_base::<T>();
// is_netlist_base::<T>();
// is_layout_base::<T>();
// is_layout_netlist_base::<T>();
//}
//
//#[test]
//fn test_blanket_impl_mut_ref() {
// type T<'a> = &'a mut Chip;
//
// is_hierarchy_ids::<T>();
// is_hierarchy_base::<T>();
// is_netlist_base::<T>();
// is_layout_base::<T>();
// is_layout_netlist_base::<T>();
//
// is_hierarchy_edit::<T>();
// is_netlist_edit::<T>();
// is_layout_edit::<T>();
// is_layout_netlist_edit::<T>();
//}
//
//#[test]
//fn test_blanket_impl_box() {
// type T = Box<Chip>;
//
// is_hierarchy_ids::<T>();
// is_hierarchy_base::<T>();
// is_netlist_base::<T>();
// is_layout_base::<T>();
// is_layout_netlist_base::<T>();
//
// is_hierarchy_edit::<T>();
// is_netlist_edit::<T>();
// is_layout_edit::<T>();
// is_layout_netlist_edit::<T>();
//}
//