pub struct InferredSig {
pub module: String,
pub name: String,
pub impl_ty: Option<String>,
pub params: Vec<(String, Ty)>,
pub ret: Ty,
pub span: Span,
pub generics: Vec<String>,
pub is_pub: bool,
pub inferred_from_use: bool,
pub instantiations: Vec<String>,
pub mono_args: Option<Vec<Ty>>,
pub op_bounds: BTreeMap<String, Vec<String>>,
}Fields§
§module: String§name: String§impl_ty: Option<String>When set, this signature is an inherent impl Type method (§5.4).
params: Vec<(String, Ty)>§ret: Ty§span: Span§generics: Vec<String>Explicit or inferred type parameters (id(x) = x → ["T"]).
is_pub: bool§inferred_from_use: boolTrue when generics were named from leftover free vars (id(x) = x), not a pin.
instantiations: Vec<String>Distinct concrete call-site instantiations (int, str) for reveal.
mono_args: Option<Vec<Ty>>Single concrete instantiation for crate-internal emit (#76). Scheme stays generic.
op_bounds: BTreeMap<String, Vec<String>>Inferred bounds on generics (T → Add / Show / …) from operators and unique trait methods (#84).
Implementations§
Source§impl InferredSig
impl InferredSig
Sourcepub fn emit_view(&self) -> (Vec<(String, Ty)>, Ty, Vec<String>)
pub fn emit_view(&self) -> (Vec<(String, Ty)>, Ty, Vec<String>)
Param types, return type, and generics as they should be emitted (#76).
Sourcepub fn scheme_prefix(&self) -> String
pub fn scheme_prefix(&self) -> String
Emit-style binder list, including the hidden T: Clone bound (#78).
pub fn scheme_prefix_for(&self, gens: &[String]) -> String
Sourcepub fn rust_scheme_prefix_for(&self, gens: &[String]) -> String
pub fn rust_scheme_prefix_for(&self, gens: &[String]) -> String
Rust binder list (T: Clone + std::ops::Add<Output = T>).
pub fn rust_generic_bound(&self, g: &str) -> String
Trait Implementations§
Source§impl Clone for InferredSig
impl Clone for InferredSig
Source§fn clone(&self) -> InferredSig
fn clone(&self) -> InferredSig
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 moreAuto Trait Implementations§
impl Freeze for InferredSig
impl RefUnwindSafe for InferredSig
impl Send for InferredSig
impl Sync for InferredSig
impl Unpin for InferredSig
impl UnsafeUnpin for InferredSig
impl UnwindSafe for InferredSig
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