|
80 | 80 | )] |
81 | 81 | #![no_std] |
82 | 82 | #![needs_allocator] |
| 83 | +// |
| 84 | +// Lints: |
| 85 | +#![deny(unsafe_op_in_unsafe_fn)] |
83 | 86 | #![warn(deprecated_in_future)] |
84 | | -#![warn(missing_docs)] |
85 | 87 | #![warn(missing_debug_implementations)] |
| 88 | +#![warn(missing_docs)] |
86 | 89 | #![allow(explicit_outlives_requirements)] |
87 | | -#![deny(unsafe_op_in_unsafe_fn)] |
88 | | -#![feature(rustc_allow_const_fn_unstable)] |
89 | | -#![cfg_attr(not(test), feature(generator_trait))] |
90 | | -#![cfg_attr(test, feature(test))] |
91 | | -#![cfg_attr(test, feature(new_uninit))] |
| 90 | +// |
| 91 | +// Library features: |
| 92 | +#![feature(alloc_layout_extra)] |
92 | 93 | #![feature(allocator_api)] |
93 | 94 | #![feature(array_chunks)] |
94 | 95 | #![feature(array_methods)] |
95 | 96 | #![feature(array_windows)] |
96 | | -#![feature(allow_internal_unstable)] |
97 | | -#![feature(arbitrary_self_types)] |
98 | 97 | #![feature(async_stream)] |
99 | | -#![feature(box_patterns)] |
100 | | -#![feature(box_syntax)] |
101 | | -#![feature(cfg_sanitize)] |
102 | | -#![feature(cfg_target_has_atomic)] |
103 | 98 | #![feature(coerce_unsized)] |
104 | 99 | #![cfg_attr(not(no_global_oom_handling), feature(const_btree_new))] |
105 | | -#![feature(const_fn_trait_bound)] |
106 | | -#![feature(cow_is_borrowed)] |
107 | 100 | #![feature(const_cow_is_borrowed)] |
108 | | -#![feature(const_trait_impl)] |
109 | | -#![feature(destructuring_assignment)] |
110 | | -#![feature(dispatch_from_dyn)] |
111 | 101 | #![feature(core_intrinsics)] |
112 | | -#![feature(dropck_eyepatch)] |
| 102 | +#![feature(dispatch_from_dyn)] |
113 | 103 | #![feature(exact_size_is_empty)] |
114 | | -#![feature(exclusive_range_pattern)] |
115 | 104 | #![feature(extend_one)] |
116 | 105 | #![feature(fmt_internals)] |
117 | 106 | #![feature(fn_traits)] |
118 | | -#![feature(fundamental)] |
119 | 107 | #![feature(inplace_iteration)] |
120 | | -// Technically, this is a bug in rustdoc: rustdoc sees the documentation on `#[lang = slice_alloc]` |
121 | | -// blocks is for `&[T]`, which also has documentation using this feature in `core`, and gets mad |
122 | | -// that the feature-gate isn't enabled. Ideally, it wouldn't check for the feature gate for docs |
123 | | -// from other crates, but since this can only appear for lang items, it doesn't seem worth fixing. |
124 | | -#![feature(intra_doc_pointers)] |
125 | 108 | #![feature(iter_advance_by)] |
126 | 109 | #![feature(iter_zip)] |
127 | | -#![feature(lang_items)] |
128 | 110 | #![feature(layout_for_ptr)] |
129 | | -#![feature(negative_impls)] |
130 | | -#![feature(never_type)] |
131 | | -#![feature(nll)] |
| 111 | +#![feature(maybe_uninit_extra)] |
| 112 | +#![feature(maybe_uninit_slice)] |
| 113 | +#![cfg_attr(test, feature(new_uninit))] |
132 | 114 | #![feature(nonnull_slice_from_raw_parts)] |
133 | | -#![feature(auto_traits)] |
134 | 115 | #![feature(option_result_unwrap_unchecked)] |
135 | 116 | #![feature(pattern)] |
136 | 117 | #![feature(ptr_internals)] |
137 | | -#![feature(rustc_attrs)] |
138 | 118 | #![feature(receiver_trait)] |
139 | | -#![feature(min_specialization)] |
140 | 119 | #![feature(set_ptr_value)] |
| 120 | +#![feature(slice_group_by)] |
141 | 121 | #![feature(slice_ptr_get)] |
142 | 122 | #![feature(slice_ptr_len)] |
143 | 123 | #![feature(slice_range)] |
144 | | -#![feature(staged_api)] |
145 | 124 | #![feature(str_internals)] |
146 | 125 | #![feature(trusted_len)] |
147 | | -#![feature(unboxed_closures)] |
| 126 | +#![feature(trusted_random_access)] |
| 127 | +#![feature(try_trait_v2)] |
148 | 128 | #![feature(unicode_internals)] |
149 | 129 | #![feature(unsize)] |
150 | | -#![feature(unsized_fn_params)] |
| 130 | +// |
| 131 | +// Language features: |
151 | 132 | #![feature(allocator_internals)] |
152 | | -#![feature(slice_partition_dedup)] |
153 | | -#![feature(maybe_uninit_extra, maybe_uninit_slice, maybe_uninit_uninit_array)] |
154 | | -#![feature(alloc_layout_extra)] |
155 | | -#![feature(trusted_random_access)] |
156 | | -#![feature(try_trait_v2)] |
| 133 | +#![feature(allow_internal_unstable)] |
157 | 134 | #![feature(associated_type_bounds)] |
158 | | -#![feature(slice_group_by)] |
159 | | -#![feature(decl_macro)] |
| 135 | +#![feature(box_syntax)] |
| 136 | +#![feature(cfg_sanitize)] |
| 137 | +#![feature(cfg_target_has_atomic)] |
| 138 | +#![feature(const_fn_trait_bound)] |
| 139 | +#![feature(const_trait_impl)] |
| 140 | +#![feature(destructuring_assignment)] |
| 141 | +#![feature(dropck_eyepatch)] |
| 142 | +#![feature(exclusive_range_pattern)] |
| 143 | +#![feature(fundamental)] |
| 144 | +#![cfg_attr(not(test), feature(generator_trait))] |
| 145 | +#![feature(lang_items)] |
| 146 | +#![feature(min_specialization)] |
| 147 | +#![feature(negative_impls)] |
| 148 | +#![feature(never_type)] |
| 149 | +#![feature(nll)] // Not necessary, but here to test the `nll` feature. |
| 150 | +#![feature(rustc_allow_const_fn_unstable)] |
| 151 | +#![feature(rustc_attrs)] |
| 152 | +#![feature(staged_api)] |
| 153 | +#![cfg_attr(test, feature(test))] |
| 154 | +#![feature(unboxed_closures)] |
| 155 | +#![feature(unsized_fn_params)] |
| 156 | +// |
| 157 | +// Rustdoc features: |
160 | 158 | #![feature(doc_cfg)] |
161 | 159 | #![cfg_attr(not(bootstrap), feature(doc_cfg_hide))] |
162 | | -// Allow testing this library |
| 160 | +// Technically, this is a bug in rustdoc: rustdoc sees the documentation on `#[lang = slice_alloc]` |
| 161 | +// blocks is for `&[T]`, which also has documentation using this feature in `core`, and gets mad |
| 162 | +// that the feature-gate isn't enabled. Ideally, it wouldn't check for the feature gate for docs |
| 163 | +// from other crates, but since this can only appear for lang items, it doesn't seem worth fixing. |
| 164 | +#![feature(intra_doc_pointers)] |
163 | 165 |
|
| 166 | +// Allow testing this library |
164 | 167 | #[cfg(test)] |
165 | 168 | #[macro_use] |
166 | 169 | extern crate std; |
|
0 commit comments