Files
guba-indicator/rust/target/debug/deps/libpin_utils-0a29d453a1ef8632.rmeta

53 lines
9.4 KiB
Plaintext
Raw Normal View History

rust
$#rustc 1.93.1 (01f6ddf75 2026-02-11)<29><02><05><11><><EFBFBD>GȬx<C8AC>92X<32>l-5bed970bceb2abc5<63><02>L<><4C><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>E,<07>R<EFBFBD><52>-3d16dd14375d91ab<61><01><02> core_reexport<72> stack_pin<69>pin_mut<75>
projection<EFBFBD><02>unsafe_unpinned<65><02><01><<3C><02>l<><01>|<7C> <04><00><00> Utilities for pinning<6E><02><1C> <0C> <0C>8<02>l<> <0C>7https://docs.rs/pin-utils/0.1.0<EFBFBD><00><>!<01><>:<02><0F><01><0F><02><0F><01><0F> <0F><0F><0F><><EFBFBD><02><1C> <0C> <0C>8<02>4<>t<>l<><02> =<3D>><3E>assert_matches<65>u<EFBFBD>@<40><01><02>%<25>B<EFBFBD><01><02>E<>D<EFBFBD><01><02>M<>F<EFBFBD><01><02>%<25>L<EFBFBD><01><02><1D>L<EFBFBD><01><02><1D>L<EFBFBD><01><02><1D>L<EFBFBD><01>num<75><1D>M<EFBFBD><01><02>%<25>M<EFBFBD><01> <02> U<>M<EFBFBD><01> mem<65><1D>M<EFBFBD><01> profiling<6E>M<EFBFBD>N<EFBFBD><01><02> <1D>N<EFBFBD><01><02>M<>O<EFBFBD><01>borrow<6F>5<EFBFBD>O<EFBFBD><01><02>-<2D>O<EFBFBD><01><02><1D>O<EFBFBD><01><02>=<3D>O<EFBFBD><01>>=<3D>O<EFBFBD><01>error<6F>-<2D>P<EFBFBD><01><02>-<2D>P<EFBFBD><01><02>
5<EFBFBD>P<EFBFBD><01><02> <1D>P<EFBFBD><01><02><1D>P<EFBFBD><01>#<02>-<2D>Q<EFBFBD><01>$ascii<69>-<2D>Q<EFBFBD><01>)<02>M<>Q<EFBFBD><01>)
async_iter<EFBFBD>U<EFBFBD>Q<EFBFBD><01>*bstr<74>%<25>R<EFBFBD><01>*cell<6C>%<25>R<EFBFBD><01>+<02>%<25>R<EFBFBD><01>/<02><1D>R<EFBFBD><01>1io<69><15>S<EFBFBD><01>2<02> %<25>S<EFBFBD><01>2net<65><1D>S<EFBFBD><01>N<02> 5<>S<EFBFBD><01>Qos<6F><15>S<EFBFBD><01>S<02> -<2D>S<EFBFBD><01>S<02> M<>S<EFBFBD><01>U<02> <1D>T<EFBFBD><01>U<02> <1D>T<EFBFBD><01>Urandom<6F>5<EFBFBD>U<EFBFBD><01>Wrange<67>-<2D>U<EFBFBD><01>W<02> 5<>U<EFBFBD><01>X<02>%<25>V<EFBFBD><01>Z unsafe_binder<65>m<EFBFBD>V<EFBFBD><01>]<02><1D>V<EFBFBD><01>]<02>%<25>V<EFBFBD><01>a<02>-<2D>V<EFBFBD><01>c<02><1D>W<EFBFBD><01>stime<6D>%<25>W<EFBFBD><01>zwtf8<66>%<25>W<EFBFBD><01>{unicode<64>=<3D>W<EFBFBD><01>|<02>5<>W<EFBFBD><01>|task<73>%<25>W<EFBFBD><01>}<02>-<2D>X<EFBFBD><01>~ primitive<76>M<EFBFBD>Y<EFBFBD><01><>arch<63>%<25>^<5E><01><><02>%<25>c<EFBFBD><01><><02> -<2D>[t<02>M<>
[u assert_ne<6E>M<EFBFBD>[v debug_assert<72>e<EFBFBD>S[ydebug_assert_eq<65>}<7D>[[zdebug_assert_ne<6E>}<7D>c[{matches<65>=<3D>}[}6-đ[~write<74>-<2D><>[writeln<6C>=<3D><>[<01><02>]<5D><>[<01> unimplemented<65>m<EFBFBD><6D>[<01>todo<64>%<25><>[<01><02>m<><6D>[<01><02>]<5D><>[<01><02><05><><EFBFBD>[<01><02>u<><75>[<01><02><1D><>[<01><02> U<><55>[<01><02>e<><65>[<01><02>5<><35>[<01><02> %<25><>[<01><02>5<><35>[<01><02>%<25><>[<01><02>M<><4D>[<01><02>]<5D><>[<01><02>m<><6D>[<01><02>
]€[<01><02><1D><>[<01><02>=<3D><>[<01><02>5<><35>[<01><02> U<><55>[<01><02>e<><65>[<01><02>U<>F<EFBFBD>x<02><15>I<EFBFBD><01><><02><1D>I<EFBFBD><01><><02><1D>I<EFBFBD><01><><02><1D>I<EFBFBD><01><><02> -<2D>I<EFBFBD><01><><02><15>I<EFBFBD><01><><02><1D>I<EFBFBD><01><><02><1D>I<EFBFBD><01><><02><1D>I<EFBFBD><01><><02>-<2D>I<EFBFBD><01><><02>%<25>K<EFBFBD><01><><02>%<25>K<EFBFBD><01><>assert_unsafe_precondition<6F>պ<19><01>impl_partial_eq<65>}<7D><08><01>*impl_partial_eq_ord<72><64><EFBFBD><0E><01>*impl_partial_eq_n<5F><6E><EFBFBD><17><01>*<02> e<><03><01>U$<24>l<>L<><00><><00> Pins a value on the stack.<2E><02>l#
# Example<6C>1<02>\5 ```rust<73><00>A # use pin_utils::pin_mut;<3B><00>_ # use core::pin::Pin;<3B><00>y # struct Foo {}<7D><00><>  let foo = Foo { /* ... */ };<3B><00><> pin_mut!(foo);<3B><00><> let _: Pin<&mut Foo> = foo;<3B><<3C> ```<60>&|<7C> <0C> <0C> <0C> <0C>, <0C> <0C> <0C>, <0C>8x<> <0C>& <0C>8<02>,<2C>$ <0C> <0C>, <0C> <0C> <0C>$ <0C>- <0C>*<14> <0C> <0C>, <0C> <0C> <0C>8<1C>8<1C>, <0C>8<01> <0C> <0C>, <0C>8<01> <0C>% <0C>+ <0C> <0C> <0C>8<02>,<2C> <0C> <0C>8
unused_mut<EFBFBD>T<>8<1C>8<1C>, <0C>8<01> <0C> <0C>8"4<> <0C> <0C> , <0C>8,<2C>'<14>8<01>l<>'<14>8<02> <1C>'<14>8Pin<69><1C>'<14>8<02> l<> <0C> <0C> <0C>8<1C>, <0C>8<01> <0C>% <0C> <0C>t<>T<><00><><00>*' A pinned projection of a struct field.<2E>+<02>d/ # Safety<74><<02><00>@C@ To make using this macro safe, three things need to be ensured:<3A><00><>NK - If the struct implements [`Drop`], the [`drop`] method is not allowed to<74><00><>" move the value of the field.<2E><00><>PM - If the struct wants to implement [`Unpin`], it has to do so conditionally:<3A><00><>OL The struct can only implement [`Unpin`] if the field's type is [`Unpin`].<2E><00><>/, - The struct must not be `#[repr(packed)]`.<2E><1C><02>l<><01><1C><02>\<5C><01><00><>! use pin_utils::unsafe_pinned;<3B>܋ use std::marker::Unpin;<3B><00><> use std::pin::Pin;<3B><1C><02><00><> struct Foo<T> {<7B><00><> field: T,<2C>,<2C> }<7D><1C><02><00><> impl<T> Foo<T> {<7B><00><>! unsafe_pinned!(field: T);<3B><1C><02><00><>*' fn baz(mut self: Pin<&mut Self>) {<7B><00><>OL let _: Pin<&mut T> = self.field(); // Pinned reference to the field<6C>L<> }<7D>,<2C><01>$<1C><02><00><>@= impl<T: Unpin> Unpin for Foo<T> {} // Conditional Unpin impl<70><<3C><01><1C><02><00><>JG Note: borrowing the field multiple times requires using `.as_mut()` to<74><00><> avoid consuming the `Pin`.<2E><1C><02><00><>" [`Unpin`]: core::marker::Unpin<69>Ě [`drop`]: Drop::drop<6F>&|<7C> <0C> <0C>  <0C> <0C> , <0C>8<02> <0C>& <0C>8<02><14>& <0C>, <0C>8t<> <0C>& <0C>8<02><14>*<14> <0C> <0C> + <0C>  <0C>  <0C> 8<02>,<2C>  <0C>  <0C> 8 unsafe_code<64>\<5C> 8 <14> , <0C> 8<02> <0C>  <0C> :'__a<5F>$<24>  <0C>  <0C>  <0C> 8$<24> & <0C> , <0C> 8,<2C> '<14> 8<01>l<> '<14> 8<02> <1C> '<14> 8<01><1C>  <0C>  <0C> :<01>*$<24> 8<1C> 8$<24>  <0C> (<14> , <0C> 8,<2C> '<14>
8<01>l<>
'<14>
8<02> <1C>
'<14>
8<01><1C>
 <0C>
 <0C>
:<01>*$<24>
8<1C>
, <0C>
8<01>) <0C>
 <0C>
 <0C>
 <0C> 8"4<>
 <0C>
 <0C>  , <0C>
8,<2C>
'<14>
8<01>l<>
'<14>
8<02> <1C>
'<14>
8<01><1C>
'<14>
8map_unchecked_mut<75><00><>
 <0C>  <0C>  8$<24> $ <0C>  <0C> 8<01> <0C>  <0C>  <0C> 8<1C> 8<01> <0C>  <0C> , <0C> 8<02> <0C> <00><><00><> -* An unpinned projection of a struct field.<2E><1C> <02>d<> <01><1C> <02><00><> JG This macro is unsafe because it creates a method that returns a normal<61><00><> OL non-pin reference to the struct field. It is up to the programmer to ensure<72><00><> HE that the contained value can be considered not pinned in the current<6E>d<> context.<2E><1C><02>l<><01><1C><02>\<5C><01><00><># use pin_utils::unsafe_unpinned;<3B><00><><01>#<1C><02>|<7C> struct Bar;<3B><00><> struct Foo {<7B><00><> field: Bar,<2C>,<2C><01>$<1C><02>t<> impl Foo {<7B><00><>%" unsafe_unpinned!(field: Bar);<3B><1C><02><00><>*<01>%<00><>LI let _: &mut Bar = self.field(); // Normal reference to the field<6C>L<><01>&,<2C><01>$<<3C><01><1C><02><00><>J<01>'<00><>  avoid consuming the [`Pin`].<2E><1C><02><00><> [`Pin`]: core::pin::Pin<69>&|<7C>. <0C> <0C> <0C> <0C> , <0C>8<02> <0C>& <0C>8<02><14>& <0C>, <0C>8<01>) <0C>& <0C>8<02><14>*<14> <0C> <0C>+ <0C> <0C> <0C>8<02>,<2C> <0C> <0C>8<01>*\<5C>8 <14>, <0C>8<02> <0C> <0C>:<01>*$<24> <0C> <0C> <0C>8$<24>& <0C>, <0C>8,<2C>'<14>8<01>l<>'<14>8<02> <1C>'<14>8<01><1C> <0C> <0C>:<01>*$<24>8<1C>8$<24> <0C>(<14> <0C>:<01>*$<24>8<1C>, <0C>8<01>) <0C> <0C> <0C>8"4<> <0C> <0C> <0C>8<1C>, <0C>8,<2C>'<14>8<01>l<>'<14>8<02> <1C>'<14>8<01><1C>'<14>8get_unchecked_mut<75><00><> <0C> <0C>8$<24> <0C>, <0C>8<02> <0C><02><02> <01><01>Unpin<69>
Drop::drop<6F>core::pin::Pin<69>core::marker::Unpin<69>Drop<6F><01> core::marker<65> core::pin<69><02><02><01><01>;®<01>;<01><><01>;<01>;®<01>;<01><01>;<01>;<02><01><02><01>;<01>;<01> <01>;<01>;<01>;<01>;<01>;<01>U<01><01><01><01><01><01><01><01><01><01><01><01><01> <01> <01> <01> <01><01><01><01>J<01>K<01>J<01>J<01>K<01><><01><>®<01> <20><>Q<EFBFBD>zW<7A><57><EFBFBD><EFBFBD><72>y8?Q<><04>/I؞<1A><><EFBFBD><04><> =J<><4A><EFBFBD>b<>a<ތbz"<12><><03><>m<EFBFBD><6D><02><04><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wd徸<64>$*<2A><><EFBFBD>-p?<00> <0B> (4'<0F>"<17>-<00> 0)))<29>,<00>  .l:<01><01><01><01> <0B> <0B> $0<0F><00>(<00>  *i<14><1A>&<00> (<0F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> m<00><00>"%<02> <00> <20><>Q<EFBFBD>zW<15><>Z<EFBFBD>`*<2A>o % ) J : _ <20>ODHT
<02><><00> <20><>Q<EFBFBD>zW<00><><EFBFBD><EFBFBD><72>y8?Q<><04><00>bz"<12><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>wd<>$*<2A><> <00><>m<EFBFBD><6D><02><00><04><> =J<>/I؞<1A><><00><>b<>a<<3C><00>+R 2\<5C><><EFBFBD><EFBFBD><02>NZo<5A>+R 2\<5C><><EFBFBD><EFBFBD><02>NZogC:\Users\dxzq\.cargo\registry\src\mirrors.ustc.edu.cn-38d0e5eb5da2abae\pin-utils-0.1.0\src\stack_pin.rs<72> <20><>a<EFBFBD>!<21><><EFBFBD>=u<>ݵ-C<><43><EFBFBD><EFBFBD>|}Y.<2E><><EFBFBD><1F>']p<><00><04> ! "5MD <18>E<EFBFBD>S<><53>s<EFBFBD>t<EFBFBD>svS hC:\Users\dxzq\.cargo\registry\src\mirrors.ustc.edu.cn-38d0e5eb5da2abae\pin-utils-0.1.0\src\projection.rs<72> <18><><EFBFBD>G<EFBFBD><47><EFBFBD><EFBFBD>h<><1C><>.<2E>=<3D> <0A>JZ<4A><5A>g<EFBFBD><1A>q]<00><14>d+ DO#QP0 ""+P
AK#B=D(
. KPI  $&+M
K!BQ
<00><>W睚A6<41><15><><EFBFBD>bJ}aC:\Users\dxzq\.cargo\registry\src\mirrors.ustc.edu.cn-38d0e5eb5da2abae\pin-utils-0.1.0\src\lib.rs<72> <20><><EFBFBD><EFBFBD><13><>6<EFBFBD>(<28><><EFBFBD><EFBFBD><07><>٥<EFBFBD>5<EFBFBD>6p<36>HE)ׄ<><D784><00><02> 6;  ő2<C591> c<>-<15>uE7f4o<00>!@"K#x86_64-pc-windows-msvc<76><63>͔<EFBFBD><CD94><EFBFBD><EFBFBD><EFBFBD><EFBFBD><08>u<EFBFBD> pin_utils<6C>-0a29d453a1ef8632<33><32> <20><>Q<EFBFBD>zW<02>GR<00><

P 






N<03>rust-end-file