Closed
Description
In this line:
https://github.com/rust-analyzer/rust-analyzer/blob/69e5bd5a2532cfe47e5517d720eb70cbf3f4a908/crates/ide_assists/src/handlers/inline_call.rs#L347
we infer the wrong type for expr
, namely we infer Vec<PathExpr>
. The reason for this seems to be our expansion of the izip!(params, param_use_nodes, arguments)
macro call:
$crate::__std_iter::IntoIterator::into_iter(params).zip(param_use_nodes).zip(arguments).map(|((a,b),b)|(a,b,b))
note the .map(|((a,b),b)| (a,b,b))
. This seems to be a hygiene issue, where the different b
s come from different macro expansions and so we need to consider hygiene to correctly resolve them.
Part of #8961.