attempt to reduce lifetimes in FnCall

This commit is contained in:
lyken 2024-08-28 12:56:43 +08:00
parent c1281db0cd
commit ec1ee223a0
No known key found for this signature in database
GPG Key ID: 3BD5FC6AC8325DD8
1 changed files with 5 additions and 5 deletions

View File

@ -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() }
} }