]> git.lizzy.rs Git - rust.git/blob - library/core/tests/lib.rs
Rollup merge of #106047 - uweigand:s390x-test-bigendian-ui, r=oli-obk
[rust.git] / library / core / tests / lib.rs
1 #![feature(alloc_layout_extra)]
2 #![feature(array_chunks)]
3 #![feature(array_methods)]
4 #![feature(array_windows)]
5 #![feature(bigint_helper_methods)]
6 #![feature(cell_update)]
7 #![feature(const_align_offset)]
8 #![feature(const_assume)]
9 #![feature(const_align_of_val_raw)]
10 #![feature(const_black_box)]
11 #![feature(const_bool_to_option)]
12 #![feature(const_caller_location)]
13 #![feature(const_cell_into_inner)]
14 #![feature(const_convert)]
15 #![feature(const_hash)]
16 #![feature(const_heap)]
17 #![feature(const_maybe_uninit_as_mut_ptr)]
18 #![feature(const_maybe_uninit_assume_init_read)]
19 #![feature(const_nonnull_new)]
20 #![feature(const_num_from_num)]
21 #![feature(const_pointer_byte_offsets)]
22 #![feature(const_pointer_is_aligned)]
23 #![feature(const_ptr_as_ref)]
24 #![feature(const_ptr_read)]
25 #![feature(const_ptr_write)]
26 #![feature(const_trait_impl)]
27 #![feature(const_likely)]
28 #![feature(const_location_fields)]
29 #![feature(core_intrinsics)]
30 #![feature(core_private_bignum)]
31 #![feature(core_private_diy_float)]
32 #![feature(dec2flt)]
33 #![feature(div_duration)]
34 #![feature(duration_consts_float)]
35 #![feature(duration_constants)]
36 #![feature(exact_size_is_empty)]
37 #![feature(extern_types)]
38 #![feature(flt2dec)]
39 #![feature(fmt_internals)]
40 #![feature(float_minimum_maximum)]
41 #![feature(future_join)]
42 #![feature(generic_assert_internals)]
43 #![feature(array_try_from_fn)]
44 #![feature(hasher_prefixfree_extras)]
45 #![feature(hashmap_internals)]
46 #![feature(try_find)]
47 #![feature(inline_const)]
48 #![feature(is_sorted)]
49 #![feature(layout_for_ptr)]
50 #![feature(pattern)]
51 #![feature(pin_macro)]
52 #![feature(sort_internals)]
53 #![feature(slice_take)]
54 #![feature(slice_from_ptr_range)]
55 #![feature(split_as_slice)]
56 #![feature(maybe_uninit_uninit_array)]
57 #![feature(maybe_uninit_write_slice)]
58 #![feature(maybe_uninit_uninit_array_transpose)]
59 #![feature(min_specialization)]
60 #![feature(numfmt)]
61 #![feature(step_trait)]
62 #![feature(str_internals)]
63 #![feature(std_internals)]
64 #![feature(test)]
65 #![feature(trusted_len)]
66 #![feature(try_blocks)]
67 #![feature(try_trait_v2)]
68 #![feature(slice_internals)]
69 #![feature(slice_partition_dedup)]
70 #![feature(iter_advance_by)]
71 #![feature(iter_array_chunks)]
72 #![feature(iter_collect_into)]
73 #![feature(iter_partition_in_place)]
74 #![feature(iter_intersperse)]
75 #![feature(iter_is_partitioned)]
76 #![feature(iter_next_chunk)]
77 #![feature(iter_order_by)]
78 #![feature(iter_repeat_n)]
79 #![feature(iterator_try_collect)]
80 #![feature(iterator_try_reduce)]
81 #![feature(const_mut_refs)]
82 #![feature(const_pin)]
83 #![feature(const_waker)]
84 #![feature(never_type)]
85 #![feature(unwrap_infallible)]
86 #![feature(pointer_byte_offsets)]
87 #![feature(pointer_is_aligned)]
88 #![feature(portable_simd)]
89 #![feature(ptr_metadata)]
90 #![feature(once_cell)]
91 #![feature(option_result_contains)]
92 #![feature(unsized_tuple_coercion)]
93 #![feature(const_option)]
94 #![feature(const_option_ext)]
95 #![feature(const_result)]
96 #![feature(integer_atomics)]
97 #![feature(int_roundings)]
98 #![feature(slice_group_by)]
99 #![feature(split_array)]
100 #![feature(strict_provenance)]
101 #![feature(strict_provenance_atomic_ptr)]
102 #![feature(trusted_random_access)]
103 #![feature(unsize)]
104 #![feature(const_array_from_ref)]
105 #![feature(const_slice_from_ref)]
106 #![feature(waker_getters)]
107 #![feature(slice_flatten)]
108 #![feature(provide_any)]
109 #![feature(utf8_chunks)]
110 #![feature(is_ascii_octdigit)]
111 #![feature(get_many_mut)]
112 #![deny(unsafe_op_in_unsafe_fn)]
113 #![deny(fuzzy_provenance_casts)]
114
115 extern crate test;
116
117 mod alloc;
118 mod any;
119 mod array;
120 mod ascii;
121 mod asserting;
122 mod atomic;
123 mod bool;
124 mod cell;
125 mod char;
126 mod clone;
127 mod cmp;
128 mod const_ptr;
129 mod convert;
130 mod fmt;
131 mod future;
132 mod hash;
133 mod intrinsics;
134 mod iter;
135 mod lazy;
136 mod macros;
137 mod manually_drop;
138 mod mem;
139 mod nonzero;
140 mod num;
141 mod ops;
142 mod option;
143 mod panic;
144 mod pattern;
145 mod pin;
146 mod pin_macro;
147 mod ptr;
148 mod result;
149 mod simd;
150 mod slice;
151 mod str;
152 mod str_lossy;
153 mod task;
154 mod time;
155 mod tuple;
156 mod unicode;
157 mod waker;
158
159 /// Copied from `std::test_helpers::test_rng`, see that function for rationale.
160 #[track_caller]
161 #[allow(dead_code)] // Not used in all configurations.
162 pub(crate) fn test_rng() -> rand_xorshift::XorShiftRng {
163     use core::hash::{BuildHasher, Hash, Hasher};
164     let mut hasher = std::collections::hash_map::RandomState::new().build_hasher();
165     core::panic::Location::caller().hash(&mut hasher);
166     let hc64 = hasher.finish();
167     let seed_vec = hc64.to_le_bytes().into_iter().chain(0u8..8).collect::<Vec<u8>>();
168     let seed: [u8; 16] = seed_vec.as_slice().try_into().unwrap();
169     rand::SeedableRng::from_seed(seed)
170 }