attempt to reduce lifetimes in FnCall
This commit is contained in:
parent
c1281db0cd
commit
ec1ee223a0
|
@ -35,19 +35,19 @@ struct Arg<'ctx> {
|
||||||
/// If `my_function_name` has not been declared in `ctx.module`, once `.returning()` is called, a function
|
/// If `my_function_name` has not been declared in `ctx.module`, once `.returning()` is called, a function
|
||||||
/// declaration of `my_function_name` is added to `ctx.module`, where the [`FunctionType`] is deduced from
|
/// declaration of `my_function_name` is added to `ctx.module`, where the [`FunctionType`] is deduced from
|
||||||
/// the argument types and returning type.
|
/// the argument types and returning type.
|
||||||
pub struct FnCall<'ctx, 'a, 'b, 'c, 'd, G: CodeGenerator + ?Sized> {
|
pub struct FnCall<'ctx, 'a, 'b, G: CodeGenerator + ?Sized> {
|
||||||
generator: &'d mut G,
|
generator: &'b mut G,
|
||||||
ctx: &'b CodeGenContext<'ctx, 'a>,
|
ctx: &'b CodeGenContext<'ctx, 'a>,
|
||||||
/// Function name
|
/// Function name
|
||||||
name: &'c str,
|
name: &'b str,
|
||||||
/// Call arguments
|
/// Call arguments
|
||||||
args: Vec<Arg<'ctx>>,
|
args: Vec<Arg<'ctx>>,
|
||||||
/// LLVM function Attributes
|
/// LLVM function Attributes
|
||||||
attrs: Vec<&'static str>,
|
attrs: Vec<&'static str>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'ctx, 'a, 'b, 'c, 'd, G: CodeGenerator + ?Sized> FnCall<'ctx, 'a, 'b, 'c, 'd, G> {
|
impl<'ctx, 'a, 'b, G: CodeGenerator + ?Sized> FnCall<'ctx, 'a, 'b, G> {
|
||||||
pub fn begin(generator: &'d mut G, ctx: &'b CodeGenContext<'ctx, 'a>, name: &'c str) -> Self {
|
pub fn begin(generator: &'b mut G, ctx: &'b CodeGenContext<'ctx, 'a>, name: &'b str) -> Self {
|
||||||
FnCall { generator, ctx, name, args: Vec::new(), attrs: Vec::new() }
|
FnCall { generator, ctx, name, args: Vec::new(), attrs: Vec::new() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue