rust-analyzer/test_utils/struct.MiniCore.html
2025-12-30 11:18:29 +00:00

28 lines
99 KiB
HTML

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `MiniCore` struct in crate `test_utils`."><title>MiniCore in test_utils - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="test_utils" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0 (ded5c06cf 2025-12-08)" data-channel="1.92.0" data-search-js="search-d69d8955.js" data-stringdex-js="stringdex-c3e638e9.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MiniCore</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../test_utils/index.html">test_<wbr>utils</a><span class="version">0.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Mini<wbr>Core</a></h2><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.RAW_SOURCE" title="RAW_SOURCE">RAW_SOURCE</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.available_flags" title="available_flags">available_flags</a></li><li><a href="#method.from_flags" title="from_flags">from_flags</a></li><li><a href="#method.source_code" title="source_code">source_code</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-MiniCore" title="Debug">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-MiniCore" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-MiniCore" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-MiniCore" title="Send">Send</a></li><li><a href="#impl-Sync-for-MiniCore" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-MiniCore" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-MiniCore" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Instrument-for-T" title="Instrument">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send+%2B+Sync%3E-for-T" title="IntoBox&#60;dyn Any + Send + Sync&#62;">IntoBox&#60;dyn Any + Send + Sync&#62;</a></li><li><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send%3E-for-T" title="IntoBox&#60;dyn Any + Send&#62;">IntoBox&#60;dyn Any + Send&#62;</a></li><li><a href="#impl-IntoBox%3Cdyn+Any%3E-for-T" title="IntoBox&#60;dyn Any&#62;">IntoBox&#60;dyn Any&#62;</a></li><li><a href="#impl-IntoEither-for-T" title="IntoEither">IntoEither</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate test_<wbr>utils</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">test_utils</a></div><h1>Struct <span class="struct">Mini<wbr>Core</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/test_utils/fixture.rs.html#146-149">Source</a> </span></div><pre class="rust item-decl"><code>pub struct MiniCore { <span class="comment">/* private fields */</span> }</code></pre><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MiniCore" class="impl"><a class="src rightside" href="../src/test_utils/fixture.rs.html#355-528">Source</a><a href="#impl-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section></summary><div class="impl-items"><section id="associatedconstant.RAW_SOURCE" class="associatedconstant"><a class="src rightside" href="../src/test_utils/fixture.rs.html#356">Source</a><h4 class="code-header">pub const <a href="#associatedconstant.RAW_SOURCE" class="constant">RAW_SOURCE</a>: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.str.html">str</a> = &quot;//! This is a fixture we use for tests that need lang items.\n//!\n//! We want to include the minimal subset of core for each test, so this file\n//! supports \&quot;conditional compilation\&quot;. Tests use the following syntax to include minicore:\n//!\n//! //- minicore: flag1, flag2\n//!\n//! We then strip all the code marked with other flags.\n//!\n//! Available flags:\n//! add:\n//! asm:\n//! assert:\n//! as_mut: sized\n//! as_ref: sized\n//! async_fn: fn, tuple, future, copy\n//! bool_impl: option, fn\n//! builtin_impls:\n//! borrow: sized\n//! borrow_mut: borrow\n//! cell: copy, drop\n//! clone: sized\n//! coerce_pointee: derive, sized, unsize, coerce_unsized, dispatch_from_dyn\n//! coerce_unsized: unsize\n//! concat:\n//! copy: clone\n//! default: sized\n//! deref_mut: deref\n//! deref: sized\n//! derive:\n//! discriminant:\n//! drop: sized\n//! env: option\n//! eq: sized\n//! error: fmt\n//! fmt: option, result, transmute, coerce_unsized, copy, clone, derive\n//! fmt_before_1_93_0: fmt\n//! fmt_before_1_89_0: fmt_before_1_93_0\n//! fn: sized, tuple\n//! from: sized, result\n//! future: pin\n//! coroutine: pin\n//! dispatch_from_dyn: unsize, pin\n//! hash: sized\n//! include:\n//! index: sized\n//! infallible:\n//! int_impl: size_of, transmute\n//! iterator: option\n//! iterators: iterator, fn\n//! manually_drop: drop\n//! non_null:\n//! non_zero:\n//! option: panic\n//! ord: eq, option\n//! panic: fmt\n//! phantom_data:\n//! pin:\n//! pointee: copy, send, sync, ord, hash, unpin, phantom_data\n//! range:\n//! receiver: deref\n//! result:\n//! send: sized\n//! size_of: sized\n//! sized:\n//! slice:\n//! str:\n//! sync: sized\n//! transmute:\n//! try: infallible\n//! tuple:\n//! unary_ops:\n//! unpin: sized\n//! unsize: sized\n//! write: fmt\n//! todo: panic\n//! unimplemented: panic\n//! column:\n//! addr_of:\n//! offset_of:\n\n#![rustc_coherence_is_core]\n\npub mod marker {\n // region:sized\n #[lang = \&quot;pointee_sized\&quot;]\n #[fundamental]\n #[rustc_specialization_trait]\n #[rustc_coinductive]\n pub trait PointeeSized {}\n\n #[lang = \&quot;meta_sized\&quot;]\n #[fundamental]\n #[rustc_specialization_trait]\n #[rustc_coinductive]\n pub trait MetaSized: PointeeSized {}\n\n #[lang = \&quot;sized\&quot;]\n #[fundamental]\n #[rustc_specialization_trait]\n #[rustc_coinductive]\n pub trait Sized: MetaSized {}\n // endregion:sized\n\n // region:send\n pub unsafe auto trait Send {}\n\n impl&lt;T: PointeeSized&gt; !Send for *const T {}\n impl&lt;T: PointeeSized&gt; !Send for *mut T {}\n // region:sync\n unsafe impl&lt;T: Sync + PointeeSized&gt; Send for &amp;T {}\n unsafe impl&lt;T: Send + PointeeSized&gt; Send for &amp;mut T {}\n // endregion:sync\n // endregion:send\n\n // region:sync\n pub unsafe auto trait Sync {}\n\n impl&lt;T: PointeeSized&gt; !Sync for *const T {}\n impl&lt;T: PointeeSized&gt; !Sync for *mut T {}\n // endregion:sync\n\n // region:unsize\n #[lang = \&quot;unsize\&quot;]\n pub trait Unsize&lt;T: PointeeSized&gt;: PointeeSized {}\n // endregion:unsize\n\n // region:unpin\n #[lang = \&quot;unpin\&quot;]\n pub auto trait Unpin {}\n // endregion:unpin\n\n // region:copy\n #[lang = \&quot;copy\&quot;]\n pub trait Copy: Clone {}\n // region:derive\n #[rustc_builtin_macro]\n pub macro Copy($item:item) {}\n // endregion:derive\n\n mod copy_impls {\n use super::{Copy, PointeeSized};\n\n macro_rules! impl_copy {\n ($($t:ty)*) =&gt; {\n $(\n impl Copy for $t {}\n )*\n }\n }\n\n impl_copy! {\n usize u8 u16 u32 u64 u128\n isize i8 i16 i32 i64 i128\n f16 f32 f64 f128\n bool char\n }\n\n impl&lt;T: PointeeSized&gt; Copy for *const T {}\n impl&lt;T: PointeeSized&gt; Copy for *mut T {}\n impl&lt;T: PointeeSized&gt; Copy for &amp;T {}\n impl Copy for ! {}\n }\n // endregion:copy\n\n // region:tuple\n #[lang = \&quot;tuple_trait\&quot;]\n pub trait Tuple {}\n // endregion:tuple\n\n // region:phantom_data\n #[lang = \&quot;phantom_data\&quot;]\n pub struct PhantomData&lt;T: PointeeSized&gt;;\n\n // region:clone\n impl&lt;T: PointeeSized&gt; Clone for PhantomData&lt;T&gt; {\n fn clone(&amp;self) -&gt; Self { Self }\n }\n // endregion:clone\n\n // region:copy\n impl&lt;T: PointeeSized&gt; Copy for PhantomData&lt;T&gt; {}\n // endregion:copy\n\n // endregion:phantom_data\n\n // region:discriminant\n #[lang = \&quot;discriminant_kind\&quot;]\n pub trait DiscriminantKind {\n #[lang = \&quot;discriminant_type\&quot;]\n type Discriminant;\n }\n // endregion:discriminant\n\n // region:coerce_pointee\n #[rustc_builtin_macro(CoercePointee, attributes(pointee))]\n #[allow_internal_unstable(dispatch_from_dyn, coerce_unsized, unsize)]\n pub macro CoercePointee($item:item) {\n /* compiler built-in */\n }\n // endregion:coerce_pointee\n}\n\n// region:default\npub mod default {\n pub trait Default: Sized {\n fn default() -&gt; Self;\n }\n // region:derive\n #[rustc_builtin_macro(Default, attributes(default))]\n pub macro Default($item:item) {}\n // endregion:derive\n\n // region:builtin_impls\n macro_rules! impl_default {\n ($v:literal; $($t:ty)*) =&gt; {\n $(\n impl Default for $t {\n fn default() -&gt; Self {\n $v\n }\n }\n )*\n }\n }\n\n impl_default! {\n 0; usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128\n }\n impl_default! {\n 0.0; f16 f32 f64 f128\n }\n // endregion:builtin_impls\n}\n// endregion:default\n\n// region:hash\npub mod hash {\n use crate::marker::PointeeSized;\n\n pub trait Hasher {}\n\n pub trait Hash: PointeeSized {\n fn hash&lt;H: Hasher&gt;(&amp;self, state: &amp;mut H);\n }\n\n // region:derive\n pub(crate) mod derive {\n #[rustc_builtin_macro]\n pub macro Hash($item:item) {}\n }\n pub use derive::Hash;\n // endregion:derive\n}\n// endregion:hash\n\n// region:cell\npub mod cell {\n use crate::marker::PointeeSized;\n use crate::mem;\n\n #[lang = \&quot;unsafe_cell\&quot;]\n pub struct UnsafeCell&lt;T: PointeeSized&gt; {\n value: T,\n }\n\n impl&lt;T&gt; UnsafeCell&lt;T&gt; {\n pub const fn new(value: T) -&gt; UnsafeCell&lt;T&gt; {\n UnsafeCell { value }\n }\n\n pub const fn get(&amp;self) -&gt; *mut T {\n self as *const UnsafeCell&lt;T&gt; as *const T as *mut T\n }\n }\n\n pub struct Cell&lt;T: PointeeSized&gt; {\n value: UnsafeCell&lt;T&gt;,\n }\n\n impl&lt;T&gt; Cell&lt;T&gt; {\n pub const fn new(value: T) -&gt; Cell&lt;T&gt; {\n Cell { value: UnsafeCell::new(value) }\n }\n\n pub fn set(&amp;self, val: T) {\n let old = self.replace(val);\n mem::drop(old);\n }\n\n pub fn replace(&amp;self, val: T) -&gt; T {\n mem::replace(unsafe { &amp;mut *self.value.get() }, val)\n }\n }\n\n impl&lt;T: Copy&gt; Cell&lt;T&gt; {\n pub fn get(&amp;self) -&gt; T {\n unsafe { *self.value.get() }\n }\n }\n}\n// endregion:cell\n\n// region:clone\npub mod clone {\n #[lang = \&quot;clone\&quot;]\n pub trait Clone: Sized {\n fn clone(&amp;self) -&gt; Self;\n }\n\n impl&lt;T&gt; Clone for &amp;T {\n fn clone(&amp;self) -&gt; Self {\n *self\n }\n }\n\n // region:builtin_impls\n macro_rules! impl_clone {\n ($($t:ty)*) =&gt; {\n $(\n impl const Clone for $t {\n fn clone(&amp;self) -&gt; Self {\n *self\n }\n }\n )*\n }\n }\n\n impl_clone! {\n usize u8 u16 u32 u64 u128\n isize i8 i16 i32 i64 i128\n f16 f32 f64 f128\n bool char\n }\n\n impl Clone for ! {\n fn clone(&amp;self) {\n *self\n }\n }\n\n impl&lt;T: Clone&gt; Clone for [T; 0] {\n fn clone(&amp;self) -&gt; Self {\n []\n }\n }\n\n impl&lt;T: Clone&gt; Clone for [T; 1] {\n fn clone(&amp;self) -&gt; Self {\n [self[0].clone()]\n }\n }\n // endregion:builtin_impls\n\n // region:derive\n #[rustc_builtin_macro]\n pub macro Clone($item:item) {}\n // endregion:derive\n}\n// endregion:clone\n\npub mod convert {\n // region:from\n pub trait From&lt;T&gt;: Sized {\n fn from(_: T) -&gt; Self;\n }\n pub trait Into&lt;T&gt;: Sized {\n fn into(self) -&gt; T;\n }\n\n impl&lt;T, U&gt; Into&lt;U&gt; for T\n where\n U: From&lt;T&gt;,\n {\n fn into(self) -&gt; U {\n U::from(self)\n }\n }\n\n impl&lt;T&gt; From&lt;T&gt; for T {\n fn from(t: T) -&gt; T {\n t\n }\n }\n\n pub trait TryFrom&lt;T&gt;: Sized {\n type Error;\n fn try_from(value: T) -&gt; Result&lt;Self, Self::Error&gt;;\n }\n pub trait TryInto&lt;T&gt;: Sized {\n type Error;\n fn try_into(self) -&gt; Result&lt;T, Self::Error&gt;;\n }\n\n impl&lt;T, U&gt; TryInto&lt;U&gt; for T\n where\n U: TryFrom&lt;T&gt;,\n {\n type Error = U::Error;\n fn try_into(self) -&gt; Result&lt;U, U::Error&gt; {\n U::try_from(self)\n }\n }\n // endregion:from\n\n // region:as_ref\n pub trait AsRef&lt;T: crate::marker::PointeeSized&gt;: crate::marker::PointeeSized {\n fn as_ref(&amp;self) -&gt; &amp;T;\n }\n // endregion:as_ref\n // region:as_mut\n pub trait AsMut&lt;T: crate::marker::PointeeSized&gt;: crate::marker::PointeeSized {\n fn as_mut(&amp;mut self) -&gt; &amp;mut T;\n }\n // endregion:as_mut\n // region:infallible\n pub enum Infallible {}\n // endregion:infallible\n}\n\npub mod borrow {\n // region:borrow\n pub trait Borrow&lt;Borrowed: ?Sized&gt; {\n fn borrow(&amp;self) -&gt; &amp;Borrowed;\n }\n // endregion:borrow\n\n // region:borrow_mut\n pub trait BorrowMut&lt;Borrowed: ?Sized&gt;: Borrow&lt;Borrowed&gt; {\n fn borrow_mut(&amp;mut self) -&gt; &amp;mut Borrowed;\n }\n // endregion:borrow_mut\n}\n\npub mod mem {\n // region:manually_drop\n use crate::marker::PointeeSized;\n\n #[lang = \&quot;manually_drop\&quot;]\n #[repr(transparent)]\n pub struct ManuallyDrop&lt;T: PointeeSized&gt; {\n value: T,\n }\n\n impl&lt;T&gt; ManuallyDrop&lt;T&gt; {\n pub const fn new(value: T) -&gt; ManuallyDrop&lt;T&gt; {\n ManuallyDrop { value }\n }\n }\n\n // region:deref\n impl&lt;T: PointeeSized&gt; crate::ops::Deref for ManuallyDrop&lt;T&gt; {\n type Target = T;\n fn deref(&amp;self) -&gt; &amp;T {\n &amp;self.value\n }\n }\n // endregion:deref\n\n // endregion:manually_drop\n\n // region:drop\n pub fn drop&lt;T&gt;(_x: T) {}\n pub const fn replace&lt;T&gt;(dest: &amp;mut T, src: T) -&gt; T {\n unsafe {\n let result = crate::ptr::read(dest);\n crate::ptr::write(dest, src);\n result\n }\n }\n // endregion:drop\n\n // region:transmute\n #[rustc_intrinsic]\n pub fn transmute&lt;Src, Dst&gt;(src: Src) -&gt; Dst;\n // endregion:transmute\n\n // region:size_of\n #[rustc_intrinsic]\n pub fn size_of&lt;T&gt;() -&gt; usize;\n // endregion:size_of\n\n // region:discriminant\n use crate::marker::DiscriminantKind;\n pub struct Discriminant&lt;T&gt;(&lt;T as DiscriminantKind&gt;::Discriminant);\n // endregion:discriminant\n\n // region:offset_of\n pub macro offset_of($Container:ty, $($fields:expr)+ $(,)?) {\n // The `{}` is for better error messages\n {builtin # offset_of($Container, $($fields)+)}\n }\n // endregion:offset_of\n}\n\npub mod ptr {\n // region:drop\n #[lang = \&quot;drop_in_place\&quot;]\n pub unsafe fn drop_in_place&lt;T: crate::marker::PointeeSized&gt;(to_drop: *mut T) {\n unsafe { drop_in_place(to_drop) }\n }\n pub const unsafe fn read&lt;T&gt;(src: *const T) -&gt; T {\n unsafe { *src }\n }\n pub const unsafe fn write&lt;T&gt;(dst: *mut T, src: T) {\n unsafe {\n *dst = src;\n }\n }\n // endregion:drop\n\n // region:pointee\n #[lang = \&quot;pointee_trait\&quot;]\n #[rustc_deny_explicit_impl(implement_via_object = false)]\n pub trait Pointee: crate::marker::PointeeSized {\n #[lang = \&quot;metadata_type\&quot;]\n type Metadata: Copy + Send + Sync + Ord + Hash + Unpin;\n }\n\n #[lang = \&quot;dyn_metadata\&quot;]\n pub struct DynMetadata&lt;Dyn: PointeeSized&gt; {\n _phantom: crate::marker::PhantomData&lt;Dyn&gt;,\n }\n\n pub const fn metadata&lt;T: PointeeSized&gt;(ptr: *const T) -&gt; &lt;T as Pointee&gt;::Metadata {\n loop {}\n }\n\n // endregion:pointee\n // region:non_null\n #[rustc_layout_scalar_valid_range_start(1)]\n #[rustc_nonnull_optimization_guaranteed]\n pub struct NonNull&lt;T: crate::marker::PointeeSized&gt; {\n pointer: *const T,\n }\n // region:coerce_unsized\n impl&lt;T: crate::marker::PointeeSized, U: crate::marker::PointeeSized&gt;\n crate::ops::CoerceUnsized&lt;NonNull&lt;U&gt;&gt; for NonNull&lt;T&gt;\n where\n T: crate::marker::Unsize&lt;U&gt;,\n {\n }\n // endregion:coerce_unsized\n // endregion:non_null\n\n // region:addr_of\n #[rustc_macro_transparency = \&quot;semitransparent\&quot;]\n pub macro addr_of($place:expr) {\n &amp;raw const $place\n }\n #[rustc_macro_transparency = \&quot;semitransparent\&quot;]\n pub macro addr_of_mut($place:expr) {\n &amp;raw mut $place\n }\n // endregion:addr_of\n}\n\npub mod ops {\n // region:coerce_unsized\n mod unsize {\n use crate::marker::{PointeeSized, Unsize};\n\n #[lang = \&quot;coerce_unsized\&quot;]\n pub trait CoerceUnsized&lt;T&gt; {}\n\n impl&lt;\&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;&amp;\&#39;a mut U&gt; for &amp;\&#39;a mut T {}\n impl&lt;\&#39;a, \&#39;b: \&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;&amp;\&#39;a U&gt; for &amp;\&#39;b mut T {}\n impl&lt;\&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;*mut U&gt; for &amp;\&#39;a mut T {}\n impl&lt;\&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;*const U&gt; for &amp;\&#39;a mut T {}\n\n impl&lt;\&#39;a, \&#39;b: \&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;&amp;\&#39;a U&gt; for &amp;\&#39;b T {}\n impl&lt;\&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;*const U&gt; for &amp;\&#39;a T {}\n\n impl&lt;T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;*mut U&gt; for *mut T {}\n impl&lt;T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;*const U&gt; for *mut T {}\n impl&lt;T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; CoerceUnsized&lt;*const U&gt; for *const T {}\n }\n pub use self::unsize::CoerceUnsized;\n // endregion:coerce_unsized\n\n // region:deref\n mod deref {\n use crate::marker::PointeeSized;\n\n #[lang = \&quot;deref\&quot;]\n pub trait Deref: PointeeSized {\n #[lang = \&quot;deref_target\&quot;]\n type Target: ?Sized;\n fn deref(&amp;self) -&gt; &amp;Self::Target;\n }\n\n impl&lt;T: PointeeSized&gt; Deref for &amp;T {\n type Target = T;\n fn deref(&amp;self) -&gt; &amp;T {\n *self\n }\n }\n impl&lt;T: PointeeSized&gt; Deref for &amp;mut T {\n type Target = T;\n fn deref(&amp;self) -&gt; &amp;T {\n *self\n }\n }\n // region:deref_mut\n #[lang = \&quot;deref_mut\&quot;]\n pub trait DerefMut: Deref + PointeeSized {\n fn deref_mut(&amp;mut self) -&gt; &amp;mut Self::Target;\n }\n // endregion:deref_mut\n\n // region:receiver\n #[lang = \&quot;receiver\&quot;]\n pub trait Receiver: PointeeSized {\n #[lang = \&quot;receiver_target\&quot;]\n type Target: ?Sized;\n }\n\n impl&lt;P: PointeeSized, T: PointeeSized&gt; Receiver for P\n where\n P: Deref&lt;Target = T&gt;,\n {\n type Target = T;\n }\n // endregion:receiver\n }\n pub use self::deref::{\n Deref,\n DerefMut, // :deref_mut\n Receiver, // :receiver\n };\n // endregion:deref\n\n // region:drop\n #[lang = \&quot;drop\&quot;]\n pub trait Drop {\n fn drop(&amp;mut self);\n }\n // endregion:drop\n\n // region:index\n mod index {\n #[lang = \&quot;index\&quot;]\n pub trait Index&lt;Idx: ?Sized&gt; {\n type Output: ?Sized;\n fn index(&amp;self, index: Idx) -&gt; &amp;Self::Output;\n }\n #[lang = \&quot;index_mut\&quot;]\n pub trait IndexMut&lt;Idx: ?Sized&gt;: Index&lt;Idx&gt; {\n fn index_mut(&amp;mut self, index: Idx) -&gt; &amp;mut Self::Output;\n }\n\n // region:slice\n impl&lt;T, I&gt; Index&lt;I&gt; for [T]\n where\n I: SliceIndex&lt;[T]&gt;,\n {\n type Output = I::Output;\n fn index(&amp;self, _index: I) -&gt; &amp;I::Output {\n loop {}\n }\n }\n impl&lt;T, I&gt; IndexMut&lt;I&gt; for [T]\n where\n I: SliceIndex&lt;[T]&gt;,\n {\n fn index_mut(&amp;mut self, _index: I) -&gt; &amp;mut I::Output {\n loop {}\n }\n }\n\n impl&lt;T, I, const N: usize&gt; Index&lt;I&gt; for [T; N]\n where\n I: SliceIndex&lt;[T]&gt;,\n {\n type Output = I::Output;\n fn index(&amp;self, _index: I) -&gt; &amp;I::Output {\n loop {}\n }\n }\n impl&lt;T, I, const N: usize&gt; IndexMut&lt;I&gt; for [T; N]\n where\n I: SliceIndex&lt;[T]&gt;,\n {\n fn index_mut(&amp;mut self, _index: I) -&gt; &amp;mut I::Output {\n loop {}\n }\n }\n\n pub unsafe trait SliceIndex&lt;T: ?Sized&gt; {\n type Output: ?Sized;\n }\n unsafe impl&lt;T&gt; SliceIndex&lt;[T]&gt; for usize {\n type Output = T;\n }\n // endregion:slice\n }\n pub use self::index::{Index, IndexMut};\n // endregion:index\n\n // region:range\n mod range {\n #[lang = \&quot;RangeFull\&quot;]\n pub struct RangeFull;\n\n #[lang = \&quot;Range\&quot;]\n pub struct Range&lt;Idx&gt; {\n pub start: Idx,\n pub end: Idx,\n }\n\n #[lang = \&quot;RangeFrom\&quot;]\n pub struct RangeFrom&lt;Idx&gt; {\n pub start: Idx,\n }\n\n #[lang = \&quot;RangeTo\&quot;]\n pub struct RangeTo&lt;Idx&gt; {\n pub end: Idx,\n }\n\n #[lang = \&quot;RangeInclusive\&quot;]\n pub struct RangeInclusive&lt;Idx&gt; {\n pub(crate) start: Idx,\n pub(crate) end: Idx,\n pub(crate) exhausted: bool,\n }\n\n #[lang = \&quot;RangeToInclusive\&quot;]\n pub struct RangeToInclusive&lt;Idx&gt; {\n pub end: Idx,\n }\n }\n pub use self::range::{Range, RangeFrom, RangeFull, RangeTo};\n pub use self::range::{RangeInclusive, RangeToInclusive};\n // endregion:range\n\n // region:fn\n mod function {\n use crate::marker::Tuple;\n\n #[lang = \&quot;fn\&quot;]\n #[fundamental]\n #[rustc_paren_sugar]\n pub trait Fn&lt;Args: Tuple&gt;: FnMut&lt;Args&gt; {\n extern \&quot;rust-call\&quot; fn call(&amp;self, args: Args) -&gt; Self::Output;\n }\n\n #[lang = \&quot;fn_mut\&quot;]\n #[fundamental]\n #[rustc_paren_sugar]\n pub trait FnMut&lt;Args: Tuple&gt;: FnOnce&lt;Args&gt; {\n extern \&quot;rust-call\&quot; fn call_mut(&amp;mut self, args: Args) -&gt; Self::Output;\n }\n\n #[lang = \&quot;fn_once\&quot;]\n #[fundamental]\n #[rustc_paren_sugar]\n pub trait FnOnce&lt;Args: Tuple&gt; {\n #[lang = \&quot;fn_once_output\&quot;]\n type Output;\n extern \&quot;rust-call\&quot; fn call_once(self, args: Args) -&gt; Self::Output;\n }\n\n mod impls {\n use crate::marker::Tuple;\n\n #[stable(feature = \&quot;rust1\&quot;, since = \&quot;1.0.0\&quot;)]\n #[rustc_const_unstable(feature = \&quot;const_fn_trait_ref_impls\&quot;, issue = \&quot;101803\&quot;)]\n impl&lt;A: Tuple, F: ?Sized&gt; const Fn&lt;A&gt; for &amp;F\n where\n F: [const] Fn&lt;A&gt;,\n {\n extern \&quot;rust-call\&quot; fn call(&amp;self, args: A) -&gt; F::Output {\n (**self).call(args)\n }\n }\n\n #[stable(feature = \&quot;rust1\&quot;, since = \&quot;1.0.0\&quot;)]\n #[rustc_const_unstable(feature = \&quot;const_fn_trait_ref_impls\&quot;, issue = \&quot;101803\&quot;)]\n impl&lt;A: Tuple, F: ?Sized&gt; const FnMut&lt;A&gt; for &amp;F\n where\n F: [const] Fn&lt;A&gt;,\n {\n extern \&quot;rust-call\&quot; fn call_mut(&amp;mut self, args: A) -&gt; F::Output {\n (**self).call(args)\n }\n }\n\n #[stable(feature = \&quot;rust1\&quot;, since = \&quot;1.0.0\&quot;)]\n #[rustc_const_unstable(feature = \&quot;const_fn_trait_ref_impls\&quot;, issue = \&quot;101803\&quot;)]\n impl&lt;A: Tuple, F: ?Sized&gt; const FnOnce&lt;A&gt; for &amp;F\n where\n F: [const] Fn&lt;A&gt;,\n {\n type Output = F::Output;\n\n extern \&quot;rust-call\&quot; fn call_once(self, args: A) -&gt; F::Output {\n (*self).call(args)\n }\n }\n\n #[stable(feature = \&quot;rust1\&quot;, since = \&quot;1.0.0\&quot;)]\n #[rustc_const_unstable(feature = \&quot;const_fn_trait_ref_impls\&quot;, issue = \&quot;101803\&quot;)]\n impl&lt;A: Tuple, F: ?Sized&gt; const FnMut&lt;A&gt; for &amp;mut F\n where\n F: [const] FnMut&lt;A&gt;,\n {\n extern \&quot;rust-call\&quot; fn call_mut(&amp;mut self, args: A) -&gt; F::Output {\n (*self).call_mut(args)\n }\n }\n\n #[stable(feature = \&quot;rust1\&quot;, since = \&quot;1.0.0\&quot;)]\n #[rustc_const_unstable(feature = \&quot;const_fn_trait_ref_impls\&quot;, issue = \&quot;101803\&quot;)]\n impl&lt;A: Tuple, F: ?Sized&gt; const FnOnce&lt;A&gt; for &amp;mut F\n where\n F: [const] FnMut&lt;A&gt;,\n {\n type Output = F::Output;\n extern \&quot;rust-call\&quot; fn call_once(self, args: A) -&gt; F::Output {\n (*self).call_mut(args)\n }\n }\n }\n }\n pub use self::function::{Fn, FnMut, FnOnce};\n // endregion:fn\n\n // region:async_fn\n mod async_function {\n use crate::{future::Future, marker::Tuple};\n\n #[lang = \&quot;async_fn\&quot;]\n #[fundamental]\n #[rustc_paren_sugar]\n pub trait AsyncFn&lt;Args: Tuple&gt;: AsyncFnMut&lt;Args&gt; {\n extern \&quot;rust-call\&quot; fn async_call(&amp;self, args: Args) -&gt; Self::CallRefFuture&lt;\&#39;_&gt;;\n }\n\n #[lang = \&quot;async_fn_mut\&quot;]\n #[fundamental]\n #[rustc_paren_sugar]\n pub trait AsyncFnMut&lt;Args: Tuple&gt;: AsyncFnOnce&lt;Args&gt; {\n #[lang = \&quot;call_ref_future\&quot;]\n type CallRefFuture&lt;\&#39;a&gt;: Future&lt;Output = Self::Output&gt;\n where\n Self: \&#39;a;\n extern \&quot;rust-call\&quot; fn async_call_mut(&amp;mut self, args: Args) -&gt; Self::CallRefFuture&lt;\&#39;_&gt;;\n }\n\n #[lang = \&quot;async_fn_once\&quot;]\n #[fundamental]\n #[rustc_paren_sugar]\n pub trait AsyncFnOnce&lt;Args: Tuple&gt; {\n #[lang = \&quot;async_fn_once_output\&quot;]\n type Output;\n #[lang = \&quot;call_once_future\&quot;]\n type CallOnceFuture: Future&lt;Output = Self::Output&gt;;\n extern \&quot;rust-call\&quot; fn async_call_once(self, args: Args) -&gt; Self::CallOnceFuture;\n }\n\n mod impls {\n use super::{AsyncFn, AsyncFnMut, AsyncFnOnce};\n use crate::marker::Tuple;\n\n impl&lt;A: Tuple, F: ?Sized&gt; AsyncFn&lt;A&gt; for &amp;F\n where\n F: AsyncFn&lt;A&gt;,\n {\n extern \&quot;rust-call\&quot; fn async_call(&amp;self, args: A) -&gt; Self::CallRefFuture&lt;\&#39;_&gt; {\n F::async_call(*self, args)\n }\n }\n\n impl&lt;A: Tuple, F: ?Sized&gt; AsyncFnMut&lt;A&gt; for &amp;F\n where\n F: AsyncFn&lt;A&gt;,\n {\n type CallRefFuture&lt;\&#39;a&gt;\n = F::CallRefFuture&lt;\&#39;a&gt;\n where\n Self: \&#39;a;\n\n extern \&quot;rust-call\&quot; fn async_call_mut(\n &amp;mut self,\n args: A,\n ) -&gt; Self::CallRefFuture&lt;\&#39;_&gt; {\n F::async_call(*self, args)\n }\n }\n\n impl&lt;\&#39;a, A: Tuple, F: ?Sized&gt; AsyncFnOnce&lt;A&gt; for &amp;\&#39;a F\n where\n F: AsyncFn&lt;A&gt;,\n {\n type Output = F::Output;\n type CallOnceFuture = F::CallRefFuture&lt;\&#39;a&gt;;\n\n extern \&quot;rust-call\&quot; fn async_call_once(self, args: A) -&gt; Self::CallOnceFuture {\n F::async_call(self, args)\n }\n }\n\n impl&lt;A: Tuple, F: ?Sized&gt; AsyncFnMut&lt;A&gt; for &amp;mut F\n where\n F: AsyncFnMut&lt;A&gt;,\n {\n type CallRefFuture&lt;\&#39;a&gt;\n = F::CallRefFuture&lt;\&#39;a&gt;\n where\n Self: \&#39;a;\n\n extern \&quot;rust-call\&quot; fn async_call_mut(\n &amp;mut self,\n args: A,\n ) -&gt; Self::CallRefFuture&lt;\&#39;_&gt; {\n F::async_call_mut(*self, args)\n }\n }\n\n impl&lt;\&#39;a, A: Tuple, F: ?Sized&gt; AsyncFnOnce&lt;A&gt; for &amp;\&#39;a mut F\n where\n F: AsyncFnMut&lt;A&gt;,\n {\n type Output = F::Output;\n type CallOnceFuture = F::CallRefFuture&lt;\&#39;a&gt;;\n\n extern \&quot;rust-call\&quot; fn async_call_once(self, args: A) -&gt; Self::CallOnceFuture {\n F::async_call_mut(self, args)\n }\n }\n }\n }\n pub use self::async_function::{AsyncFn, AsyncFnMut, AsyncFnOnce};\n // endregion:async_fn\n\n // region:try\n mod try_ {\n use crate::convert::Infallible;\n\n pub enum ControlFlow&lt;B, C = ()&gt; {\n #[lang = \&quot;Continue\&quot;]\n Continue(C),\n #[lang = \&quot;Break\&quot;]\n Break(B),\n }\n pub trait FromResidual&lt;R = &lt;Self as Try&gt;::Residual&gt; {\n #[lang = \&quot;from_residual\&quot;]\n fn from_residual(residual: R) -&gt; Self;\n }\n #[lang = \&quot;Try\&quot;]\n pub trait Try: FromResidual&lt;Self::Residual&gt; {\n type Output;\n type Residual;\n #[lang = \&quot;from_output\&quot;]\n fn from_output(output: Self::Output) -&gt; Self;\n #[lang = \&quot;branch\&quot;]\n fn branch(self) -&gt; ControlFlow&lt;Self::Residual, Self::Output&gt;;\n }\n\n impl&lt;B, C&gt; Try for ControlFlow&lt;B, C&gt; {\n type Output = C;\n type Residual = ControlFlow&lt;B, Infallible&gt;;\n fn from_output(output: Self::Output) -&gt; Self {\n ControlFlow::Continue(output)\n }\n fn branch(self) -&gt; ControlFlow&lt;Self::Residual, Self::Output&gt; {\n match self {\n ControlFlow::Continue(x) =&gt; ControlFlow::Continue(x),\n ControlFlow::Break(x) =&gt; ControlFlow::Break(ControlFlow::Break(x)),\n }\n }\n }\n\n impl&lt;B, C&gt; FromResidual for ControlFlow&lt;B, C&gt; {\n fn from_residual(residual: ControlFlow&lt;B, Infallible&gt;) -&gt; Self {\n match residual {\n ControlFlow::Break(b) =&gt; ControlFlow::Break(b),\n ControlFlow::Continue(_) =&gt; loop {},\n }\n }\n }\n // region:option\n impl&lt;T&gt; Try for Option&lt;T&gt; {\n type Output = T;\n type Residual = Option&lt;Infallible&gt;;\n fn from_output(output: Self::Output) -&gt; Self {\n Some(output)\n }\n fn branch(self) -&gt; ControlFlow&lt;Self::Residual, Self::Output&gt; {\n match self {\n Some(x) =&gt; ControlFlow::Continue(x),\n None =&gt; ControlFlow::Break(None),\n }\n }\n }\n\n impl&lt;T&gt; FromResidual for Option&lt;T&gt; {\n fn from_residual(x: Option&lt;Infallible&gt;) -&gt; Self {\n match x {\n None =&gt; None,\n Some(_) =&gt; loop {},\n }\n }\n }\n // endregion:option\n // region:result\n // region:from\n use crate::convert::From;\n\n impl&lt;T, E&gt; Try for Result&lt;T, E&gt; {\n type Output = T;\n type Residual = Result&lt;Infallible, E&gt;;\n\n fn from_output(output: Self::Output) -&gt; Self {\n Ok(output)\n }\n\n fn branch(self) -&gt; ControlFlow&lt;Self::Residual, Self::Output&gt; {\n match self {\n Ok(v) =&gt; ControlFlow::Continue(v),\n Err(e) =&gt; ControlFlow::Break(Err(e)),\n }\n }\n }\n\n impl&lt;T, E, F: From&lt;E&gt;&gt; FromResidual&lt;Result&lt;Infallible, E&gt;&gt; for Result&lt;T, F&gt; {\n fn from_residual(residual: Result&lt;Infallible, E&gt;) -&gt; Self {\n match residual {\n Err(e) =&gt; Err(F::from(e)),\n Ok(_) =&gt; loop {},\n }\n }\n }\n // endregion:from\n // endregion:result\n }\n pub use self::try_::{ControlFlow, FromResidual, Try};\n // endregion:try\n\n // region:add\n #[lang = \&quot;add\&quot;]\n pub trait Add&lt;Rhs = Self&gt; {\n type Output;\n fn add(self, rhs: Rhs) -&gt; Self::Output;\n }\n\n #[lang = \&quot;add_assign\&quot;]\n pub const trait AddAssign&lt;Rhs = Self&gt; {\n fn add_assign(&amp;mut self, rhs: Rhs);\n }\n\n // region:builtin_impls\n macro_rules! add_impl {\n ($($t:ty)*) =&gt; ($(\n impl const Add for $t {\n type Output = $t;\n fn add(self, other: $t) -&gt; $t { self + other }\n }\n impl AddAssign for $t {\n fn add_assign(&amp;mut self, other: $t) { *self += other; }\n }\n )*)\n }\n\n add_impl! { usize u8 u16 u32 u64 u128 isize i8 i16 i32 i64 i128 f16 f32 f64 f128 }\n // endregion:builtin_impls\n // endregion:add\n\n // region:unary_ops\n #[lang = \&quot;not\&quot;]\n pub const trait Not {\n type Output;\n\n #[must_use]\n fn not(self) -&gt; Self::Output;\n }\n\n #[lang = \&quot;neg\&quot;]\n pub const trait Neg {\n type Output;\n\n #[must_use = \&quot;this returns the result of the operation, without modifying the original\&quot;]\n fn neg(self) -&gt; Self::Output;\n }\n // endregion:unary_ops\n\n // region:coroutine\n mod coroutine {\n use crate::pin::Pin;\n\n #[lang = \&quot;coroutine\&quot;]\n pub trait Coroutine&lt;R = ()&gt; {\n #[lang = \&quot;coroutine_yield\&quot;]\n type Yield;\n #[lang = \&quot;coroutine_return\&quot;]\n type Return;\n fn resume(self: Pin&lt;&amp;mut Self&gt;, arg: R) -&gt; CoroutineState&lt;Self::Yield, Self::Return&gt;;\n }\n\n #[lang = \&quot;coroutine_state\&quot;]\n pub enum CoroutineState&lt;Y, R&gt; {\n Yielded(Y),\n Complete(R),\n }\n }\n pub use self::coroutine::{Coroutine, CoroutineState};\n // endregion:coroutine\n\n // region:dispatch_from_dyn\n mod dispatch_from_dyn {\n use crate::marker::{PointeeSized, Unsize};\n\n #[lang = \&quot;dispatch_from_dyn\&quot;]\n pub trait DispatchFromDyn&lt;T&gt; {}\n\n impl&lt;\&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; DispatchFromDyn&lt;&amp;\&#39;a U&gt; for &amp;\&#39;a T {}\n\n impl&lt;\&#39;a, T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; DispatchFromDyn&lt;&amp;\&#39;a mut U&gt; for &amp;\&#39;a mut T {}\n\n impl&lt;T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; DispatchFromDyn&lt;*const U&gt; for *const T {}\n\n impl&lt;T: PointeeSized + Unsize&lt;U&gt;, U: PointeeSized&gt; DispatchFromDyn&lt;*mut U&gt; for *mut T {}\n }\n pub use self::dispatch_from_dyn::DispatchFromDyn;\n // endregion:dispatch_from_dyn\n}\n\n// region:eq\npub mod cmp {\n use crate::marker::PointeeSized;\n\n #[lang = \&quot;eq\&quot;]\n pub trait PartialEq&lt;Rhs: PointeeSized = Self&gt;: PointeeSized {\n fn eq(&amp;self, other: &amp;Rhs) -&gt; bool;\n fn ne(&amp;self, other: &amp;Rhs) -&gt; bool {\n !self.eq(other)\n }\n }\n\n pub trait Eq: PartialEq&lt;Self&gt; + PointeeSized {}\n\n // region:builtin_impls\n impl PartialEq for () {\n fn eq(&amp;self, other: &amp;()) -&gt; bool { true }\n }\n // endregion:builtin_impls\n\n // region:derive\n #[rustc_builtin_macro]\n pub macro PartialEq($item:item) {}\n #[rustc_builtin_macro]\n pub macro Eq($item:item) {}\n // endregion:derive\n\n // region:ord\n #[lang = \&quot;partial_ord\&quot;]\n pub trait PartialOrd&lt;Rhs: PointeeSized = Self&gt;: PartialEq&lt;Rhs&gt; + PointeeSized {\n fn partial_cmp(&amp;self, other: &amp;Rhs) -&gt; Option&lt;Ordering&gt;;\n }\n\n pub trait Ord: Eq + PartialOrd&lt;Self&gt; + PointeeSized {\n fn cmp(&amp;self, other: &amp;Self) -&gt; Ordering;\n }\n\n pub enum Ordering {\n Less = -1,\n Equal = 0,\n Greater = 1,\n }\n\n // region:derive\n #[rustc_builtin_macro]\n pub macro PartialOrd($item:item) {}\n #[rustc_builtin_macro]\n pub macro Ord($item:item) {}\n // endregion:derive\n\n // endregion:ord\n}\n// endregion:eq\n\n// region:fmt\npub mod fmt {\n use crate::marker::PointeeSized;\n\n pub struct Error;\n pub type Result = crate::result::Result&lt;(), Error&gt;;\n pub struct Formatter&lt;\&#39;a&gt;(&amp;\&#39;a ());\n pub struct DebugTuple;\n pub struct DebugStruct;\n impl Formatter&lt;\&#39;_&gt; {\n pub fn debug_tuple(&amp;mut self, _name: &amp;str) -&gt; DebugTuple {\n DebugTuple\n }\n\n pub fn debug_struct(&amp;mut self, _name: &amp;str) -&gt; DebugStruct {\n DebugStruct\n }\n }\n\n impl DebugTuple {\n pub fn field(&amp;mut self, _value: &amp;dyn Debug) -&gt; &amp;mut Self {\n self\n }\n\n pub fn finish(&amp;mut self) -&gt; Result {\n Ok(())\n }\n }\n\n impl DebugStruct {\n pub fn field(&amp;mut self, _name: &amp;str, _value: &amp;dyn Debug) -&gt; &amp;mut Self {\n self\n }\n\n pub fn finish(&amp;mut self) -&gt; Result {\n Ok(())\n }\n }\n\n pub trait Debug: PointeeSized {\n fn fmt(&amp;self, f: &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result;\n }\n pub trait Display: PointeeSized {\n fn fmt(&amp;self, f: &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result;\n }\n\n mod rt {\n use super::*;\n\n extern \&quot;C\&quot; {\n type Opaque;\n }\n\n #[derive(Copy, Clone)]\n #[lang = \&quot;format_argument\&quot;]\n pub struct Argument&lt;\&#39;a&gt; {\n value: &amp;\&#39;a Opaque,\n formatter: fn(&amp;Opaque, &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result,\n }\n\n impl&lt;\&#39;a&gt; Argument&lt;\&#39;a&gt; {\n pub fn new&lt;\&#39;b, T&gt;(x: &amp;\&#39;b T, f: fn(&amp;T, &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result) -&gt; Argument&lt;\&#39;b&gt; {\n use crate::mem::transmute;\n unsafe { Argument { formatter: transmute(f), value: transmute(x) } }\n }\n\n pub fn new_display&lt;\&#39;b, T: crate::fmt::Display&gt;(x: &amp;\&#39;b T) -&gt; Argument&lt;\&#39;_&gt; {\n Self::new(x, crate::fmt::Display::fmt)\n }\n }\n\n #[lang = \&quot;format_alignment\&quot;]\n pub enum Alignment {\n Left,\n Right,\n Center,\n Unknown,\n }\n\n // region:fmt_before_1_93_0\n #[lang = \&quot;format_count\&quot;]\n pub enum Count {\n Is(usize),\n Param(usize),\n Implied,\n }\n\n #[lang = \&quot;format_placeholder\&quot;]\n pub struct Placeholder {\n pub position: usize,\n pub fill: char,\n pub align: Alignment,\n pub flags: u32,\n pub precision: Count,\n pub width: Count,\n }\n\n impl Placeholder {\n pub const fn new(\n position: usize,\n fill: char,\n align: Alignment,\n flags: u32,\n precision: Count,\n width: Count,\n ) -&gt; Self {\n Placeholder { position, fill, align, flags, precision, width }\n }\n }\n // endregion:fmt_before_1_93_0\n\n // region:fmt_before_1_89_0\n #[lang = \&quot;format_unsafe_arg\&quot;]\n pub struct UnsafeArg {\n _private: (),\n }\n\n impl UnsafeArg {\n pub unsafe fn new() -&gt; Self {\n UnsafeArg { _private: () }\n }\n }\n // endregion:fmt_before_1_89_0\n }\n\n // region:fmt_before_1_93_0\n #[derive(Copy, Clone)]\n #[lang = \&quot;format_arguments\&quot;]\n pub struct Arguments&lt;\&#39;a&gt; {\n pieces: &amp;\&#39;a [&amp;\&#39;static str],\n fmt: Option&lt;&amp;\&#39;a [rt::Placeholder]&gt;,\n args: &amp;\&#39;a [rt::Argument&lt;\&#39;a&gt;],\n }\n\n impl&lt;\&#39;a&gt; Arguments&lt;\&#39;a&gt; {\n pub const fn new_v1(pieces: &amp;\&#39;a [&amp;\&#39;static str], args: &amp;\&#39;a [Argument&lt;\&#39;a&gt;]) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { pieces, fmt: None, args }\n }\n\n pub const fn new_const(pieces: &amp;\&#39;a [&amp;\&#39;static str]) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { pieces, fmt: None, args: &amp;[] }\n }\n\n // region:fmt_before_1_89_0\n pub fn new_v1_formatted(\n pieces: &amp;\&#39;a [&amp;\&#39;static str],\n args: &amp;\&#39;a [rt::Argument&lt;\&#39;a&gt;],\n fmt: &amp;\&#39;a [rt::Placeholder],\n _unsafe_arg: rt::UnsafeArg,\n ) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { pieces, fmt: Some(fmt), args }\n }\n // endregion:fmt_before_1_89_0\n\n // region:!fmt_before_1_89_0\n pub unsafe fn new_v1_formatted(\n pieces: &amp;\&#39;a [&amp;\&#39;static str],\n args: &amp;\&#39;a [rt::Argument&lt;\&#39;a&gt;],\n fmt: &amp;\&#39;a [rt::Placeholder],\n ) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { pieces, fmt: Some(fmt), args }\n }\n // endregion:!fmt_before_1_89_0\n\n pub fn from_str_nonconst(s: &amp;\&#39;static str) -&gt; Arguments&lt;\&#39;a&gt; {\n Self::from_str(s)\n }\n\n pub const fn from_str(s: &amp;\&#39;static str) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { pieces: &amp;[s], fmt: None, args: &amp;[] }\n }\n\n pub const fn as_str(&amp;self) -&gt; Option&lt;&amp;\&#39;static str&gt; {\n match (self.pieces, self.args) {\n ([], []) =&gt; Some(\&quot;\&quot;),\n ([s], []) =&gt; Some(s),\n _ =&gt; None,\n }\n }\n }\n // endregion:fmt_before_1_93_0\n\n // region:!fmt_before_1_93_0\n #[lang = \&quot;format_arguments\&quot;]\n #[derive(Copy, Clone)]\n pub struct Arguments&lt;\&#39;a&gt; {\n // This is a non-faithful representation of `core::fmt::Arguments`, because the real one\n // is too complex for minicore.\n message: Option&lt;&amp;\&#39;a str&gt;,\n }\n\n impl&lt;\&#39;a&gt; Arguments&lt;\&#39;a&gt; {\n pub unsafe fn new&lt;const N: usize, const M: usize&gt;(\n _template: &amp;\&#39;a [u8; N],\n _args: &amp;\&#39;a [rt::Argument&lt;\&#39;a&gt;; M],\n ) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { message: None }\n }\n\n pub fn from_str_nonconst(s: &amp;\&#39;static str) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { message: Some(s) }\n }\n\n pub const fn from_str(s: &amp;\&#39;static str) -&gt; Arguments&lt;\&#39;a&gt; {\n Arguments { message: Some(s) }\n }\n\n pub fn as_str(&amp;self) -&gt; Option&lt;&amp;\&#39;static str&gt; {\n match self.message {\n Some(s) =&gt; unsafe { Some(&amp;*(s as *const str)) },\n None =&gt; None,\n }\n }\n }\n // endregion:!fmt_before_1_93_0\n\n // region:derive\n pub(crate) mod derive {\n #[rustc_builtin_macro]\n pub macro Debug($item:item) {}\n }\n pub use derive::Debug;\n // endregion:derive\n\n // region:builtin_impls\n macro_rules! impl_debug {\n ($($t:ty)*) =&gt; {\n $(\n impl const Debug for $t {\n fn fmt(&amp;self, _f: &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result {\n Ok(())\n }\n }\n )*\n }\n }\n\n impl_debug! {\n usize u8 u16 u32 u64 u128\n isize i8 i16 i32 i64 i128\n f16 f32 f64 f128\n bool char\n }\n\n impl&lt;T: Debug&gt; Debug for [T] {\n fn fmt(&amp;self, _f: &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result {\n Ok(())\n }\n }\n\n impl&lt;T: Debug + PointeeSized&gt; Debug for &amp;T {\n fn fmt(&amp;self, f: &amp;mut Formatter&lt;\&#39;_&gt;) -&gt; Result {\n (&amp;**self).fmt(f)\n }\n }\n // endregion:builtin_impls\n}\n// endregion:fmt\n\n// region:slice\npub mod slice {\n #[lang = \&quot;slice\&quot;]\n impl&lt;T&gt; [T] {\n #[lang = \&quot;slice_len_fn\&quot;]\n pub fn len(&amp;self) -&gt; usize {\n loop {}\n }\n }\n}\n// endregion:slice\n\n// region:option\npub mod option {\n pub enum Option&lt;T&gt; {\n #[lang = \&quot;None\&quot;]\n None,\n #[lang = \&quot;Some\&quot;]\n Some(T),\n }\n\n // region:copy\n impl&lt;T: Copy&gt; Copy for Option&lt;T&gt; {}\n // endregion:copy\n\n impl&lt;T&gt; Option&lt;T&gt; {\n pub const fn unwrap(self) -&gt; T {\n match self {\n Some(val) =&gt; val,\n None =&gt; panic!(\&quot;called `Option::unwrap()` on a `None` value\&quot;),\n }\n }\n\n pub const fn as_ref(&amp;self) -&gt; Option&lt;&amp;T&gt; {\n match self {\n Some(x) =&gt; Some(x),\n None =&gt; None,\n }\n }\n\n pub fn and&lt;U&gt;(self, _optb: Option&lt;U&gt;) -&gt; Option&lt;U&gt; {\n loop {}\n }\n pub fn unwrap_or(self, default: T) -&gt; T {\n match self {\n Some(val) =&gt; val,\n None =&gt; default,\n }\n }\n // region:result\n pub const fn ok_or&lt;E&gt;(self, err: E) -&gt; Result&lt;T, E&gt; {\n match self {\n Some(v) =&gt; Ok(v),\n None =&gt; Err(err),\n }\n }\n // endregion:result\n // region:fn\n pub fn and_then&lt;U, F&gt;(self, _f: F) -&gt; Option&lt;U&gt;\n where\n F: FnOnce(T) -&gt; Option&lt;U&gt;,\n {\n loop {}\n }\n pub fn unwrap_or_else&lt;F&gt;(self, _f: F) -&gt; T\n where\n F: FnOnce() -&gt; T,\n {\n loop {}\n }\n pub fn map_or&lt;U, F&gt;(self, _default: U, _f: F) -&gt; U\n where\n F: FnOnce(T) -&gt; U,\n {\n loop {}\n }\n pub fn map_or_else&lt;U, D, F&gt;(self, _default: D, _f: F) -&gt; U\n where\n D: FnOnce() -&gt; U,\n F: FnOnce(T) -&gt; U,\n {\n loop {}\n }\n // endregion:fn\n }\n}\n// endregion:option\n\n// region:result\npub mod result {\n pub enum Result&lt;T, E&gt; {\n #[lang = \&quot;Ok\&quot;]\n Ok(T),\n #[lang = \&quot;Err\&quot;]\n Err(E),\n }\n}\n// endregion:result\n\n// region:pin\npub mod pin {\n #[lang = \&quot;pin\&quot;]\n #[fundamental]\n pub struct Pin&lt;P&gt; {\n pointer: P,\n }\n impl&lt;P&gt; Pin&lt;P&gt; {\n pub fn new(pointer: P) -&gt; Pin&lt;P&gt; {\n Pin { pointer }\n }\n }\n // region:deref\n impl&lt;P: crate::ops::Deref&gt; crate::ops::Deref for Pin&lt;P&gt; {\n type Target = P::Target;\n fn deref(&amp;self) -&gt; &amp;P::Target {\n loop {}\n }\n }\n // endregion:deref\n // region:dispatch_from_dyn\n impl&lt;Ptr, U&gt; crate::ops::DispatchFromDyn&lt;Pin&lt;U&gt;&gt; for Pin&lt;Ptr&gt; where\n Ptr: crate::ops::DispatchFromDyn&lt;U&gt;\n {\n }\n // endregion:dispatch_from_dyn\n // region:coerce_unsized\n impl&lt;Ptr, U&gt; crate::ops::CoerceUnsized&lt;Pin&lt;U&gt;&gt; for Pin&lt;Ptr&gt; where\n Ptr: crate::ops::CoerceUnsized&lt;U&gt;\n {\n }\n // endregion:coerce_unsized\n}\n// endregion:pin\n\n// region:future\npub mod future {\n use crate::{\n pin::Pin,\n task::{Context, Poll},\n };\n\n #[doc(notable_trait)]\n #[lang = \&quot;future_trait\&quot;]\n pub trait Future {\n #[lang = \&quot;future_output\&quot;]\n type Output;\n #[lang = \&quot;poll\&quot;]\n fn poll(self: Pin&lt;&amp;mut Self&gt;, cx: &amp;mut Context&lt;\&#39;_&gt;) -&gt; Poll&lt;Self::Output&gt;;\n }\n\n pub trait IntoFuture {\n type Output;\n type IntoFuture: Future&lt;Output = Self::Output&gt;;\n #[lang = \&quot;into_future\&quot;]\n fn into_future(self) -&gt; Self::IntoFuture;\n }\n\n impl&lt;F: Future&gt; IntoFuture for F {\n type Output = F::Output;\n type IntoFuture = F;\n fn into_future(self) -&gt; F {\n self\n }\n }\n}\npub mod task {\n pub enum Poll&lt;T&gt; {\n #[lang = \&quot;Ready\&quot;]\n Ready(T),\n #[lang = \&quot;Pending\&quot;]\n Pending,\n }\n\n pub struct Context&lt;\&#39;a&gt; {\n waker: &amp;\&#39;a (),\n }\n}\n// endregion:future\n\n// region:iterator\npub mod iter {\n // region:iterators\n mod adapters {\n pub struct Take&lt;I&gt; {\n iter: I,\n n: usize,\n }\n impl&lt;I&gt; Iterator for Take&lt;I&gt;\n where\n I: Iterator,\n {\n type Item = &lt;I as Iterator&gt;::Item;\n\n fn next(&amp;mut self) -&gt; Option&lt;&lt;I as Iterator&gt;::Item&gt; {\n loop {}\n }\n }\n\n pub struct FilterMap&lt;I, F&gt; {\n iter: I,\n f: F,\n }\n impl&lt;B, I: Iterator, F&gt; Iterator for FilterMap&lt;I, F&gt;\n where\n F: FnMut(I::Item) -&gt; Option&lt;B&gt;,\n {\n type Item = B;\n\n #[inline]\n fn next(&amp;mut self) -&gt; Option&lt;B&gt; {\n loop {}\n }\n }\n }\n pub use self::adapters::{FilterMap, Take};\n\n mod sources {\n mod repeat {\n pub fn repeat&lt;T&gt;(_elt: T) -&gt; Repeat&lt;T&gt; {\n loop {}\n }\n\n pub struct Repeat&lt;A&gt; {\n element: A,\n }\n\n impl&lt;A&gt; Iterator for Repeat&lt;A&gt; {\n type Item = A;\n\n fn next(&amp;mut self) -&gt; Option&lt;A&gt; {\n loop {}\n }\n }\n }\n pub use self::repeat::{Repeat, repeat};\n }\n pub use self::sources::{Repeat, repeat};\n // endregion:iterators\n\n mod traits {\n mod iterator {\n use crate::marker::PointeeSized;\n\n #[doc(notable_trait)]\n #[lang = \&quot;iterator\&quot;]\n pub trait Iterator {\n type Item;\n #[lang = \&quot;next\&quot;]\n fn next(&amp;mut self) -&gt; Option&lt;Self::Item&gt;;\n fn nth(&amp;mut self, n: usize) -&gt; Option&lt;Self::Item&gt; {\n loop {}\n }\n fn by_ref(&amp;mut self) -&gt; &amp;mut Self\n where\n Self: Sized,\n {\n self\n }\n // region:iterators\n fn take(self, n: usize) -&gt; crate::iter::Take&lt;Self&gt;\n where\n Self: Sized,\n {\n loop {}\n }\n fn filter_map&lt;B, F&gt;(self, _f: F) -&gt; crate::iter::FilterMap&lt;Self, F&gt;\n where\n Self: Sized,\n F: FnMut(Self::Item) -&gt; Option&lt;B&gt;,\n {\n loop {}\n }\n fn collect&lt;B: FromIterator&lt;Self::Item&gt;&gt;(self) -&gt; B\n where\n Self: Sized,\n {\n loop {}\n }\n // endregion:iterators\n }\n impl&lt;I: Iterator + PointeeSized&gt; Iterator for &amp;mut I {\n type Item = I::Item;\n fn next(&amp;mut self) -&gt; Option&lt;I::Item&gt; {\n (**self).next()\n }\n }\n }\n pub use self::iterator::Iterator;\n\n mod collect {\n pub trait IntoIterator {\n type Item;\n type IntoIter: Iterator&lt;Item = Self::Item&gt;;\n #[lang = \&quot;into_iter\&quot;]\n fn into_iter(self) -&gt; Self::IntoIter;\n }\n impl&lt;I: Iterator&gt; IntoIterator for I {\n type Item = I::Item;\n type IntoIter = I;\n fn into_iter(self) -&gt; I {\n self\n }\n }\n struct IndexRange {\n start: usize,\n end: usize,\n }\n pub struct IntoIter&lt;T, const N: usize&gt; {\n data: [T; N],\n range: IndexRange,\n }\n impl&lt;T, const N: usize&gt; IntoIterator for [T; N] {\n type Item = T;\n type IntoIter = IntoIter&lt;T, N&gt;;\n fn into_iter(self) -&gt; Self::IntoIter {\n IntoIter { data: self, range: IndexRange { start: 0, end: loop {} } }\n }\n }\n impl&lt;T, const N: usize&gt; Iterator for IntoIter&lt;T, N&gt; {\n type Item = T;\n fn next(&amp;mut self) -&gt; Option&lt;T&gt; {\n loop {}\n }\n }\n pub struct Iter&lt;\&#39;a, T&gt; {\n slice: &amp;\&#39;a [T],\n }\n impl&lt;\&#39;a, T&gt; IntoIterator for &amp;\&#39;a [T; N] {\n type Item = &amp;\&#39;a T;\n type IntoIter = Iter&lt;\&#39;a, T&gt;;\n fn into_iter(self) -&gt; Self::IntoIter {\n loop {}\n }\n }\n impl&lt;\&#39;a, T&gt; IntoIterator for &amp;\&#39;a [T] {\n type Item = &amp;\&#39;a T;\n type IntoIter = Iter&lt;\&#39;a, T&gt;;\n fn into_iter(self) -&gt; Self::IntoIter {\n loop {}\n }\n }\n impl&lt;\&#39;a, T&gt; Iterator for Iter&lt;\&#39;a, T&gt; {\n type Item = &amp;\&#39;a T;\n fn next(&amp;mut self) -&gt; Option&lt;T&gt; {\n loop {}\n }\n }\n pub trait FromIterator&lt;A&gt;: Sized {\n fn from_iter&lt;T: IntoIterator&lt;Item = A&gt;&gt;(iter: T) -&gt; Self;\n }\n }\n pub use self::collect::{IntoIterator, FromIterator};\n }\n pub use self::traits::{IntoIterator, FromIterator, Iterator};\n}\n// endregion:iterator\n\n// region:str\npub mod str {\n pub const unsafe fn from_utf8_unchecked(v: &amp;[u8]) -&gt; &amp;str {\n \&quot;\&quot;\n }\n pub trait FromStr: Sized {\n type Err;\n fn from_str(s: &amp;str) -&gt; Result&lt;Self, Self::Err&gt;;\n }\n impl str {\n pub fn parse&lt;F: FromStr&gt;(&amp;self) -&gt; Result&lt;F, F::Err&gt; {\n FromStr::from_str(self)\n }\n }\n}\n// endregion:str\n\n// region:panic\nmod panic {\n pub macro panic_2021 {\n () =&gt; ({\n const fn panic_cold_explicit() -&gt; ! {\n $crate::panicking::panic_explicit()\n }\n panic_cold_explicit();\n }),\n // Special-case the single-argument case for const_panic.\n (\&quot;{}\&quot;, $arg:expr $(,)?) =&gt; ({\n #[rustc_const_panic_str] // enforce a &amp;&amp;str argument in const-check and hook this by const-eval\n #[rustc_do_not_const_check] // hooked by const-eval\n const fn panic_cold_display&lt;T: $crate::fmt::Display&gt;(arg: &amp;T) -&gt; ! {\n $crate::panicking::panic_display(arg)\n }\n panic_cold_display(&amp;$arg);\n }),\n ($($t:tt)+) =&gt; ({\n // Semicolon to prevent temporaries inside the formatting machinery from\n // being considered alive in the caller after the panic_fmt call.\n $crate::panicking::panic_fmt($crate::const_format_args!($($t)+));\n }),\n }\n}\n\nmod panicking {\n #[rustc_const_panic_str] // enforce a &amp;&amp;str argument in const-check and hook this by const-eval\n pub const fn panic_display&lt;T: crate::fmt::Display&gt;(x: &amp;T) -&gt; ! {\n panic_fmt(crate::format_args!(\&quot;{}\&quot;, *x));\n }\n\n // This function is used instead of panic_fmt in const eval.\n #[lang = \&quot;const_panic_fmt\&quot;]\n pub const fn const_panic_fmt(fmt: crate::fmt::Arguments&lt;\&#39;_&gt;) -&gt; ! {\n if let Some(msg) = fmt.as_str() {\n // The panic_display function is hooked by const eval.\n panic_display(&amp;msg);\n } else {\n loop {}\n }\n }\n\n #[lang = \&quot;panic_fmt\&quot;] // needed for const-evaluated panics\n pub const fn panic_fmt(fmt: crate::fmt::Arguments&lt;\&#39;_&gt;) -&gt; ! {\n loop {}\n }\n\n #[lang = \&quot;panic\&quot;]\n pub const fn panic(expr: &amp;\&#39;static str) -&gt; ! {\n panic_fmt(crate::fmt::Arguments::from_str(expr))\n }\n}\n// endregion:panic\n\n// region:asm\nmod arch {\n #[rustc_builtin_macro]\n pub macro asm(\&quot;assembly template\&quot;, $(operands,)* $(options($(option),*))?) {\n /* compiler built-in */\n }\n #[rustc_builtin_macro]\n pub macro global_asm(\&quot;assembly template\&quot;, $(operands,)* $(options($(option),*))?) {\n /* compiler built-in */\n }\n}\n// endregion:asm\n\n#[macro_use]\nmod macros {\n // region:panic\n #[macro_export]\n #[rustc_builtin_macro(core_panic)]\n macro_rules! panic {\n ($($arg:tt)*) =&gt; {\n /* compiler built-in */\n };\n }\n // endregion:panic\n\n // region:write\n #[macro_export]\n macro_rules! write {\n ($dst:expr, $($arg:tt)*) =&gt; {\n $dst.write_fmt($crate::format_args!($($arg)*))\n };\n }\n\n #[macro_export]\n #[allow_internal_unstable(format_args_nl)]\n macro_rules! writeln {\n ($dst:expr $(,)?) =&gt; {\n $crate::write!($dst, \&quot;\\n\&quot;)\n };\n ($dst:expr, $($arg:tt)*) =&gt; {\n $dst.write_fmt($crate::format_args_nl!($($arg)*))\n };\n }\n // endregion:write\n\n // region:assert\n #[macro_export]\n #[rustc_builtin_macro]\n #[allow_internal_unstable(core_panic, edition_panic, generic_assert_internals)]\n macro_rules! assert {\n ($($arg:tt)*) =&gt; {\n /* compiler built-in */\n };\n }\n // endregion:assert\n\n // region:fmt\n #[allow_internal_unstable(fmt_internals, const_fmt_arguments_new)]\n #[macro_export]\n #[rustc_builtin_macro]\n macro_rules! const_format_args {\n ($fmt:expr) =&gt; {{ /* compiler built-in */ }};\n ($fmt:expr, $($args:tt)*) =&gt; {{ /* compiler built-in */ }};\n }\n\n #[allow_internal_unstable(fmt_internals)]\n #[macro_export]\n #[rustc_builtin_macro]\n macro_rules! format_args {\n ($fmt:expr) =&gt; {{ /* compiler built-in */ }};\n ($fmt:expr, $($args:tt)*) =&gt; {{ /* compiler built-in */ }};\n }\n\n #[allow_internal_unstable(fmt_internals)]\n #[macro_export]\n #[rustc_builtin_macro]\n macro_rules! format_args_nl {\n ($fmt:expr) =&gt; {{ /* compiler built-in */ }};\n ($fmt:expr, $($args:tt)*) =&gt; {{ /* compiler built-in */ }};\n }\n\n #[macro_export]\n macro_rules! print {\n ($($arg:tt)*) =&gt; {{\n $crate::io::_print($crate::format_args!($($arg)*));\n }};\n }\n\n // endregion:fmt\n\n // region:todo\n #[macro_export]\n #[allow_internal_unstable(core_panic)]\n macro_rules! todo {\n () =&gt; {\n $crate::panicking::panic(\&quot;not yet implemented\&quot;)\n };\n ($($arg:tt)+) =&gt; {\n $crate::panic!(\&quot;not yet implemented: {}\&quot;, $crate::format_args!($($arg)+))\n };\n }\n // endregion:todo\n\n // region:unimplemented\n #[macro_export]\n #[allow_internal_unstable(core_panic)]\n macro_rules! unimplemented {\n () =&gt; {\n $crate::panicking::panic(\&quot;not implemented\&quot;)\n };\n ($($arg:tt)+) =&gt; {\n $crate::panic!(\&quot;not implemented: {}\&quot;, $crate::format_args!($($arg)+))\n };\n }\n // endregion:unimplemented\n\n // region:derive\n pub(crate) mod builtin {\n #[rustc_builtin_macro]\n pub macro derive($item:item) {\n /* compiler built-in */\n }\n\n #[rustc_builtin_macro]\n pub macro derive_const($item:item) {\n /* compiler built-in */\n }\n }\n // endregion:derive\n\n // region:include\n #[rustc_builtin_macro]\n #[macro_export]\n macro_rules! include {\n ($file:expr $(,)?) =&gt; {{ /* compiler built-in */ }};\n }\n // endregion:include\n\n // region:concat\n #[rustc_builtin_macro]\n #[macro_export]\n macro_rules! concat {}\n // endregion:concat\n\n // region:env\n #[rustc_builtin_macro]\n #[macro_export]\n macro_rules! env {}\n #[rustc_builtin_macro]\n #[macro_export]\n macro_rules! option_env {}\n // endregion:env\n}\n\n// region:non_zero\npub mod num {\n #[repr(transparent)]\n #[rustc_layout_scalar_valid_range_start(1)]\n #[rustc_nonnull_optimization_guaranteed]\n pub struct NonZeroU8(u8);\n}\n// endregion:non_zero\n\n// region:bool_impl\n#[lang = \&quot;bool\&quot;]\nimpl bool {\n pub fn then_some&lt;T&gt;(self, t: T) -&gt; Option&lt;T&gt; {\n if self { Some(t) } else { None }\n }\n\n pub fn then&lt;T, F: FnOnce() -&gt; T&gt;(self, f: F) -&gt; Option&lt;T&gt; {\n if self { Some(f()) } else { None }\n }\n}\n// endregion:bool_impl\n\n// region:int_impl\nmacro_rules! impl_int {\n ($($t:ty)*) =&gt; {\n $(\n impl $t {\n pub const fn from_ne_bytes(bytes: [u8; size_of::&lt;Self&gt;()]) -&gt; Self {\n unsafe { mem::transmute(bytes) }\n }\n }\n )*\n }\n}\n\nimpl_int! {\n usize u8 u16 u32 u64 u128\n isize i8 i16 i32 i64 i128\n}\n// endregion:int_impl\n\n// region:error\npub mod error {\n #[rustc_has_incoherent_inherent_impls]\n pub trait Error: crate::fmt::Debug + crate::fmt::Display {\n fn source(&amp;self) -&gt; Option&lt;&amp;(dyn Error + \&#39;static)&gt; {\n None\n }\n }\n}\n// endregion:error\n\n// region:column\n#[rustc_builtin_macro]\n#[macro_export]\nmacro_rules! column {\n () =&gt; {};\n}\n// endregion:column\n\npub mod prelude {\n pub mod v1 {\n pub use crate::{\n clone::Clone, // :clone\n cmp::{Eq, PartialEq}, // :eq\n cmp::{Ord, PartialOrd}, // :ord\n convert::AsMut, // :as_mut\n convert::AsRef, // :as_ref\n convert::{From, Into, TryFrom, TryInto}, // :from\n default::Default, // :default\n iter::{IntoIterator, Iterator, FromIterator}, // :iterator\n macros::builtin::{derive, derive_const}, // :derive\n marker::Copy, // :copy\n marker::Send, // :send\n marker::Sized, // :sized\n marker::Sync, // :sync\n mem::drop, // :drop\n mem::size_of, // :size_of\n ops::Drop, // :drop\n ops::{AsyncFn, AsyncFnMut, AsyncFnOnce}, // :async_fn\n ops::{Fn, FnMut, FnOnce}, // :fn\n option::Option::{self, None, Some}, // :option\n panic, // :panic\n result::Result::{self, Err, Ok}, // :result\n str::FromStr, // :str\n fmt::derive::Debug, // :fmt, derive\n hash::derive::Hash, // :hash, derive\n };\n }\n\n pub mod rust_2015 {\n pub use super::v1::*;\n }\n\n pub mod rust_2018 {\n pub use super::v1::*;\n }\n\n pub mod rust_2021 {\n pub use super::v1::*;\n }\n\n pub mod rust_2024 {\n pub use super::v1::*;\n }\n}\n\n#[prelude_import]\n#[allow(unused)]\nuse prelude::v1::*;\n&quot;</h4></section><section id="method.from_flags" class="method"><a class="src rightside" href="../src/test_utils/fixture.rs.html#362-367">Source</a><h4 class="code-header">pub fn <a href="#method.from_flags" class="fn">from_flags</a>&lt;'a&gt;(flags: impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = &amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.str.html">str</a>&gt;) -&gt; Self</h4></section><section id="method.available_flags" class="method"><a class="src rightside" href="../src/test_utils/fixture.rs.html#389-396">Source</a><h4 class="code-header">pub fn <a href="#method.available_flags" class="fn">available_flags</a>(raw_source: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.str.html">str</a>) -&gt; impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a>&lt;Item = &amp;<a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.str.html">str</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.source_code" class="method"><a class="src rightside" href="../src/test_utils/fixture.rs.html#401-527">Source</a><h4 class="code-header">pub fn <a href="#method.source_code" class="fn">source_code</a>(self, raw_source: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.92.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class="docblock"><p>Strips parts of minicore.rs which are flagged by inactive flags.</p>
<p>This is probably over-engineered to support flags dependencies.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-MiniCore" class="impl"><a class="src rightside" href="../src/test_utils/fixture.rs.html#145">Source</a><a href="#impl-Debug-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/test_utils/fixture.rs.html#145">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.92.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.92.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.92.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-MiniCore" class="impl"><a href="#impl-Freeze-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section><section id="impl-RefUnwindSafe-for-MiniCore" class="impl"><a href="#impl-RefUnwindSafe-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section><section id="impl-Send-for-MiniCore" class="impl"><a href="#impl-Send-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section><section id="impl-Sync-for-MiniCore" class="impl"><a href="#impl-Sync-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section><section id="impl-Unpin-for-MiniCore" class="impl"><a href="#impl-Unpin-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section><section id="impl-UnwindSafe-for-MiniCore" class="impl"><a href="#impl-UnwindSafe-for-MiniCore" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.MiniCore.html" title="struct test_utils::MiniCore">MiniCore</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.92.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/borrow.rs.html#212">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/borrow.rs.html#214">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.92.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/borrow.rs.html#221">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/borrow.rs.html#222">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.92.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#785">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#788">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#767-769">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#777">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoBox%3Cdyn+Any%3E-for-T" class="impl"><a href="#impl-IntoBox%3Cdyn+Any%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; IntoBox&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt; for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_box" class="method trait-impl"><a href="#method.into_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_box</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.92.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert self into the appropriate boxed form.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoBox%3Cdyn+Any+%2B+Send%3E-for-T" class="impl"><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; IntoBox&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_box-1" class="method trait-impl"><a href="#method.into_box-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_box</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.92.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</h4></section></summary><div class='docblock'>Convert self into the appropriate boxed form.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoBox%3Cdyn+Any+%2B+Send+%2B+Sync%3E-for-T" class="impl"><a href="#impl-IntoBox%3Cdyn+Any+%2B+Send+%2B+Sync%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; IntoBox&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_box-2" class="method trait-impl"><a href="#method.into_box-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_box</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.92.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt;</h4></section></summary><div class='docblock'>Convert self into the appropriate boxed form.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoEither-for-T" class="impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#64">Source</a><a href="#impl-IntoEither-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html" title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_either" class="method trait-impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#29">Source</a><a href="#method.into_either" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either" class="fn">into_either</a>(self, into_left: <a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;</h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left</code> is <code>true</code>.
Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_either_with" class="method trait-impl"><a class="src rightside" href="https://docs.rs/either/1/src/either/into_either.rs.html#55-57">Source</a><a href="#method.into_either_with" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with" class="fn">into_either_with</a>&lt;F&gt;(self, into_left: F) -&gt; <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.92.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left(&amp;self)</code> returns <code>true</code>.
Converts <code>self</code> into a <a href="https://docs.rs/either/1/either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="https://docs.rs/either/1/either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#827-829">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#831">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.92.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#834">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.92.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#811-813">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#815">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.92.0/src/core/convert/mod.rs.html#818">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.92.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.92.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>