1#![stable(feature = "core", since = "1.6.0")]
47#![doc(
48 html_playground_url = "https://play.rust-lang.org/",
49 issue_tracker_base_url = "https://github.com/rust-lang/rust/issues/",
50 test(no_crate_inject, attr(deny(warnings))),
51 test(attr(allow(dead_code, deprecated, unused_variables, unused_mut)))
52)]
53#![doc(rust_logo)]
54#![doc(cfg_hide(
55 no_fp_fmt_parse,
56 target_pointer_width = "16",
57 target_pointer_width = "32",
58 target_pointer_width = "64",
59 target_has_atomic = "8",
60 target_has_atomic = "16",
61 target_has_atomic = "32",
62 target_has_atomic = "64",
63 target_has_atomic = "ptr",
64 target_has_atomic_equal_alignment = "8",
65 target_has_atomic_equal_alignment = "16",
66 target_has_atomic_equal_alignment = "32",
67 target_has_atomic_equal_alignment = "64",
68 target_has_atomic_equal_alignment = "ptr",
69 target_has_atomic_load_store = "8",
70 target_has_atomic_load_store = "16",
71 target_has_atomic_load_store = "32",
72 target_has_atomic_load_store = "64",
73 target_has_atomic_load_store = "ptr",
74))]
75#![no_core]
76#![rustc_coherence_is_core]
77#![rustc_preserve_ub_checks]
78#![deny(rust_2021_incompatible_or_patterns)]
81#![deny(unsafe_op_in_unsafe_fn)]
82#![deny(fuzzy_provenance_casts)]
83#![warn(deprecated_in_future)]
84#![warn(missing_debug_implementations)]
85#![warn(missing_docs)]
86#![allow(explicit_outlives_requirements)]
87#![allow(incomplete_features)]
88#![warn(multiple_supertrait_upcastable)]
89#![allow(internal_features)]
90#![deny(ffi_unwind_calls)]
91#![warn(unreachable_pub)]
92#![allow(rustdoc::redundant_explicit_links)]
94#![warn(rustdoc::unescaped_backticks)]
95#![cfg_attr(not(feature = "ferrocene_certified"), feature(array_ptr_get))]
102#![cfg_attr(not(feature = "ferrocene_certified"), feature(asm_experimental_arch))]
103#![cfg_attr(not(feature = "ferrocene_certified"), feature(bigint_helper_methods))]
104#![cfg_attr(not(feature = "ferrocene_certified"), feature(bstr))]
105#![cfg_attr(not(feature = "ferrocene_certified"), feature(bstr_internals))]
106#![cfg_attr(not(feature = "ferrocene_certified"), feature(cfg_select))]
107#![cfg_attr(not(feature = "ferrocene_certified"), feature(cfg_target_has_reliable_f16_f128))]
108#![cfg_attr(not(feature = "ferrocene_certified"), feature(const_carrying_mul_add))]
109#![cfg_attr(not(feature = "ferrocene_certified"), feature(const_cmp))]
110#![feature(const_destruct)]
111#![feature(const_eval_select)]
112#![feature(core_intrinsics)]
113#![feature(coverage_attribute)]
114#![cfg_attr(not(feature = "ferrocene_certified"), feature(disjoint_bitor))]
115#![feature(internal_impls_macro)]
116#![cfg_attr(not(feature = "ferrocene_certified"), feature(ip))]
117#![cfg_attr(not(feature = "ferrocene_certified"), feature(is_ascii_octdigit))]
118#![cfg_attr(not(feature = "ferrocene_certified"), feature(lazy_get))]
119#![cfg_attr(not(feature = "ferrocene_certified"), feature(link_cfg))]
120#![cfg_attr(not(feature = "ferrocene_certified"), feature(offset_of_enum))]
121#![cfg_attr(not(feature = "ferrocene_certified"), feature(panic_internals))]
122#![cfg_attr(not(feature = "ferrocene_certified"), feature(ptr_alignment_type))]
123#![cfg_attr(not(feature = "ferrocene_certified"), feature(ptr_metadata))]
124#![cfg_attr(not(feature = "ferrocene_certified"), feature(set_ptr_value))]
125#![cfg_attr(not(feature = "ferrocene_certified"), feature(slice_as_array))]
126#![cfg_attr(not(feature = "ferrocene_certified"), feature(slice_ptr_get))]
127#![cfg_attr(not(feature = "ferrocene_certified"), feature(str_internals))]
128#![cfg_attr(not(feature = "ferrocene_certified"), feature(str_split_inclusive_remainder))]
129#![cfg_attr(not(feature = "ferrocene_certified"), feature(str_split_remainder))]
130#![feature(ub_checks)]
131#![cfg_attr(not(feature = "ferrocene_certified"), feature(unchecked_neg))]
132#![cfg_attr(not(feature = "ferrocene_certified"), feature(unchecked_shifts))]
133#![cfg_attr(not(feature = "ferrocene_certified"), feature(unsafe_pinned))]
134#![cfg_attr(not(feature = "ferrocene_certified"), feature(utf16_extra))]
135#![cfg_attr(not(feature = "ferrocene_certified"), feature(variant_count))]
136#![cfg_attr(not(feature = "ferrocene_certified"), feature(abi_unadjusted))]
141#![feature(adt_const_params)]
142#![feature(allow_internal_unsafe)]
143#![feature(allow_internal_unstable)]
144#![feature(auto_traits)]
145#![cfg_attr(not(feature = "ferrocene_certified"), feature(cfg_sanitize))]
146#![feature(cfg_target_has_atomic)]
147#![feature(cfg_target_has_atomic_equal_alignment)]
148#![feature(cfg_ub_checks)]
149#![feature(const_precise_live_drops)]
150#![feature(const_trait_impl)]
151#![feature(decl_macro)]
152#![cfg_attr(not(feature = "ferrocene_certified"), feature(deprecated_suggestion))]
153#![cfg_attr(not(feature = "ferrocene_certified"), feature(doc_cfg))]
154#![cfg_attr(not(feature = "ferrocene_certified"), feature(derive_const))]
155#![feature(doc_cfg_hide)]
156#![cfg_attr(not(feature = "ferrocene_certified"), feature(doc_notable_trait))]
157#![cfg_attr(not(feature = "ferrocene_certified"), feature(extern_types))]
158#![cfg_attr(not(feature = "ferrocene_certified"), feature(f128))]
159#![cfg_attr(not(feature = "ferrocene_certified"), feature(f16))]
160#![feature(freeze_impls)]
161#![feature(fundamental)]
162#![cfg_attr(not(feature = "ferrocene_certified"), feature(funnel_shifts))]
163#![cfg_attr(not(feature = "ferrocene_certified"), feature(if_let_guard))]
164#![feature(intra_doc_pointers)]
165#![feature(intrinsics)]
166#![feature(lang_items)]
167#![cfg_attr(not(feature = "ferrocene_certified"), feature(link_llvm_intrinsics))]
168#![cfg_attr(not(feature = "ferrocene_certified"), feature(macro_metavar_expr))]
169#![cfg_attr(not(feature = "ferrocene_certified"), feature(macro_metavar_expr_concat))]
170#![cfg_attr(not(feature = "ferrocene_certified"), feature(marker_trait_attr))]
171#![cfg_attr(not(feature = "ferrocene_certified"), feature(min_specialization))]
172#![feature(multiple_supertrait_upcastable)]
173#![cfg_attr(not(feature = "ferrocene_certified"), feature(must_not_suspend))]
174#![feature(negative_impls)]
175#![feature(never_type)]
176#![feature(no_core)]
177#![feature(optimize_attribute)]
178#![feature(prelude_import)]
179#![feature(reborrow)]
180#![cfg_attr(not(feature = "ferrocene_certified"), feature(repr_simd))]
181#![feature(rustc_allow_const_fn_unstable)]
182#![feature(rustc_attrs)]
183#![feature(rustdoc_internals)]
184#![cfg_attr(not(feature = "ferrocene_certified"), feature(simd_ffi))]
185#![feature(staged_api)]
186#![cfg_attr(not(feature = "ferrocene_certified"), feature(stmt_expr_attributes))]
187#![feature(strict_provenance_lints)]
188#![feature(trait_alias)]
189#![cfg_attr(not(feature = "ferrocene_certified"), feature(transparent_unions))]
190#![feature(try_blocks)]
191#![feature(unboxed_closures)]
192#![cfg_attr(not(feature = "ferrocene_certified"), feature(unsized_fn_params))]
193#![cfg_attr(not(feature = "ferrocene_certified"), feature(with_negative_coherence))]
194#![cfg_attr(not(feature = "ferrocene_certified"), feature(aarch64_unstable_target_feature))]
199#![cfg_attr(not(feature = "ferrocene_certified"), feature(arm_target_feature))]
200#![cfg_attr(not(feature = "ferrocene_certified"), feature(hexagon_target_feature))]
201#![cfg_attr(not(feature = "ferrocene_certified"), feature(loongarch_target_feature))]
202#![cfg_attr(not(feature = "ferrocene_certified"), feature(mips_target_feature))]
203#![cfg_attr(not(feature = "ferrocene_certified"), feature(powerpc_target_feature))]
204#![cfg_attr(not(feature = "ferrocene_certified"), feature(nvptx_target_feature))]
205#![cfg_attr(not(feature = "ferrocene_certified"), feature(riscv_target_feature))]
206#![cfg_attr(not(feature = "ferrocene_certified"), feature(rtm_target_feature))]
207#![cfg_attr(not(feature = "ferrocene_certified"), feature(s390x_target_feature))]
208#![cfg_attr(not(feature = "ferrocene_certified"), feature(wasm_target_feature))]
209#![cfg_attr(not(feature = "ferrocene_certified"), feature(x86_amx_intrinsics))]
210#![allow(unused_attributes)]
214#![cfg_attr(feature = "ferrocene_certified", allow(rustdoc::broken_intra_doc_links))]
215
216#[allow(unused_extern_crates)]
218extern crate self as core;
219
220pub mod prelude;
223
224#[prelude_import]
225#[allow(unused)]
226use prelude::rust_2024::*;
227
228#[macro_use]
229mod macros;
230
231#[unstable(feature = "assert_matches", issue = "82775")]
232#[cfg(not(feature = "ferrocene_certified"))]
234pub mod assert_matches {
235 #[unstable(feature = "assert_matches", issue = "82775")]
236 pub use crate::macros::{assert_matches, debug_assert_matches};
237}
238
239#[unstable(feature = "derive_from", issue = "144889")]
240pub mod from {
242 #[unstable(feature = "derive_from", issue = "144889")]
243 pub use crate::macros::builtin::From;
244}
245
246#[unstable(feature = "autodiff", issue = "124509")]
248pub mod autodiff {
250 #[unstable(feature = "autodiff", issue = "124509")]
251 pub use crate::macros::builtin::{autodiff_forward, autodiff_reverse};
252}
253
254#[unstable(feature = "contracts", issue = "128044")]
255#[cfg(not(feature = "ferrocene_certified"))]
256pub mod contracts;
257
258#[unstable(feature = "cfg_select", issue = "115585")]
259#[cfg(not(feature = "ferrocene_certified"))]
260pub use crate::macros::cfg_select;
261
262#[macro_use]
263mod internal_macros;
264
265#[path = "num/shells/legacy_int_modules.rs"]
266#[cfg(not(feature = "ferrocene_certified"))]
267mod legacy_int_modules;
268#[stable(feature = "rust1", since = "1.0.0")]
269#[allow(clippy::useless_attribute)] #[allow(deprecated_in_future)]
271#[cfg(not(feature = "ferrocene_certified"))]
272pub use legacy_int_modules::{i8, i16, i32, i64, isize, u8, u16, u32, u64, usize};
273#[stable(feature = "i128", since = "1.26.0")]
274#[allow(clippy::useless_attribute)] #[allow(deprecated_in_future)]
276#[cfg(not(feature = "ferrocene_certified"))]
277pub use legacy_int_modules::{i128, u128};
278
279#[path = "num/f128.rs"]
280#[cfg(not(feature = "ferrocene_certified"))]
281pub mod f128;
282#[path = "num/f16.rs"]
283#[cfg(not(feature = "ferrocene_certified"))]
284pub mod f16;
285#[path = "num/f32.rs"]
286#[cfg(not(feature = "ferrocene_certified"))]
287pub mod f32;
288#[path = "num/f64.rs"]
289#[cfg(not(feature = "ferrocene_certified"))]
290pub mod f64;
291
292#[macro_use]
293pub mod num;
294
295pub mod hint;
298pub mod intrinsics;
299pub mod mem;
300pub mod ptr;
301#[unstable(feature = "ub_checks", issue = "none")]
302pub mod ub_checks;
303
304#[cfg(not(feature = "ferrocene_certified"))]
307pub mod borrow;
308pub mod clone;
309pub mod cmp;
310pub mod convert;
311pub mod default;
312#[cfg(not(feature = "ferrocene_certified"))]
313pub mod error;
314pub mod marker;
315pub mod ops;
316
317#[cfg(not(feature = "ferrocene_certified"))]
320pub mod any;
321pub mod array;
322#[cfg(not(feature = "ferrocene_certified"))]
323pub mod ascii;
324#[cfg(not(feature = "ferrocene_certified"))]
325pub mod asserting;
326#[unstable(feature = "async_iterator", issue = "79024")]
327#[cfg(not(feature = "ferrocene_certified"))]
328pub mod async_iter;
329#[unstable(feature = "bstr", issue = "134915")]
330#[cfg(not(feature = "ferrocene_certified"))]
331pub mod bstr;
332pub mod cell;
333#[cfg(not(feature = "ferrocene_certified"))]
334pub mod char;
335#[cfg(not(feature = "ferrocene_certified"))]
336pub mod ffi;
337#[unstable(feature = "core_io_borrowed_buf", issue = "117693")]
338#[cfg(not(feature = "ferrocene_certified"))]
339pub mod io;
340pub mod iter;
341#[cfg(not(feature = "ferrocene_certified"))]
342pub mod net;
343pub mod option;
344#[cfg(not(feature = "ferrocene_certified"))]
345pub mod os;
346pub mod panic;
347pub mod panicking;
348#[unstable(feature = "pattern_type_macro", issue = "123646")]
349#[cfg(not(feature = "ferrocene_certified"))]
350pub mod pat;
351#[cfg(not(feature = "ferrocene_certified"))]
352pub mod pin;
353#[unstable(feature = "random", issue = "130703")]
354#[cfg(not(feature = "ferrocene_certified"))]
355pub mod random;
356#[unstable(feature = "new_range_api", issue = "125687")]
357#[cfg(not(feature = "ferrocene_certified"))]
358pub mod range;
359pub mod result;
360pub mod sync;
361#[unstable(feature = "unsafe_binders", issue = "130516")]
362#[cfg(not(feature = "ferrocene_certified"))]
363pub mod unsafe_binder;
364
365pub mod fmt;
366#[cfg(not(feature = "ferrocene_certified"))]
367pub mod hash;
368#[cfg(not(feature = "ferrocene_certified"))]
369pub mod slice;
370#[cfg(not(feature = "ferrocene_certified"))]
371pub mod str;
372#[cfg(not(feature = "ferrocene_certified"))]
373pub mod time;
374
375#[cfg(not(feature = "ferrocene_certified"))]
376pub mod wtf8;
377
378#[cfg(not(feature = "ferrocene_certified"))]
379pub mod unicode;
380
381#[cfg(not(feature = "ferrocene_certified"))]
383pub mod future;
384#[cfg(not(feature = "ferrocene_certified"))]
385pub mod task;
386
387#[allow(missing_docs)]
389pub mod alloc;
390
391mod bool;
393#[cfg(not(feature = "ferrocene_certified"))]
394mod escape;
395#[cfg(not(feature = "ferrocene_certified"))]
396mod tuple;
397#[cfg(not(feature = "ferrocene_certified"))]
398mod unit;
399
400#[stable(feature = "core_primitive", since = "1.43.0")]
401#[cfg(not(feature = "ferrocene_certified"))]
402pub mod primitive;
403
404#[path = "../../stdarch/crates/core_arch/src/mod.rs"]
411#[allow(
412 missing_docs,
413 missing_debug_implementations,
414 dead_code,
415 unused_imports,
416 unsafe_op_in_unsafe_fn,
417 ambiguous_glob_reexports,
418 deprecated_in_future,
419 unreachable_pub
420)]
421#[allow(rustdoc::bare_urls)]
422#[cfg(not(feature = "ferrocene_certified"))]
423mod core_arch;
424
425#[stable(feature = "simd_arch", since = "1.27.0")]
426#[cfg(not(feature = "ferrocene_certified"))]
427pub mod arch;
428
429#[path = "../../portable-simd/crates/core_simd/src/mod.rs"]
436#[allow(missing_debug_implementations, dead_code, unsafe_op_in_unsafe_fn)]
437#[allow(rustdoc::bare_urls)]
438#[unstable(feature = "portable_simd", issue = "86656")]
439#[cfg(not(feature = "ferrocene_certified"))]
440mod core_simd;
441
442#[unstable(feature = "portable_simd", issue = "86656")]
443#[cfg(not(feature = "ferrocene_certified"))]
444pub mod simd {
445 #![doc = include_str!("../../portable-simd/crates/core_simd/src/core_simd_docs.md")]
446
447 #[unstable(feature = "portable_simd", issue = "86656")]
448 pub use crate::core_simd::simd::*;
449}
450
451include!("primitive_docs.rs");