Use chalk_ir::Scalar directly

This commit is contained in:
Lukas Wirth 2021-02-28 10:58:34 +01:00
parent 5183c9f083
commit 7c2dd85a32
6 changed files with 78 additions and 197 deletions

View file

@ -3,9 +3,9 @@
use std::{borrow::Cow, fmt};
use crate::{
db::HirDatabase, utils::generics, ApplicationTy, CallableDefId, FnSig, GenericPredicate,
Lifetime, Obligation, OpaqueTy, OpaqueTyId, ProjectionTy, Scalar, Substs, TraitRef, Ty,
TypeCtor,
db::HirDatabase, primitive, utils::generics, ApplicationTy, CallableDefId, FnSig,
GenericPredicate, Lifetime, Obligation, OpaqueTy, OpaqueTyId, ProjectionTy, Scalar, Substs,
TraitRef, Ty, TypeCtor,
};
use arrayvec::ArrayVec;
use hir_def::{
@ -244,9 +244,11 @@ impl HirDisplay for ApplicationTy {
match self.ctor {
TypeCtor::Scalar(Scalar::Bool) => write!(f, "bool")?,
TypeCtor::Scalar(Scalar::Char) => write!(f, "char")?,
TypeCtor::Scalar(Scalar::Float(t)) => write!(f, "{}", t)?,
TypeCtor::Scalar(Scalar::Int(t)) => write!(f, "{}", t)?,
TypeCtor::Scalar(Scalar::Uint(t)) => write!(f, "{}", t)?,
TypeCtor::Scalar(Scalar::Float(t)) => {
write!(f, "{}", primitive::float_ty_to_string(t))?
}
TypeCtor::Scalar(Scalar::Int(t)) => write!(f, "{}", primitive::int_ty_to_string(t))?,
TypeCtor::Scalar(Scalar::Uint(t)) => write!(f, "{}", primitive::uint_ty_to_string(t))?,
TypeCtor::Str => write!(f, "str")?,
TypeCtor::Slice => {
let t = self.parameters.as_single();