mirror of
https://github.com/erg-lang/erg.git
synced 2025-10-02 21:44:34 +00:00
fix: minor bugs
This commit is contained in:
parent
5365c87cb4
commit
a8c1113df7
6 changed files with 166 additions and 83 deletions
|
@ -1078,6 +1078,7 @@ impl ASTLowerer {
|
|||
}
|
||||
}
|
||||
}
|
||||
// TODO: expect var_args
|
||||
if let Some(var_args) = var_args {
|
||||
match self.lower_expr(var_args.expr, None) {
|
||||
Ok(expr) => hir_args.var_args = Some(Box::new(hir::PosArg::new(expr))),
|
||||
|
@ -1089,7 +1090,12 @@ impl ASTLowerer {
|
|||
}
|
||||
}
|
||||
for arg in kw_args.into_iter() {
|
||||
match self.lower_expr(arg.expr, None) {
|
||||
let kw_param = expect.as_ref().and_then(|subr| {
|
||||
subr.non_var_params()
|
||||
.find(|pt| pt.name().is_some_and(|n| n == &arg.keyword.content))
|
||||
.map(|pt| pt.typ())
|
||||
});
|
||||
match self.lower_expr(arg.expr, kw_param) {
|
||||
Ok(expr) => hir_args.push_kw(hir::KwArg::new(arg.keyword, expr)),
|
||||
Err(es) => {
|
||||
errs.extend(es);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue