pub enum TypeRequest {
Aggregate {
fields: Vec<AggregateField>,
},
StructPointer {
size: usize,
pointee: TypeId,
},
Array {
elem: TypeId,
count: usize,
},
List {
elem: TypeId,
bound: Option<usize>,
},
}Expand description
A structural type a function pass needs published before it can rewrite its body. Requests are returned to the pipeline driver and created at the module barrier; the requesting pass is then rerun against the new publication.
This avoids temporary/sentinel TypeId values in IR and keeps assignment
deterministic under parallel function passes.
Variants§
Implementations§
Trait Implementations§
Source§impl Clone for TypeRequest
impl Clone for TypeRequest
Source§fn clone(&self) -> TypeRequest
fn clone(&self) -> TypeRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TypeRequest
impl Debug for TypeRequest
impl Eq for TypeRequest
Source§impl Hash for TypeRequest
impl Hash for TypeRequest
Source§impl PartialEq for TypeRequest
impl PartialEq for TypeRequest
impl StructuralPartialEq for TypeRequest
Auto Trait Implementations§
impl Freeze for TypeRequest
impl RefUnwindSafe for TypeRequest
impl Send for TypeRequest
impl Sync for TypeRequest
impl Unpin for TypeRequest
impl UnsafeUnpin for TypeRequest
impl UnwindSafe for TypeRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more