Struct rustc::ty::FnSig
[−]
[src]
pub struct FnSig<'tcx> { pub inputs: Vec<Ty<'tcx>>, pub output: FnOutput<'tcx>, pub variadic: bool, }
Unstable (
rustc_private
)Signature of a function type, which I have arbitrarily decided to use to refer to the input/output types.
inputs
is the list of arguments and their modes.output
is the return type.variadic
indicates whether this is a variadic function. (only true for foreign fns)
Fields
inputs: Vec<Ty<'tcx>>
Unstable (
rustc_private
)output: FnOutput<'tcx>
Unstable (
rustc_private
)variadic: bool
Unstable (
rustc_private
)Trait Implementations
impl<'gcx> TransNormalize<'gcx> for FnSig<'gcx>
[src]
fn trans_normalize<'a, 'tcx>(&self, infcx: &InferCtxt<'a, 'gcx, 'tcx>) -> Self
impl<'tcx> Relate<'tcx> for FnSig<'tcx>
[src]
fn relate<'a, 'gcx, R>(relation: &mut R, a: &FnSig<'tcx>, b: &FnSig<'tcx>) -> RelateResult<'tcx, FnSig<'tcx>> where R: TypeRelation<'a, 'gcx, 'tcx>, 'gcx: 'a + 'tcx, 'tcx: 'a
impl<'a, 'tcx> Lift<'tcx> for FnSig<'a>
[src]
type Lifted = FnSig<'tcx>
fn lift_to_tcx<'b, 'gcx>(&self, tcx: TyCtxt<'b, 'gcx, 'tcx>) -> Option<Self::Lifted>
impl<'tcx> TypeFoldable<'tcx> for FnSig<'tcx>
[src]
fn super_fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self, folder: &mut F) -> Self
fn fold_with<'gcx: 'tcx, F: TypeFolder<'gcx, 'tcx>>(&self, folder: &mut F) -> Self
fn super_visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool
fn has_regions_escaping_depth(&self, depth: u32) -> bool
fn has_escaping_regions(&self) -> bool
fn has_type_flags(&self, flags: TypeFlags) -> bool
fn has_projection_types(&self) -> bool
fn references_error(&self) -> bool
fn has_param_types(&self) -> bool
fn has_self_ty(&self) -> bool
fn has_infer_types(&self) -> bool
fn needs_infer(&self) -> bool
fn needs_subst(&self) -> bool
fn has_closure_types(&self) -> bool
fn has_erasable_regions(&self) -> bool
fn is_global(&self) -> bool
Indicates whether this value references only 'global' types/lifetimes that are the same regardless of what fn we are in. This is used for caching. Errs on the side of returning false. Read more
impl<'tcx> Display for FnSig<'tcx>
[src]
impl<'tcx> Debug for FnSig<'tcx>
[src]
Derived Implementations
impl<'tcx> Hash for FnSig<'tcx>
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.
impl<'tcx> Eq for FnSig<'tcx>
[src]
impl<'tcx> PartialEq for FnSig<'tcx>
[src]
fn eq(&self, __arg_0: &FnSig<'tcx>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &FnSig<'tcx>) -> bool
This method tests for !=
.
impl<'tcx> Clone for FnSig<'tcx>
[src]
fn clone(&self) -> FnSig<'tcx>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more