mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-03 15:15:24 +00:00
Make some functions non-generic
This commit is contained in:
parent
0e4c3b2c2b
commit
24eca25d8a
3 changed files with 9 additions and 9 deletions
|
@ -1037,7 +1037,7 @@ impl<'a> InferenceContext<'a> {
|
|||
if let Some(expected_ty) = expected_output.to_option(&mut self.table) {
|
||||
self.table.fudge_inference(|table| {
|
||||
if table.try_unify(&expected_ty, &output).is_ok() {
|
||||
table.resolve_with_fallback(inputs, |var, kind, _, _| match kind {
|
||||
table.resolve_with_fallback(inputs, &|var, kind, _, _| match kind {
|
||||
chalk_ir::VariableKind::Ty(tk) => var.to_ty(&Interner, tk).cast(&Interner),
|
||||
chalk_ir::VariableKind::Lifetime => {
|
||||
var.to_lifetime(&Interner).cast(&Interner)
|
||||
|
|
|
@ -128,7 +128,7 @@ pub(crate) fn unify(
|
|||
Some(Substitution::from_iter(
|
||||
&Interner,
|
||||
vars.iter(&Interner)
|
||||
.map(|v| table.resolve_with_fallback(v.assert_ty_ref(&Interner).clone(), fallback)),
|
||||
.map(|v| table.resolve_with_fallback(v.assert_ty_ref(&Interner).clone(), &fallback)),
|
||||
))
|
||||
}
|
||||
|
||||
|
@ -291,7 +291,7 @@ impl<'a> InferenceTable<'a> {
|
|||
pub(crate) fn resolve_with_fallback<T>(
|
||||
&mut self,
|
||||
t: T,
|
||||
fallback: impl Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg,
|
||||
fallback: &dyn Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg,
|
||||
) -> T::Result
|
||||
where
|
||||
T: HasInterner<Interner = Interner> + Fold<Interner>,
|
||||
|
@ -303,7 +303,7 @@ impl<'a> InferenceTable<'a> {
|
|||
&mut self,
|
||||
var_stack: &mut Vec<InferenceVar>,
|
||||
t: T,
|
||||
fallback: &impl Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg,
|
||||
fallback: &dyn Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg,
|
||||
) -> T::Result
|
||||
where
|
||||
T: HasInterner<Interner = Interner> + Fold<Interner>,
|
||||
|
@ -319,7 +319,7 @@ impl<'a> InferenceTable<'a> {
|
|||
where
|
||||
T: HasInterner<Interner = Interner> + Fold<Interner>,
|
||||
{
|
||||
self.resolve_with_fallback(t, |_, _, d, _| d)
|
||||
self.resolve_with_fallback(t, &|_, _, d, _| d)
|
||||
}
|
||||
|
||||
/// Unify two types and register new trait goals that arise from that.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue