fn add_constraints_from_sig(&mut self,
                                sig: &ty::FnSig,
                                variance: VarianceTermPtr<'a>) {
        let contra = self.contravariant(variance);
        for &input in sig.inputs.iter() {
            self.add_constraints_from_ty(input, contra);
        }
        self.add_constraints_from_ty(sig.output, variance);
    }
/// Adds constraints appropriate for a function with signature
/// `sig` appearing in a context with ambient variance `variance`
Adds constraints appropriate for a function with signature
`sig` appearing in a context with ambient variance `variance`
Adds constraints appropriate for a function with signature ` sig ` appearing in a context with ambient variance ` variance `
fn add_constraints_from_sig(&mut self,
                                sig: &ty::FnSig,
                                variance: VarianceTermPtr<'a>) {
        let contra = self.contravariant(variance);
        for &input in sig.inputs.iter() {
            self.add_constraints_from_ty(input, contra);
        }
        self.add_constraints_from_ty(sig.output, variance);
    }
fn add_constraints_from_sig ( & mut self , sig : & ty :: FnSig , variance : VarianceTermPtr < ' a > ) { let contra = self . contravariant ( variance ) ; for & input in sig . inputs . iter ( ) { self . add_constraints_from_ty ( input , contra ) ; } self . add_constraints_from_ty ( sig . output , variance ) ; }
Adds constraints appropriate for a function with signature
`sig` appearing in a context with ambient variance `variance`
Adds constraints appropriate for a function with signature ` sig ` appearing in a context with ambient variance ` variance `
&mut self
sig
&ty::FnSig
variance
VarianceTermPtr<'a>
&mut self
sig
&ty::FnSig
variance
VarianceTermPtr<'a>