10600: minor: Make some functions non-generic r=Veykril a=lnicola

This reduces `text` size by 10192 bytes (0.064% 😢), with no apparent change in performance.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
This commit is contained in:
bors[bot] 2021-10-20 18:05:31 +00:00 committed by GitHub
commit d1cdfa800c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 9 deletions

View file

@ -645,7 +645,7 @@ impl<'a> Ctx<'a> {
fn lower_generic_params_and_inner_items( fn lower_generic_params_and_inner_items(
&mut self, &mut self,
owner: GenericsOwner<'_>, owner: GenericsOwner<'_>,
node: &impl ast::HasGenericParams, node: &dyn ast::HasGenericParams,
) -> Interned<GenericParams> { ) -> Interned<GenericParams> {
// Generics are part of item headers and may contain inner items we need to collect. // Generics are part of item headers and may contain inner items we need to collect.
if let Some(params) = node.generic_param_list() { if let Some(params) = node.generic_param_list() {
@ -661,7 +661,7 @@ impl<'a> Ctx<'a> {
fn lower_generic_params( fn lower_generic_params(
&mut self, &mut self,
owner: GenericsOwner<'_>, owner: GenericsOwner<'_>,
node: &impl ast::HasGenericParams, node: &dyn ast::HasGenericParams,
) -> Interned<GenericParams> { ) -> Interned<GenericParams> {
let mut generics = GenericParams::default(); let mut generics = GenericParams::default();
match owner { match owner {
@ -697,7 +697,7 @@ impl<'a> Ctx<'a> {
Interned::new(generics) Interned::new(generics)
} }
fn lower_type_bounds(&mut self, node: &impl ast::HasTypeBounds) -> Vec<Interned<TypeBound>> { fn lower_type_bounds(&mut self, node: &dyn ast::HasTypeBounds) -> Vec<Interned<TypeBound>> {
match node.type_bound_list() { match node.type_bound_list() {
Some(bound_list) => bound_list Some(bound_list) => bound_list
.bounds() .bounds()
@ -707,7 +707,7 @@ impl<'a> Ctx<'a> {
} }
} }
fn lower_visibility(&mut self, item: &impl ast::HasVisibility) -> RawVisibilityId { fn lower_visibility(&mut self, item: &dyn ast::HasVisibility) -> RawVisibilityId {
let vis = match self.forced_visibility { let vis = match self.forced_visibility {
Some(vis) => return vis, Some(vis) => return vis,
None => RawVisibility::from_ast_with_hygiene(self.db, item.visibility(), &self.hygiene), None => RawVisibility::from_ast_with_hygiene(self.db, item.visibility(), &self.hygiene),

View file

@ -1037,7 +1037,7 @@ impl<'a> InferenceContext<'a> {
if let Some(expected_ty) = expected_output.to_option(&mut self.table) { if let Some(expected_ty) = expected_output.to_option(&mut self.table) {
self.table.fudge_inference(|table| { self.table.fudge_inference(|table| {
if table.try_unify(&expected_ty, &output).is_ok() { 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::Ty(tk) => var.to_ty(&Interner, tk).cast(&Interner),
chalk_ir::VariableKind::Lifetime => { chalk_ir::VariableKind::Lifetime => {
var.to_lifetime(&Interner).cast(&Interner) var.to_lifetime(&Interner).cast(&Interner)

View file

@ -128,7 +128,7 @@ pub(crate) fn unify(
Some(Substitution::from_iter( Some(Substitution::from_iter(
&Interner, &Interner,
vars.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>( pub(crate) fn resolve_with_fallback<T>(
&mut self, &mut self,
t: T, t: T,
fallback: impl Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg, fallback: &dyn Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg,
) -> T::Result ) -> T::Result
where where
T: HasInterner<Interner = Interner> + Fold<Interner>, T: HasInterner<Interner = Interner> + Fold<Interner>,
@ -303,7 +303,7 @@ impl<'a> InferenceTable<'a> {
&mut self, &mut self,
var_stack: &mut Vec<InferenceVar>, var_stack: &mut Vec<InferenceVar>,
t: T, t: T,
fallback: &impl Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg, fallback: &dyn Fn(InferenceVar, VariableKind, GenericArg, DebruijnIndex) -> GenericArg,
) -> T::Result ) -> T::Result
where where
T: HasInterner<Interner = Interner> + Fold<Interner>, T: HasInterner<Interner = Interner> + Fold<Interner>,
@ -319,7 +319,7 @@ impl<'a> InferenceTable<'a> {
where where
T: HasInterner<Interner = Interner> + Fold<Interner>, 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. /// Unify two types and register new trait goals that arise from that.