pub struct SpecializationProjection { /* private fields */ }Expand description
Aggregate projection of a concrete signature.
§Examples
use tenferro_runtime::{InputSignature, SpecializationRequirements};
let projection = SpecializationRequirements::polymorphic(0)
.project(&InputSignature::new(Vec::new()))
?;
assert!(projection.inputs().is_empty());Implementations§
Source§impl SpecializationProjection
impl SpecializationProjection
Sourcepub fn requirements(&self) -> &SpecializationRequirements
pub fn requirements(&self) -> &SpecializationRequirements
Return the requirements that produced this projection.
§Examples
use tenferro_runtime::{InputSignature, SpecializationRequirements};
let requirements = SpecializationRequirements::polymorphic(0);
let projection = requirements.project(&InputSignature::new(Vec::new()))?;
assert_eq!(projection.requirements(), &requirements);Sourcepub fn inputs(&self) -> &[InputSpecializationProjection]
pub fn inputs(&self) -> &[InputSpecializationProjection]
Return per-input projections.
§Examples
use tenferro_runtime::{InputSignature, SpecializationRequirements};
let projection = SpecializationRequirements::polymorphic(0)
.project(&InputSignature::new(Vec::new()))
?;
assert!(projection.inputs().is_empty());Trait Implementations§
Source§impl Clone for SpecializationProjection
impl Clone for SpecializationProjection
Source§impl Debug for SpecializationProjection
impl Debug for SpecializationProjection
impl Eq for SpecializationProjection
Source§impl Hash for SpecializationProjection
impl Hash for SpecializationProjection
Source§impl PartialEq for SpecializationProjection
impl PartialEq for SpecializationProjection
impl StructuralPartialEq for SpecializationProjection
Auto Trait Implementations§
impl Freeze for SpecializationProjection
impl RefUnwindSafe for SpecializationProjection
impl Send for SpecializationProjection
impl Sync for SpecializationProjection
impl Unpin for SpecializationProjection
impl UnsafeUnpin for SpecializationProjection
impl UnwindSafe for SpecializationProjection
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