rust/library/core/tests/lib.rs

178 lines
4.6 KiB
Rust
Raw Normal View History

#![feature(alloc_layout_extra)]
2020-05-18 14:24:37 -05:00
#![feature(array_chunks)]
#![feature(array_methods)]
#![feature(array_windows)]
2023-07-03 12:11:39 -05:00
#![feature(ascii_char)]
#![feature(ascii_char_variants)]
#![feature(bigint_helper_methods)]
2018-04-06 15:45:31 -05:00
#![feature(cell_update)]
2022-10-07 13:59:23 -05:00
#![feature(const_align_offset)]
#![feature(const_assume)]
#![feature(const_align_of_val_raw)]
2021-12-23 05:07:41 -06:00
#![feature(const_black_box)]
2022-09-27 14:09:32 -05:00
#![feature(const_caller_location)]
#![feature(const_cell_into_inner)]
2022-11-08 10:39:40 -06:00
#![feature(const_hash)]
#![feature(const_heap)]
2021-11-16 18:58:52 -06:00
#![feature(const_maybe_uninit_as_mut_ptr)]
#![feature(const_maybe_uninit_assume_init_read)]
#![feature(const_nonnull_new)]
#![feature(const_pointer_byte_offsets)]
2022-10-07 14:46:28 -05:00
#![feature(const_pointer_is_aligned)]
#![feature(const_ptr_as_ref)]
#![feature(const_ptr_write)]
2021-03-13 11:40:47 -06:00
#![feature(const_trait_impl)]
2021-12-23 05:07:41 -06:00
#![feature(const_likely)]
#![feature(const_location_fields)]
#![feature(core_intrinsics)]
#![feature(core_private_bignum)]
#![feature(core_private_diy_float)]
#![feature(dec2flt)]
#![feature(div_duration)]
#![feature(duration_consts_float)]
2020-08-30 12:31:34 -05:00
#![feature(duration_constants)]
2017-07-06 10:13:29 -05:00
#![feature(exact_size_is_empty)]
#![feature(extern_types)]
#![feature(flt2dec)]
2017-03-17 09:05:44 -05:00
#![feature(fmt_internals)]
#![feature(float_minimum_maximum)]
2021-12-07 20:10:39 -06:00
#![feature(future_join)]
2022-05-22 05:18:32 -05:00
#![feature(generic_assert_internals)]
2022-05-20 09:04:13 -05:00
#![feature(array_try_from_fn)]
#![feature(hasher_prefixfree_extras)]
#![feature(hashmap_internals)]
2019-08-06 06:13:13 -05:00
#![feature(try_find)]
2021-12-23 05:07:41 -06:00
#![feature(inline_const)]
#![feature(is_sorted)]
#![feature(layout_for_ptr)]
2017-12-17 16:44:03 -06:00
#![feature(pattern)]
2017-03-20 20:38:03 -05:00
#![feature(sort_internals)]
2021-10-09 10:28:20 -05:00
#![feature(slice_take)]
#![feature(slice_from_ptr_range)]
#![feature(split_as_slice)]
#![feature(maybe_uninit_uninit_array)]
2020-12-01 00:24:04 -06:00
#![feature(maybe_uninit_write_slice)]
#![feature(maybe_uninit_uninit_array_transpose)]
2020-06-16 06:07:15 -05:00
#![feature(min_specialization)]
#![feature(numfmt)]
#![feature(num_midpoint)]
#![feature(step_trait)]
2018-04-05 08:55:28 -05:00
#![feature(str_internals)]
2022-04-04 09:53:53 -05:00
#![feature(std_internals)]
#![feature(test)]
#![feature(trusted_len)]
#![feature(try_blocks)]
2021-04-15 03:13:39 -05:00
#![feature(try_trait_v2)]
#![feature(slice_internals)]
#![feature(slice_partition_dedup)]
2022-11-10 14:48:41 -06:00
#![feature(ip)]
2023-02-28 03:07:57 -06:00
#![feature(ip_in_core)]
2020-09-19 03:26:46 -05:00
#![feature(iter_advance_by)]
2022-01-02 10:31:56 -06:00
#![feature(iter_array_chunks)]
2022-02-19 18:46:55 -06:00
#![feature(iter_collect_into)]
#![feature(iter_partition_in_place)]
#![feature(iter_intersperse)]
#![feature(iter_is_partitioned)]
2022-06-21 01:57:02 -05:00
#![feature(iter_next_chunk)]
#![feature(iter_order_by)]
#![feature(iter_repeat_n)]
#![feature(iterator_try_collect)]
#![feature(iterator_try_reduce)]
2022-11-10 14:48:41 -06:00
#![feature(const_ip)]
#![feature(const_ipv4)]
#![feature(const_ipv6)]
#![feature(const_mut_refs)]
#![feature(const_pin)]
2022-09-14 07:15:44 -05:00
#![feature(const_waker)]
#![feature(never_type)]
#![feature(unwrap_infallible)]
#![feature(pointer_byte_offsets)]
2022-10-07 14:46:28 -05:00
#![feature(pointer_is_aligned)]
2021-11-30 09:50:44 -06:00
#![feature(portable_simd)]
2021-03-26 15:10:21 -05:00
#![feature(ptr_metadata)]
#![feature(lazy_cell)]
#![feature(unsized_tuple_coercion)]
#![feature(const_option)]
2021-12-14 11:58:01 -06:00
#![feature(const_option_ext)]
2021-10-16 11:18:00 -05:00
#![feature(const_result)]
#![cfg_attr(target_has_atomic = "128", feature(integer_atomics))]
2021-09-02 00:28:47 -05:00
#![feature(int_roundings)]
#![feature(slice_group_by)]
#![feature(split_array)]
#![feature(strict_provenance)]
#![feature(strict_provenance_atomic_ptr)]
#![feature(trusted_random_access)]
2021-03-26 15:10:21 -05:00
#![feature(unsize)]
#![feature(const_array_from_ref)]
#![feature(const_slice_from_ref)]
#![feature(waker_getters)]
#![feature(slice_flatten)]
#![feature(error_generic_member_access)]
#![feature(error_in_core)]
#![feature(trait_upcasting)]
2022-08-20 11:49:20 -05:00
#![feature(utf8_chunks)]
#![feature(is_ascii_octdigit)]
2021-03-28 07:24:49 -05:00
#![feature(get_many_mut)]
2023-05-30 07:00:10 -05:00
#![feature(offset_of)]
#![feature(iter_map_windows)]
#![deny(unsafe_op_in_unsafe_fn)]
#![deny(fuzzy_provenance_casts)]
extern crate test;
mod alloc;
mod any;
mod array;
2018-03-08 21:55:54 -06:00
mod ascii;
2022-05-22 05:18:32 -05:00
mod asserting;
mod atomic;
2019-09-07 09:49:27 -05:00
mod bool;
mod cell;
mod char;
2015-10-15 14:07:20 -05:00
mod clone;
mod cmp;
2020-12-25 18:59:08 -06:00
mod const_ptr;
mod convert;
mod fmt;
2021-12-07 20:10:39 -06:00
mod future;
mod hash;
2015-10-15 14:07:20 -05:00
mod intrinsics;
mod iter;
mod lazy;
mod macros;
2018-07-27 05:12:55 -05:00
mod manually_drop;
mod mem;
2022-11-10 14:48:41 -06:00
mod net;
2014-12-23 14:52:02 -06:00
mod nonzero;
mod num;
mod ops;
mod option;
2022-09-27 14:09:32 -05:00
mod panic;
2017-12-17 16:44:03 -06:00
mod pattern;
mod pin;
mod pin_macro;
mod ptr;
mod result;
mod simd;
mod slice;
2014-08-18 20:43:43 -05:00
mod str;
2018-04-05 08:55:28 -05:00
mod str_lossy;
mod task;
mod time;
mod tuple;
mod unicode;
mod waker;
/// Copied from `std::test_helpers::test_rng`, see that function for rationale.
#[track_caller]
#[allow(dead_code)] // Not used in all configurations.
pub(crate) fn test_rng() -> rand_xorshift::XorShiftRng {
use core::hash::{BuildHasher, Hash, Hasher};
let mut hasher = std::collections::hash_map::RandomState::new().build_hasher();
core::panic::Location::caller().hash(&mut hasher);
let hc64 = hasher.finish();
let seed_vec = hc64.to_le_bytes().into_iter().chain(0u8..8).collect::<Vec<u8>>();
let seed: [u8; 16] = seed_vec.as_slice().try_into().unwrap();
rand::SeedableRng::from_seed(seed)
}