2022-10-20 07:52:30 +04:00
<!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 = "memory set structure, controls virtual-memory space" > < meta name = "keywords" content = "rust, rustlang, rust-lang, MemorySet" > < title > MemorySet in os::mm - Rust< / title > < link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "../../SourceSerif4-Regular.ttf.woff2" > < link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "../../FiraSans-Regular.woff2" > < link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "../../FiraSans-Medium.woff2" > < link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "../../SourceCodePro-Regular.ttf.woff2" > < link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "../../SourceSerif4-Bold.ttf.woff2" > < link rel = "preload" as = "font" type = "font/woff2" crossorigin href = "../../SourceCodePro-Semibold.ttf.woff2" > < link rel = "stylesheet" type = "text/css" href = "../../normalize.css" > < link rel = "stylesheet" type = "text/css" href = "../../rustdoc.css" id = "mainThemeStyle" > < link rel = "stylesheet" type = "text/css" href = "../../ayu.css" disabled > < link rel = "stylesheet" type = "text/css" href = "../../dark.css" disabled > < link rel = "stylesheet" type = "text/css" href = "../../light.css" id = "themeStyle" > < script id = "default-settings" > < / script > < script src = "../../storage.js" > < / script > < script defer src = "sidebar-items.js" > < / script > < script defer src = "../../main.js" > < / script > < noscript > < link rel = "stylesheet" href = "../../noscript.css" > < / noscript > < link rel = "alternate icon" type = "image/png" href = "../../favicon-16x16.png" > < link rel = "alternate icon" type = "image/png" href = "../../favicon-32x32.png" > < link rel = "icon" type = "image/svg+xml" href = "../../favicon.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] --> < nav class = "mobile-topbar" > < button class = "sidebar-menu-toggle" > ☰ < / button > < a class = "sidebar-logo" href = "../../os/index.html" > < div class = "logo-container" > < img class = "rust-logo" src = "../../rust-logo.svg" alt = "logo" > < / div > < / a > < h2 class = "location" > < / h2 > < / nav > < nav class = "sidebar" > < a class = "sidebar-logo" href = "../../os/index.html" > < div class = "logo-container" > < img class = "rust-logo" src = "../../rust-logo.svg" alt = "logo" > < / div > < / a > < h2 class = "location" > < a href = "#" > MemorySet< / a > < / h2 > < div class = "sidebar-elems" > < section > < div class = "block" > < h3 class = "sidebar-title" > < a href = "#fields" > Fields< / a > < / h3 > < ul > < li > < a href = "#structfield.areas" > areas< / a > < / li > < li > < a href = "#structfield.page_table" > page_table< / a > < / li > < / ul > < / div > < div class = "block" > < h3 class = "sidebar-title" > < a href = "#implementations" > Methods< / a > < / h3 > < ul > < li > < a href = "#method.activate" > activate< / a > < / li > < li > < a href = "#method.from_elf" > from_elf< / a > < / li > < li > < a href = "#method.from_existed_user" > from_existed_user< / a > < / li > < li > < a href = "#method.insert_framed_area" > insert_framed_area< / a > < / li > < li > < a href = "#method.map_trampoline" > map_trampoline< / a > < / li > < li > < a href = "#method.new_bare" > new_bare< / a > < / li > < li > < a href = "#method.new_kernel" > new_kernel< / a > < / li > < li > < a href = "#method.push" > push< / a > < / li > < li > < a href = "#method.recycle_data_pages" > recycle_data_pages< / a > < / li > < li > < a href = "#method.remove_area_with_start_vpn" > remove_area_with_start_vpn< / a > < / li > < li > < a href = "#method.token" > token< / a > < / li > < li > < a href = "#method.translate" > translate< / a > < / li > < / ul > < / div > < div class = "block" > < h3 class = "sidebar-title" > < a href = "#synthetic-implementations" > Auto Trait Implementations< / a > < / h3 > < ul > < li > < a href = "#impl-RefUnwindSafe-for-MemorySet" > RefUnwindSafe< / a > < / li > < li > < a href = "#impl-Send-for-MemorySet" > Send< / a > < / li > < li > < a href = "#impl-Sync-for-MemorySet" > Sync< / a > < / li > < li > < a href = "#impl-Unpin-for-MemorySet" > Unpin< / a > < / li > < li > < a href = "#impl-UnwindSafe-for-MemorySet" > UnwindSafe< / a > < / li > < / ul > < / div > < div class = "block" > < h3 class = "sidebar-title" > < a href = "#blanket-implementations" > Blanket Implementations< / a > < / h3 > < ul > < li > < a href = "#impl-Any-for-MemorySet" > Any< / a > < / li > < li > < a href = "#impl-Borrow%3CT%3E-for-MemorySet" > Borro
2022-04-24 06:49:23 +04:00
page_table: < a class = "struct" href = "page_table/struct.PageTable.html" title = "struct os::mm::page_table::PageTable" > PageTable< / a > ,
areas: < a class = "struct" href = "https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title = "struct alloc::vec::Vec" > Vec< / a > < < a class = "struct" href = "memory_set/struct.MapArea.html" title = "struct os::mm::memory_set::MapArea" > MapArea< / a > > ,
}< / code > < / pre > < / div > < details class = "rustdoc-toggle top-doc" open > < summary class = "hideme" > < span > Expand description< / span > < / summary > < div class = "docblock" > < p > memory set structure, controls virtual-memory space< / p >
2022-07-25 08:12:55 +04:00
< / div > < / details > < h2 id = "fields" class = "fields small-section-header" > Fields< a href = "#fields" class = "anchor" > < / a > < / h2 > < span id = "structfield.page_table" class = "structfield small-section-header" > < a href = "#structfield.page_table" class = "anchor field" > < / a > < code > page_table: < a class = "struct" href = "page_table/struct.PageTable.html" title = "struct os::mm::page_table::PageTable" > PageTable< / a > < / code > < / span > < span id = "structfield.areas" class = "structfield small-section-header" > < a href = "#structfield.areas" class = "anchor field" > < / a > < code > areas: < a class = "struct" href = "https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title = "struct alloc::vec::Vec" > Vec< / a > < < a class = "struct" href = "memory_set/struct.MapArea.html" title = "struct os::mm::memory_set::MapArea" > MapArea< / a > > < / code > < / span > < h2 id = "implementations" class = "small-section-header" > Implementations< a href = "#implementations" class = "anchor" > < / a > < / h2 > < div id = "implementations-list" > < details class = "rustdoc-toggle implementors-toggle" open > < summary > < section id = "impl-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#39-272" > source< / a > < / span > < a href = "#impl-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl < a class = "struct" href = "memory_set/struct.MemorySet.html" title = "struct os::mm::memory_set::MemorySet" > MemorySet< / a > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.new_bare" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#41-46" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.new_bare" class = "fnname" > new_bare< / a > () -> Self< / h4 > < / section > < / summary > < div class = "docblock" > < p > Create an empty < code > MemorySet< / code > < / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.token" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#48-50" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.token" class = "fnname" > token< / a > (& self) -> < a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.usize.html" > usize< / a > < / h4 > < / section > < / summary > < div class = "docblock" > < p > Get pagetable < code > root_ppn< / code > < / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.insert_framed_area" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#52-62" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.insert_framed_area" class = "fnname" > insert_framed_area< / a > (< br > & mut self,< br > start_va: < a class = "struct" href = "address/struct.VirtAddr.html" title = "struct os::mm::address::VirtAddr" > VirtAddr< / a > ,< br > end_va: < a class = "struct" href = "address/struct.VirtAddr.html" title = "struct os::mm::address::VirtAddr" > VirtAddr< / a > ,< br > permission: < a class = "struct" href = "memory_set/struct.MapPermission.html" title = "struct os::mm::memory_set::MapPermission" > MapPermission< / a > < br > )< / h4 > < / section > < / summary > < div class = "docblock" > < p > Assume that no conflicts.< / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.remove_area_with_start_vpn" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#64-74" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.remove_area_with_start_vpn" class = "fnname" > remove_area_with_start_vpn< / a > (& mut self, start_vpn: < a class = "struct" href = "address/struct.VirtPageNum.html" title = "struct os::mm::address::VirtPageNum" > VirtPageNum< / a > )< / h4 > < / section > < / summary > < div class = "docblock" > < p > Remove < code > MapArea< / code > that starts with < code > start_vpn< / code > < / p >
< / div > < / details > < section id = "method.push" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#75-81" > source< / a > < / span > < h4 class = "code-header" > fn < a href = "#method.push" class = "fnname" > push< / a > (& mut self, map_area: < a class = "struct" href = "memory_set/struct.MapArea.html" title = "struct os::mm::memory_set::MapArea" > MapArea< / a > , data: < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title = "enum core::option::Option" > Option< / a > < & [< a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.u8.html" > u8< / a > ]> )< / h4 > < / section > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.map_trampoline" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#83-89" > source< / a > < / span > < h4 class = "code-header" > fn < a href = "#method.map_trampoline" class = "fnname" > map_trampoline< / a > (& mut self)< / h4 > < / section > < / summary > < div class = "docblock" > < p > Mention that trampoline is not collected by areas.< / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.new_kernel" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#91-166" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.new_kernel" class = "fnname" > new_kernel< / a > () -> Self< / h4 > < / section > < / summary > < div class = "docblock" > < p > Without kernel stacks.< / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.from_elf" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#169-234" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.from_elf" class = "fnname" > from_elf< / a > (elf_data: & [< a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.u8.html" > u8< / a > ]) -> (Self, < a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.usize.html" > usize< / a > , < a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.usize.html" > usize< / a > )< / h4 > < / section > < / summary > < div class = "docblock" > < p > Include sections in elf and trampoline and TrapContext and user stack,
2022-04-24 06:49:23 +04:00
also returns user_sp and entry point.< / p >
2022-07-25 08:12:55 +04:00
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.from_existed_user" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#236-254" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.from_existed_user" class = "fnname" > from_existed_user< / a > (user_space: < a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.reference.html" > & < / a > Self) -> Self< / h4 > < / section > < / summary > < div class = "docblock" > < p > Clone a same < code > MemorySet< / code > < / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.activate" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#256-262" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.activate" class = "fnname" > activate< / a > (& self)< / h4 > < / section > < / summary > < div class = "docblock" > < p > Refresh TLB with < code > sfence.vma< / code > < / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.translate" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#264-266" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.translate" class = "fnname" > translate< / a > (& self, vpn: < a class = "struct" href = "address/struct.VirtPageNum.html" title = "struct os::mm::address::VirtPageNum" > VirtPageNum< / a > ) -> < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title = "enum core::option::Option" > Option< / a > < < a class = "struct" href = "page_table/struct.PageTableEntry.html" title = "struct os::mm::page_table::PageTableEntry" > PageTableEntry< / a > > < / h4 > < / section > < / summary > < div class = "docblock" > < p > Translate throuth pagetable< / p >
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.recycle_data_pages" class = "method has-srclink" > < span class = "rightside" > < a class = "srclink" href = "../../src/os/mm/memory_set.rs.html#268-271" > source< / a > < / span > < h4 class = "code-header" > pub fn < a href = "#method.recycle_data_pages" class = "fnname" > recycle_data_pages< / a > (& mut self)< / h4 > < / section > < / summary > < div class = "docblock" > < p > Remove all < code > MapArea< / code > < / p >
< / div > < / details > < / div > < / details > < / div > < h2 id = "synthetic-implementations" class = "small-section-header" > Auto Trait Implementations< a href = "#synthetic-implementations" class = "anchor" > < / a > < / h2 > < div id = "synthetic-implementations-list" > < section id = "impl-RefUnwindSafe-for-MemorySet" class = "impl has-srclink" > < a href = "#impl-RefUnwindSafe-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title = "trait core::panic::unwind_safe::RefUnwindSafe" > RefUnwindSafe< / a > for < a class = "struct" href = "memory_set/struct.MemorySet.html" title = "struct os::mm::memory_set::MemorySet" > MemorySet< / a > < / h3 > < / section > < section id = "impl-Send-for-MemorySet" class = "impl has-srclink" > < a href = "#impl-Send-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title = "trait core::marker::Send" > Send< / a > for < a class = "struct" href = "memory_set/struct.MemorySet.html" title = "struct os::mm::memory_set::MemorySet" > MemorySet< / a > < / h3 > < / section > < section id = "impl-Sync-for-MemorySet" class = "impl has-srclink" > < a href = "#impl-Sync-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title = "trait core::marker::Sync" > Sync< / a > for < a class = "struct" href = "memory_set/struct.MemorySet.html" title = "struct os::mm::memory_set::MemorySet" > MemorySet< / a > < / h3 > < / section > < section id = "impl-Unpin-for-MemorySet" class = "impl has-srclink" > < a href = "#impl-Unpin-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title = "trait core::marker::Unpin" > Unpin< / a > for < a class = "struct" href = "memory_set/struct.MemorySet.html" title = "struct os::mm::memory_set::MemorySet" > MemorySet< / a > < / h3 > < / section > < section id = "impl-UnwindSafe-for-MemorySet" class = "impl has-srclink" > < a href = "#impl-UnwindSafe-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title = "trait core::panic::unwind_safe::UnwindSafe" > UnwindSafe< / a > for < a class = "struct" href = "memory_set/struct.MemorySet.html" title = "struct os::mm::memory_set::MemorySet" > MemorySet< / a > < / h3 > < / section > < / div > < h2 id = "blanket-implementations" class = "small-section-header" > Blanket Implementations< a href = "#blanket-implementations" class = "anchor" > < / a > < / h2 > < div id = "blanket-implementations-list" > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-Any-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/any.rs.html#203" > source< / a > < / span > < a href = "#impl-Any-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title = "trait core::any::Any" > Any< / a > for T < span class = "where fmt-newline" > where< br > T: 'static + ?< a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title = "trait core::marker::Sized" > Sized< / a > , < / span > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.type_id" class = "method trait-impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/any.rs.html#204" > source< / a > < / span > < a href = "#method.type_id" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class = "fnname" > type_id< / a > (& self) -> < a class = "struct" href = "https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title = "struct core::any::TypeId" > TypeId< / a > < / h4 > < / section > < / summary > < div class = 'docblock' > < p > Gets the < code > TypeId< / code > of < code > self< / code > . < a href = "https://doc.rust-lang.org/
< / div > < / details > < / div > < / details > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-Borrow%3CT%3E-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#209" > source< / a > < / span > < a href = "#impl-Borrow%3CT%3E-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title = "trait core::borrow::Borrow" > Borrow< / a > < T> for T < span class = "where fmt-newline" > where< br > T: ?< a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title = "trait core::marker::Sized" > Sized< / a > , < / span > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.borrow" class = "method trait-impl has-srclink" > < span class = "rightside" > < span class = "since" title = "const unstable" > const: < a href = "https://github.com/rust-lang/rust/issues/91522" title = "Tracking issue for const_borrow" > unstable< / a > < / span > · < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211" > source< / a > < / span > < a href = "#method.borrow" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class = "fnname" > borrow< / a > (& self) -> < a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.reference.html" > & < / a > T< / h4 > < / section > < / summary > < div class = 'docblock' > < p > Immutably borrows from an owned value. < a href = "https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" > Read more< / a > < / p >
< / div > < / details > < / div > < / details > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-BorrowMut%3CT%3E-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218" > source< / a > < / span > < a href = "#impl-BorrowMut%3CT%3E-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title = "trait core::borrow::BorrowMut" > BorrowMut< / a > < T> for T < span class = "where fmt-newline" > where< br > T: ?< a class = "trait" href = "https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title = "trait core::marker::Sized" > Sized< / a > , < / span > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.borrow_mut" class = "method trait-impl has-srclink" > < span class = "rightside" > < span class = "since" title = "const unstable" > const: < a href = "https://github.com/rust-lang/rust/issues/91522" title = "Tracking issue for const_borrow" > unstable< / a > < / span > · < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219" > source< / a > < / span > < a href = "#method.borrow_mut" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class = "fnname" > borrow_mut< / a > (& mut self) -> < a class = "primitive" href = "https://doc.rust-lang.org/nightly/core/primitive.reference.html" > & mut < / a > T< / h4 > < / section > < / summary > < div class = 'docblock' > < p > Mutably borrows from an owned value. < a href = "https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" > Read more< / a > < / p >
< / div > < / details > < / div > < / details > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-From%3CT%3E-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#557" > source< / a > < / span > < a href = "#impl-From%3CT%3E-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title = "trait core::convert::From" > From< / a > < T> for T< / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.from" class = "method trait-impl has-srclink" > < span class = "rightside" > < span class = "since" title = "const unstable" > const: < a href = "https://github.com/rust-lang/rust/issues/88674" title = "Tracking issue for const_convert" > unstable< / a > < / span > · < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#559" > source< / a > < / span > < a href = "#method.from" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class = "fnname" > from< / a > (t: T) -> T< / h4 > < / section > < / summary > < div class = "docblock" > < p > Returns the argument unchanged.< / p >
< / div > < / details > < / div > < / details > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-Into%3CU%3E-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#541" > source< / a > < / span > < a href = "#impl-Into%3CU%3E-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T, U> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title = "trait core::convert::Into" > Into< / a > < U> for T < span class = "where fmt-newline" > where< br > U: < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title = "trait core::convert::From" > From< / a > < T> , < / span > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.into" class = "method trait-impl has-srclink" > < span class = "rightside" > < span class = "since" title = "const unstable" > const: < a href = "https://github.com/rust-lang/rust/issues/88674" title = "Tracking issue for const_convert" > unstable< / a > < / span > · < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#549" > source< / a > < / span > < a href = "#method.into" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class = "fnname" > into< / a > (self) -> U< / h4 > < / section > < / summary > < div class = "docblock" > < p > Calls < code > U::from(self)< / code > .< / p >
2022-04-24 06:49:23 +04:00
< p > That is, this conversion is whatever the implementation of
< code > < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title = "From" > From< / a > < T> for U< / code > chooses to do.< / p >
2022-10-20 07:52:30 +04:00
< / div > < / details > < / div > < / details > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-TryFrom%3CU%3E-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#598" > source< / a > < / span > < a href = "#impl-TryFrom%3CU%3E-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T, U> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title = "trait core::convert::TryFrom" > TryFrom< / a > < U> for T < span class = "where fmt-newline" > where< br > U: < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title = "trait core::convert::Into" > Into< / a > < T> , < / span > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle" open > < summary > < section id = "associatedtype.Error" class = "associatedtype trait-impl has-srclink" > < a href = "#associatedtype.Error" class = "anchor" > < / a > < h4 class = "code-header" > type < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class = "associatedtype" > Error< / a > = < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title = "enum core::convert::Infallible" > Infallible< / a > < / h4 > < / section > < / summary > < div class = 'docblock' > < p > The type returned in the event of a conversion error.< / p >
2022-04-24 06:49:23 +04:00
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.try_from" class = "method trait-impl has-srclink" > < span class = "rightside" > < span class = "since" title = "const unstable" > const: < a href = "https://github.com/rust-lang/rust/issues/88674" title = "Tracking issue for const_convert" > unstable< / a > < / span > · < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#604" > source< / a > < / span > < a href = "#method.try_from" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class = "fnname" > try_from< / a > (value: U) -> < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title = "enum core::result::Result" > Result< / a > < T, < T as < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title = "trait core::convert::TryFrom" > TryFrom< / a > < U> > ::< a class = "associatedtype" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title = "type core::convert::TryFrom::Error" > Error< / a > > < / h4 > < / section > < / summary > < div class = 'docblock' > < p > Performs the conversion.< / p >
2022-10-20 07:52:30 +04:00
< / div > < / details > < / div > < / details > < details class = "rustdoc-toggle implementors-toggle" > < summary > < section id = "impl-TryInto%3CU%3E-for-MemorySet" class = "impl has-srclink" > < span class = "rightside" > < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#583" > source< / a > < / span > < a href = "#impl-TryInto%3CU%3E-for-MemorySet" class = "anchor" > < / a > < h3 class = "code-header in-band" > impl< T, U> < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title = "trait core::convert::TryInto" > TryInto< / a > < U> for T < span class = "where fmt-newline" > where< br > U: < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title = "trait core::convert::TryFrom" > TryFrom< / a > < T> , < / span > < / h3 > < / section > < / summary > < div class = "impl-items" > < details class = "rustdoc-toggle" open > < summary > < section id = "associatedtype.Error-1" class = "associatedtype trait-impl has-srclink" > < a href = "#associatedtype.Error-1" class = "anchor" > < / a > < h4 class = "code-header" > type < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class = "associatedtype" > Error< / a > = < U as < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title = "trait core::convert::TryFrom" > TryFrom< / a > < T> > ::< a class = "associatedtype" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title = "type core::convert::TryFrom::Error" > Error< / a > < / h4 > < / section > < / summary > < div class = 'docblock' > < p > The type returned in the event of a conversion error.< / p >
2022-04-24 06:49:23 +04:00
< / div > < / details > < details class = "rustdoc-toggle method-toggle" open > < summary > < section id = "method.try_into" class = "method trait-impl has-srclink" > < span class = "rightside" > < span class = "since" title = "const unstable" > const: < a href = "https://github.com/rust-lang/rust/issues/88674" title = "Tracking issue for const_convert" > unstable< / a > < / span > · < a class = "srclink" href = "https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#589" > source< / a > < / span > < a href = "#method.try_into" class = "anchor" > < / a > < h4 class = "code-header" > fn < a href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class = "fnname" > try_into< / a > (self) -> < a class = "enum" href = "https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title = "enum core::result::Result" > Result< / a > < U, < U as < a class = "trait" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title = "trait core::convert::TryFrom" > TryFrom< / a > < T> > ::< a class = "associatedtype" href = "https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title = "type core::convert::TryFrom::Error" > Error< / a > > < / h4 > < / section > < / summary > < div class = 'docblock' > < p > Performs the conversion.< / p >
2022-10-20 07:52:30 +04:00
< / div > < / details > < / div > < / details > < / div > < / section > < / div > < / main > < div id = "rustdoc-vars" data-root-path = "../../" data-current-crate = "os" data-themes = "ayu,dark,light" data-resource-suffix = "" data-rustdoc-version = "1.64.0-nightly (f6f9d5e73 2022-08-04)" > < / div > < / body > < / html >