You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/resolve/expr/call.rs
+8-13
Original file line number
Diff line number
Diff line change
@@ -85,10 +85,9 @@ pub fn call_callee(
85
85
let arg_concrete_trait = impl_poly_catalog.bake().resolve_trait(&imp.target)?;
86
86
let function = ctx.asg.funcs.get(callee.function).unwrap();
87
87
88
-
let poly_impl_name = ifletSome(name) = &impl_using.name{
89
-
name.clone()
90
-
}else{
91
-
function
88
+
let poly_impl_name = match&impl_using.name{
89
+
Some(name) => name,
90
+
None => function
92
91
.impl_params
93
92
.params
94
93
.iter()
@@ -106,15 +105,15 @@ pub fn call_callee(
106
105
),
107
106
impl_arg.source,
108
107
)
109
-
})?
110
-
.clone()
111
-
};
108
+
})?,
109
+
}
110
+
.clone();
112
111
113
112
if !used_names.insert(poly_impl_name.clone()){
114
113
returnErr(ResolveError::other(
115
114
format!(
116
115
"Implementation for '${}' was already specified",
117
-
&poly_impl_name
116
+
poly_impl_name
118
117
),
119
118
impl_arg.source,
120
119
));
@@ -124,7 +123,7 @@ pub fn call_callee(
124
123
returnErr(ResolveError::other(
125
124
format!(
126
125
"Callee does not have implementation parameter '${}'",
127
-
&poly_impl_name
126
+
poly_impl_name
128
127
),
129
128
source,
130
129
));
@@ -164,10 +163,6 @@ pub fn call_callee(
164
163
let function = ctx.asg.funcs.get(callee.function).unwrap();
165
164
let num_required = function.params.required.len();
166
165
167
-
if !function.impl_params.params.is_empty(){
168
-
eprintln!("warning: calling functions with implementation parameters is not fully implemented yet! (more that one implementation parameter is not supported yet)");
169
-
}
170
-
171
166
for(i, arg)in args.iter_mut().enumerate(){
172
167
let function = ctx.asg.funcs.get(callee.function).unwrap();
0 commit comments