mirror of
https://github.com/erg-lang/erg.git
synced 2025-08-03 18:29:00 +00:00
fix: a minor bug
This commit is contained in:
parent
8c8eff76a6
commit
309bb06db8
1 changed files with 18 additions and 6 deletions
|
@ -1088,12 +1088,24 @@ impl ASTLowerer {
|
|||
(var_params, non_default_params.into_iter())
|
||||
};
|
||||
#[cfg(feature = "py_compatible")]
|
||||
let non_default_params = non_default_params.into_iter().filter(|(name, _)| {
|
||||
params
|
||||
.non_defaults
|
||||
.iter()
|
||||
.any(|nd| nd.name() == name.as_ref())
|
||||
});
|
||||
let (var_params, non_default_params) = {
|
||||
let (var_params, non_default_params): (Vec<_>, Vec<_>) = non_default_params
|
||||
.into_iter()
|
||||
.partition(|(_, vi)| vi.kind.is_var_params());
|
||||
let var_params = var_params.get(0).map(|(name, vi)| {
|
||||
ParamTy::pos(
|
||||
name.as_ref().map(|n| n.inspect().clone()),
|
||||
vi.t.inner_ts().remove(0),
|
||||
)
|
||||
});
|
||||
let non_default_params = non_default_params.into_iter().filter(|(name, _)| {
|
||||
params
|
||||
.non_defaults
|
||||
.iter()
|
||||
.any(|nd| nd.name() == name.as_ref())
|
||||
});
|
||||
(var_params, non_default_params)
|
||||
};
|
||||
let non_default_param_tys = non_default_params
|
||||
.map(|(name, vi)| {
|
||||
ParamTy::pos(name.as_ref().map(|n| n.inspect().clone()), vi.t.clone())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue