pub fn new(
        visibility: FunctionVisibility,
        formals: Vec<(Var, Type)>,
        return_type: Vec<Type>,
        type_parameters: Vec<(TypeVar, BTreeSet<Ability>)>,
        acquires: Vec<StructName>,
        specifications: Vec<Condition>,
        body: FunctionBody,
    ) -> Self {
        let signature = FunctionSignature::new(formals, return_type, type_parameters);
        Function_ {
            visibility,
            signature,
            acquires,
            specifications,
            body,
        }
    }
/// Creates a new function declaration from the components of the function
/// See the declaration of the struct `Function` for more details
Creates a new function declaration from the components of the function
See the declaration of the struct `Function` for more details
Creates a new function declaration from the components of the function See the declaration of the struct ` Function ` for more details
pub fn new(
        visibility: FunctionVisibility,
        formals: Vec<(Var, Type)>,
        return_type: Vec<Type>,
        type_parameters: Vec<(TypeVar, BTreeSet<Ability>)>,
        acquires: Vec<StructName>,
        specifications: Vec<Condition>,
        body: FunctionBody,
    ) -> Self {
        let signature = FunctionSignature::new(formals, return_type, type_parameters);
        Function_ {
            visibility,
            signature,
            acquires,
            specifications,
            body,
        }
    }
pub fn new ( visibility : FunctionVisibility , formals : Vec < ( Var , Type ) > , return_type : Vec < Type > , type_parameters : Vec < ( TypeVar , BTreeSet < Ability > ) > , acquires : Vec < StructName > , specifications : Vec < Condition > , body : FunctionBody , ) -> Self { let signature = FunctionSignature :: new ( formals , return_type , type_parameters ) ; Function_ { visibility , signature , acquires , specifications , body , } }
Creates a new function declaration from the components of the function
See the declaration of the struct `Function` for more details
Creates a new function declaration from the components of the function See the declaration of the struct ` Function ` for more details
visibility
FunctionVisibility
formals
Vec<(Var, Type)>
return_type
Vec<Type>
type_parameters
Vec<(TypeVar, BTreeSet<Ability>)>
acquires
Vec<StructName>
specifications
Vec<Condition>
body
FunctionBody