mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 06:41:48 +00:00
Align FnPointer with Chalk
This commit is contained in:
parent
f25c1e7c6a
commit
edc59d897d
9 changed files with 86 additions and 40 deletions
|
@ -12,8 +12,8 @@ use smallvec::SmallVec;
|
|||
|
||||
use crate::{
|
||||
db::HirDatabase, primitive, to_assoc_type_id, to_chalk_trait_id, utils::generics, Binders,
|
||||
CallableSig, FnPointer, FnSig, GenericArg, Interner, ProjectionTy, Substitution, TraitRef, Ty,
|
||||
TyDefId, TyKind, TypeWalk, ValueTyDefId,
|
||||
CallableSig, FnPointer, FnSig, FnSubst, GenericArg, Interner, ProjectionTy, Substitution,
|
||||
TraitRef, Ty, TyDefId, TyKind, TypeWalk, ValueTyDefId,
|
||||
};
|
||||
|
||||
/// This is a builder for `Ty` or anything that needs a `Substitution`.
|
||||
|
@ -78,9 +78,12 @@ impl TyBuilder<()> {
|
|||
|
||||
pub fn fn_ptr(sig: CallableSig) -> Ty {
|
||||
TyKind::Function(FnPointer {
|
||||
num_args: sig.params().len(),
|
||||
num_binders: 0,
|
||||
sig: FnSig { abi: (), safety: Safety::Safe, variadic: sig.is_varargs },
|
||||
substs: Substitution::from_iter(&Interner, sig.params_and_return.iter().cloned()),
|
||||
substitution: FnSubst(Substitution::from_iter(
|
||||
&Interner,
|
||||
sig.params_and_return.iter().cloned(),
|
||||
)),
|
||||
})
|
||||
.intern(&Interner)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue