1 // This file is part of ICU4X. For terms of use, please see the file
2 // called LICENSE at the top level of the ICU4X source tree
3 // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
4
5 #![allow(non_camel_case_types, non_snake_case)]
6
7 use zerotrie::ZeroAsciiIgnoreCaseTrie;
8 use zerotrie::ZeroTrie;
9 use zerotrie::ZeroTrieExtendedCapacity;
10 use zerotrie::ZeroTriePerfectHash;
11 use zerotrie::ZeroTrieSimpleAscii;
12 use zerovec::ZeroVec;
13
14 #[cfg_attr(feature = "yoke", derive(yoke::Yokeable))]
15 #[cfg_attr(feature = "zerofrom", derive(zerofrom::ZeroFrom))]
16 #[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
17 #[cfg_attr(feature = "databake", derive(databake::Bake))]
18 #[cfg_attr(feature = "databake", databake(path = crate))]
19 struct DeriveTest_ZeroTrie_ZeroVec<'data> {
20 #[cfg_attr(feature = "serde", serde(borrow))]
21 _data: ZeroTrie<ZeroVec<'data, u8>>,
22 }
23
24 #[test]
25 #[cfg(all(feature = "databake", feature = "alloc"))]
bake_ZeroTrie_ZeroVec()26 fn bake_ZeroTrie_ZeroVec() {
27 use databake::*;
28 extern crate std;
29 test_bake!(
30 DeriveTest_ZeroTrie_ZeroVec<'static>,
31 crate::DeriveTest_ZeroTrie_ZeroVec {
32 _data: zerotrie::ZeroTrieSimpleAscii {
33 store: zerovec::ZeroVec::new(),
34 }
35 .into_zerotrie()
36 },
37 );
38 }
39
40 #[cfg_attr(feature = "yoke", derive(yoke::Yokeable))]
41 #[cfg_attr(feature = "zerofrom", derive(zerofrom::ZeroFrom))]
42 #[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
43 #[cfg_attr(feature = "databake", derive(databake::Bake))]
44 #[cfg_attr(feature = "databake", databake(path = crate))]
45 struct DeriveTest_ZeroTrieSimpleAscii_ZeroVec<'data> {
46 #[cfg_attr(feature = "serde", serde(borrow))]
47 _data: ZeroTrieSimpleAscii<ZeroVec<'data, u8>>,
48 }
49
50 #[test]
51 #[cfg(all(feature = "databake", feature = "alloc"))]
bake_ZeroTrieSimpleAscii_ZeroVec()52 fn bake_ZeroTrieSimpleAscii_ZeroVec() {
53 use databake::*;
54 extern crate std;
55 test_bake!(
56 DeriveTest_ZeroTrieSimpleAscii_ZeroVec<'static>,
57 crate::DeriveTest_ZeroTrieSimpleAscii_ZeroVec {
58 _data: zerotrie::ZeroTrieSimpleAscii {
59 store: zerovec::ZeroVec::new(),
60 }
61 },
62 );
63 }
64
65 #[cfg_attr(feature = "yoke", derive(yoke::Yokeable))]
66 #[cfg_attr(feature = "zerofrom", derive(zerofrom::ZeroFrom))]
67 #[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
68 #[cfg_attr(feature = "databake", derive(databake::Bake))]
69 #[cfg_attr(feature = "databake", databake(path = crate))]
70 struct DeriveTest_ZeroAsciiIgnoreCaseTrie_ZeroVec<'data> {
71 #[cfg_attr(feature = "serde", serde(borrow))]
72 _data: ZeroAsciiIgnoreCaseTrie<ZeroVec<'data, u8>>,
73 }
74
75 #[test]
76 #[cfg(all(feature = "databake", feature = "alloc"))]
bake_ZeroAsciiIgnoreCaseTrie_ZeroVec()77 fn bake_ZeroAsciiIgnoreCaseTrie_ZeroVec() {
78 use databake::*;
79 extern crate std;
80 test_bake!(
81 DeriveTest_ZeroAsciiIgnoreCaseTrie_ZeroVec<'static>,
82 crate::DeriveTest_ZeroAsciiIgnoreCaseTrie_ZeroVec {
83 _data: zerotrie::ZeroAsciiIgnoreCaseTrie {
84 store: zerovec::ZeroVec::new(),
85 }
86 },
87 );
88 }
89
90 #[cfg_attr(feature = "yoke", derive(yoke::Yokeable))]
91 #[cfg_attr(feature = "zerofrom", derive(zerofrom::ZeroFrom))]
92 #[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
93 #[cfg_attr(feature = "databake", derive(databake::Bake))]
94 #[cfg_attr(feature = "databake", databake(path = crate))]
95 struct DeriveTest_ZeroTriePerfectHash_ZeroVec<'data> {
96 #[cfg_attr(feature = "serde", serde(borrow))]
97 _data: ZeroTriePerfectHash<ZeroVec<'data, u8>>,
98 }
99
100 #[test]
101 #[cfg(all(feature = "databake", feature = "alloc"))]
bake_ZeroTriePerfectHash_ZeroVec()102 fn bake_ZeroTriePerfectHash_ZeroVec() {
103 use databake::*;
104 extern crate std;
105 test_bake!(
106 DeriveTest_ZeroTriePerfectHash_ZeroVec<'static>,
107 crate::DeriveTest_ZeroTriePerfectHash_ZeroVec {
108 _data: zerotrie::ZeroTriePerfectHash {
109 store: zerovec::ZeroVec::new(),
110 }
111 },
112 );
113 }
114
115 #[cfg_attr(feature = "yoke", derive(yoke::Yokeable))]
116 #[cfg_attr(feature = "zerofrom", derive(zerofrom::ZeroFrom))]
117 #[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
118 #[cfg_attr(feature = "databake", derive(databake::Bake))]
119 #[cfg_attr(feature = "databake", databake(path = crate))]
120 struct DeriveTest_ZeroTrieExtendedCapacity_ZeroVec<'data> {
121 #[cfg_attr(feature = "serde", serde(borrow))]
122 _data: ZeroTrieExtendedCapacity<ZeroVec<'data, u8>>,
123 }
124
125 #[test]
126 #[cfg(all(feature = "databake", feature = "alloc"))]
bake_ZeroTrieExtendedCapacity_ZeroVec()127 fn bake_ZeroTrieExtendedCapacity_ZeroVec() {
128 use databake::*;
129 extern crate std;
130 test_bake!(
131 DeriveTest_ZeroTrieExtendedCapacity_ZeroVec<'static>,
132 crate::DeriveTest_ZeroTrieExtendedCapacity_ZeroVec {
133 _data: zerotrie::ZeroTrieExtendedCapacity {
134 store: zerovec::ZeroVec::new(),
135 }
136 },
137 );
138 }
139