mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 18:23:49 +00:00
Remove ty::UnnormalizedProjection
This commit is contained in:
parent
99cb9ccb9c
commit
41f6b958d5
@ -198,7 +198,6 @@ pub fn push_debuginfo_type_name<'tcx>(
|
||||
ty::Error
|
||||
| ty::Infer(_)
|
||||
| ty::Placeholder(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Projection(..)
|
||||
| ty::Bound(..)
|
||||
| ty::Opaque(..)
|
||||
|
@ -415,7 +415,6 @@ impl<'cx, 'tcx> TypeFolder<'tcx> for Canonicalizer<'cx, 'tcx> {
|
||||
| ty::Never
|
||||
| ty::Tuple(..)
|
||||
| ty::Projection(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Foreign(..)
|
||||
| ty::Param(..)
|
||||
| ty::Opaque(..) => {
|
||||
|
@ -554,7 +554,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
|
||||
let output = bound_output.skip_binder();
|
||||
err.span_label(e.span, &format!("this method call resolves to `{:?}`", output));
|
||||
let kind = &output.kind;
|
||||
if let ty::Projection(proj) | ty::UnnormalizedProjection(proj) = kind {
|
||||
if let ty::Projection(proj) = kind {
|
||||
if let Some(span) = self.tcx.hir().span_if_local(proj.item_def_id) {
|
||||
err.span_label(span, &format!("`{:?}` defined here", output));
|
||||
}
|
||||
|
@ -204,7 +204,6 @@ impl<'a, 'tcx> TypeFolder<'tcx> for TypeFreshener<'a, 'tcx> {
|
||||
| ty::Never
|
||||
| ty::Tuple(..)
|
||||
| ty::Projection(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Foreign(..)
|
||||
| ty::Param(..)
|
||||
| ty::Closure(..)
|
||||
|
@ -888,7 +888,6 @@ impl<'a, 'tcx> ImproperCTypesVisitor<'a, 'tcx> {
|
||||
| ty::Generator(..)
|
||||
| ty::GeneratorWitness(..)
|
||||
| ty::Placeholder(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Projection(..)
|
||||
| ty::Opaque(..)
|
||||
| ty::FnDef(..) => bug!("unexpected type in foreign function: {:?}", ty),
|
||||
|
@ -255,8 +255,6 @@ pub fn trivial_dropck_outlives<'tcx>(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>) -> bool {
|
||||
| ty::Infer(_)
|
||||
| ty::Bound(..)
|
||||
| ty::Generator(..) => false,
|
||||
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1878,7 +1878,6 @@ impl<'tcx> TyCtxt<'tcx> {
|
||||
Bound,
|
||||
Param,
|
||||
Infer,
|
||||
UnnormalizedProjection,
|
||||
Projection,
|
||||
Opaque,
|
||||
Foreign
|
||||
|
@ -284,7 +284,6 @@ impl<'tcx> ty::TyS<'tcx> {
|
||||
ty::Infer(ty::FreshIntTy(_)) => "fresh integral type".into(),
|
||||
ty::Infer(ty::FreshFloatTy(_)) => "fresh floating-point type".into(),
|
||||
ty::Projection(_) => "associated type".into(),
|
||||
ty::UnnormalizedProjection(_) => "non-normalized associated type".into(),
|
||||
ty::Param(p) => format!("type parameter `{}`", p).into(),
|
||||
ty::Opaque(..) => "opaque type".into(),
|
||||
ty::Error => "type error".into(),
|
||||
@ -323,7 +322,6 @@ impl<'tcx> ty::TyS<'tcx> {
|
||||
ty::Placeholder(..) => "higher-ranked type".into(),
|
||||
ty::Bound(..) => "bound type variable".into(),
|
||||
ty::Projection(_) => "associated type".into(),
|
||||
ty::UnnormalizedProjection(_) => "associated type".into(),
|
||||
ty::Param(_) => "type parameter".into(),
|
||||
ty::Opaque(..) => "opaque type".into(),
|
||||
}
|
||||
|
@ -90,7 +90,6 @@ pub fn simplify_type(
|
||||
ty::Never => Some(NeverSimplifiedType),
|
||||
ty::Tuple(ref tys) => Some(TupleSimplifiedType(tys.len())),
|
||||
ty::FnPtr(ref f) => Some(FunctionSimplifiedType(f.skip_binder().inputs().len())),
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
ty::Projection(_) | ty::Param(_) => {
|
||||
if can_simplify_params {
|
||||
// In normalized types, projections don't unify with
|
||||
|
@ -121,11 +121,6 @@ impl FlagComputation {
|
||||
self.add_projection_ty(data);
|
||||
}
|
||||
|
||||
&ty::UnnormalizedProjection(ref data) => {
|
||||
self.add_flags(TypeFlags::HAS_TY_PROJECTION);
|
||||
self.add_projection_ty(data);
|
||||
}
|
||||
|
||||
&ty::Opaque(_, substs) => {
|
||||
self.add_flags(TypeFlags::HAS_TY_OPAQUE);
|
||||
self.add_substs(substs);
|
||||
|
@ -1241,11 +1241,9 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
|
||||
tcx.layout_raw(param_env.and(normalized))?
|
||||
}
|
||||
|
||||
ty::Bound(..)
|
||||
| ty::Placeholder(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::GeneratorWitness(..)
|
||||
| ty::Infer(_) => bug!("Layout::compute: unexpected type `{}`", ty),
|
||||
ty::Bound(..) | ty::Placeholder(..) | ty::GeneratorWitness(..) | ty::Infer(_) => {
|
||||
bug!("Layout::compute: unexpected type `{}`", ty)
|
||||
}
|
||||
|
||||
ty::Param(_) | ty::Error => {
|
||||
return Err(LayoutError::Unknown(ty));
|
||||
@ -2138,7 +2136,6 @@ where
|
||||
}
|
||||
|
||||
ty::Projection(_)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Bound(..)
|
||||
| ty::Placeholder(..)
|
||||
| ty::Opaque(..)
|
||||
|
@ -555,7 +555,7 @@ bitflags! {
|
||||
| TypeFlags::HAS_CT_PLACEHOLDER.bits
|
||||
| TypeFlags::HAS_FREE_LOCAL_REGIONS.bits;
|
||||
|
||||
/// Does this have [Projection] or [UnnormalizedProjection]?
|
||||
/// Does this have [Projection]?
|
||||
const HAS_TY_PROJECTION = 1 << 10;
|
||||
/// Does this have [Opaque]?
|
||||
const HAS_TY_OPAQUE = 1 << 11;
|
||||
|
@ -135,8 +135,6 @@ fn compute_components(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>, out: &mut SmallVec<[Compo
|
||||
}
|
||||
}
|
||||
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
|
||||
// We assume that inference variables are fully resolved.
|
||||
// So, if we encounter an inference variable, just record
|
||||
// the unresolved variable as a component.
|
||||
|
@ -294,7 +294,6 @@ pub fn characteristic_def_id_of_type(ty: Ty<'_>) -> Option<DefId> {
|
||||
| ty::FnPtr(_)
|
||||
| ty::Projection(_)
|
||||
| ty::Placeholder(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Param(_)
|
||||
| ty::Opaque(..)
|
||||
| ty::Infer(_)
|
||||
|
@ -148,7 +148,6 @@ impl DefPathBasedNames<'tcx> {
|
||||
| ty::Bound(..)
|
||||
| ty::Infer(_)
|
||||
| ty::Placeholder(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Projection(..)
|
||||
| ty::Param(_)
|
||||
| ty::GeneratorWitness(_)
|
||||
|
@ -540,9 +540,6 @@ pub trait PrettyPrinter<'tcx>:
|
||||
p!(print_def_path(def_id, &[]));
|
||||
}
|
||||
ty::Projection(ref data) => p!(print(data)),
|
||||
ty::UnnormalizedProjection(ref data) => {
|
||||
p!(write("Unnormalized("), print(data), write(")"))
|
||||
}
|
||||
ty::Placeholder(placeholder) => p!(write("Placeholder({:?})", placeholder)),
|
||||
ty::Opaque(def_id, substs) => {
|
||||
// FIXME(eddyb) print this with `print_def_path`.
|
||||
|
@ -477,11 +477,6 @@ pub fn super_relate_tys<R: TypeRelation<'tcx>>(
|
||||
Ok(tcx.mk_fn_ptr(fty))
|
||||
}
|
||||
|
||||
(ty::UnnormalizedProjection(a_data), ty::UnnormalizedProjection(b_data)) => {
|
||||
let projection_ty = relation.relate(a_data, b_data)?;
|
||||
Ok(tcx.mk_ty(ty::UnnormalizedProjection(projection_ty)))
|
||||
}
|
||||
|
||||
// these two are already handled downstream in case of lazy normalization
|
||||
(ty::Projection(a_data), ty::Projection(b_data)) => {
|
||||
let projection_ty = relation.relate(a_data, b_data)?;
|
||||
|
@ -888,9 +888,6 @@ impl<'tcx> TypeFoldable<'tcx> for Ty<'tcx> {
|
||||
ty::GeneratorWitness(types) => ty::GeneratorWitness(types.fold_with(folder)),
|
||||
ty::Closure(did, substs) => ty::Closure(did, substs.fold_with(folder)),
|
||||
ty::Projection(ref data) => ty::Projection(data.fold_with(folder)),
|
||||
ty::UnnormalizedProjection(ref data) => {
|
||||
ty::UnnormalizedProjection(data.fold_with(folder))
|
||||
}
|
||||
ty::Opaque(did, substs) => ty::Opaque(did, substs.fold_with(folder)),
|
||||
|
||||
ty::Bool
|
||||
@ -931,9 +928,7 @@ impl<'tcx> TypeFoldable<'tcx> for Ty<'tcx> {
|
||||
ty::Generator(_did, ref substs, _) => substs.visit_with(visitor),
|
||||
ty::GeneratorWitness(ref types) => types.visit_with(visitor),
|
||||
ty::Closure(_did, ref substs) => substs.visit_with(visitor),
|
||||
ty::Projection(ref data) | ty::UnnormalizedProjection(ref data) => {
|
||||
data.visit_with(visitor)
|
||||
}
|
||||
ty::Projection(ref data) => data.visit_with(visitor),
|
||||
ty::Opaque(_, ref substs) => substs.visit_with(visitor),
|
||||
|
||||
ty::Bool
|
||||
|
@ -181,11 +181,6 @@ pub enum TyKind<'tcx> {
|
||||
/// `<T as Trait<..>>::N`.
|
||||
Projection(ProjectionTy<'tcx>),
|
||||
|
||||
/// A placeholder type used when we do not have enough information
|
||||
/// to normalize the projection of an associated type to an
|
||||
/// existing concrete type. Currently only used with chalk-engine.
|
||||
UnnormalizedProjection(ProjectionTy<'tcx>),
|
||||
|
||||
/// Opaque (`impl Trait`) type found in a return type.
|
||||
/// The `DefId` comes either from
|
||||
/// * the `impl Trait` ast::Ty node,
|
||||
@ -2186,8 +2181,6 @@ impl<'tcx> TyS<'tcx> {
|
||||
|
||||
ty::Projection(_) | ty::Param(_) | ty::Opaque(..) => false,
|
||||
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
|
||||
ty::Infer(ty::TyVar(_)) => false,
|
||||
|
||||
ty::Bound(..)
|
||||
|
@ -745,8 +745,7 @@ impl<'tcx> ty::TyS<'tcx> {
|
||||
| ty::Opaque(..)
|
||||
| ty::Param(_)
|
||||
| ty::Placeholder(_)
|
||||
| ty::Projection(_)
|
||||
| ty::UnnormalizedProjection(_) => false,
|
||||
| ty::Projection(_) => false,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1077,7 +1076,6 @@ pub fn needs_drop_components(
|
||||
// These require checking for `Copy` bounds or `Adt` destructors.
|
||||
ty::Adt(..)
|
||||
| ty::Projection(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Param(_)
|
||||
| ty::Bound(..)
|
||||
| ty::Placeholder(..)
|
||||
|
@ -127,7 +127,7 @@ fn push_inner<'tcx>(stack: &mut TypeWalkerStack<'tcx>, parent: GenericArg<'tcx>)
|
||||
stack.push(ty.into());
|
||||
stack.push(lt.into());
|
||||
}
|
||||
ty::Projection(data) | ty::UnnormalizedProjection(data) => {
|
||||
ty::Projection(data) => {
|
||||
stack.extend(data.substs.iter().copied().rev());
|
||||
}
|
||||
ty::Dynamic(obj, lt) => {
|
||||
|
@ -60,7 +60,6 @@ impl<'tcx> Printer<'tcx> for AbsolutePathPrinter<'tcx> {
|
||||
| ty::FnDef(def_id, substs)
|
||||
| ty::Opaque(def_id, substs)
|
||||
| ty::Projection(ty::ProjectionTy { item_def_id: def_id, substs })
|
||||
| ty::UnnormalizedProjection(ty::ProjectionTy { item_def_id: def_id, substs })
|
||||
| ty::Closure(def_id, substs)
|
||||
| ty::Generator(def_id, substs, _) => self.print_def_path(def_id, substs),
|
||||
ty::Foreign(def_id) => self.print_def_path(def_id, &[]),
|
||||
|
@ -566,7 +566,6 @@ impl<'rt, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> ValidityVisitor<'rt, 'mir, '
|
||||
| ty::Bound(..)
|
||||
| ty::Param(..)
|
||||
| ty::Opaque(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::Projection(..)
|
||||
| ty::GeneratorWitness(..) => bug!("Encountered invalid type {:?}", ty),
|
||||
}
|
||||
|
@ -160,7 +160,7 @@ where
|
||||
}
|
||||
}
|
||||
}
|
||||
ty::Projection(proj) | ty::UnnormalizedProjection(proj) => {
|
||||
ty::Projection(proj) => {
|
||||
if self.def_id_visitor.skip_assoc_tys() {
|
||||
// Visitors searching for minimal visibility/reachability want to
|
||||
// conservatively approximate associated types like `<Type as Trait>::Alias`
|
||||
|
@ -216,7 +216,6 @@ impl Printer<'tcx> for SymbolPrinter<'tcx> {
|
||||
ty::FnDef(def_id, substs)
|
||||
| ty::Opaque(def_id, substs)
|
||||
| ty::Projection(ty::ProjectionTy { item_def_id: def_id, substs })
|
||||
| ty::UnnormalizedProjection(ty::ProjectionTy { item_def_id: def_id, substs })
|
||||
| ty::Closure(def_id, substs)
|
||||
| ty::Generator(def_id, substs, _) => self.print_def_path(def_id, substs),
|
||||
_ => self.pretty_print_type(ty),
|
||||
@ -264,7 +263,6 @@ impl Printer<'tcx> for SymbolPrinter<'tcx> {
|
||||
ty::FnDef(..)
|
||||
| ty::Opaque(..)
|
||||
| ty::Projection(_)
|
||||
| ty::UnnormalizedProjection(_)
|
||||
| ty::Closure(..)
|
||||
| ty::Generator(..)
|
||||
if trait_ref.is_none() =>
|
||||
|
@ -413,7 +413,6 @@ impl Printer<'tcx> for SymbolMangler<'tcx> {
|
||||
| ty::FnDef(def_id, substs)
|
||||
| ty::Opaque(def_id, substs)
|
||||
| ty::Projection(ty::ProjectionTy { item_def_id: def_id, substs })
|
||||
| ty::UnnormalizedProjection(ty::ProjectionTy { item_def_id: def_id, substs })
|
||||
| ty::Closure(def_id, substs)
|
||||
| ty::Generator(def_id, substs, _) => {
|
||||
self = self.print_def_path(def_id, substs)?;
|
||||
|
@ -567,9 +567,8 @@ fn ty_is_non_local_constructor(ty: Ty<'_>, in_crate: InCrate) -> Option<Ty<'_>>
|
||||
|
||||
ty::Error => None,
|
||||
|
||||
ty::UnnormalizedProjection(..)
|
||||
| ty::Closure(..)
|
||||
| ty::Generator(..)
|
||||
| ty::GeneratorWitness(..) => bug!("ty_is_local invoked on unexpected type: {:?}", ty),
|
||||
ty::Closure(..) | ty::Generator(..) | ty::GeneratorWitness(..) => {
|
||||
bug!("ty_is_local invoked on unexpected type: {:?}", ty)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1194,7 +1194,6 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
|
||||
ty::Foreign(..) => Some(19),
|
||||
ty::GeneratorWitness(..) => Some(20),
|
||||
ty::Placeholder(..) | ty::Bound(..) | ty::Infer(..) | ty::Error => None,
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -135,7 +135,5 @@ pub fn trivial_dropck_outlives<'tcx>(tcx: TyCtxt<'tcx>, ty: Ty<'tcx>) -> bool {
|
||||
| ty::Infer(_)
|
||||
| ty::Bound(..)
|
||||
| ty::Generator(..) => false,
|
||||
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
}
|
||||
}
|
||||
|
@ -2178,8 +2178,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
||||
ty::Projection(_) | ty::Param(_) | ty::Opaque(..) => None,
|
||||
ty::Infer(ty::TyVar(_)) => Ambiguous,
|
||||
|
||||
ty::UnnormalizedProjection(..)
|
||||
| ty::Placeholder(..)
|
||||
ty::Placeholder(..)
|
||||
| ty::Bound(..)
|
||||
| ty::Infer(ty::FreshTy(_) | ty::FreshIntTy(_) | ty::FreshFloatTy(_)) => {
|
||||
bug!("asked to assemble builtin bounds of unexpected type: {:?}", self_ty);
|
||||
@ -2250,8 +2249,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
||||
Ambiguous
|
||||
}
|
||||
|
||||
ty::UnnormalizedProjection(..)
|
||||
| ty::Placeholder(..)
|
||||
ty::Placeholder(..)
|
||||
| ty::Bound(..)
|
||||
| ty::Infer(ty::FreshTy(_) | ty::FreshIntTy(_) | ty::FreshFloatTy(_)) => {
|
||||
bug!("asked to assemble builtin bounds of unexpected type: {:?}", self_ty);
|
||||
@ -2284,8 +2282,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
|
||||
| ty::Never
|
||||
| ty::Char => Vec::new(),
|
||||
|
||||
ty::UnnormalizedProjection(..)
|
||||
| ty::Placeholder(..)
|
||||
ty::Placeholder(..)
|
||||
| ty::Dynamic(..)
|
||||
| ty::Param(..)
|
||||
| ty::Foreign(..)
|
||||
|
@ -389,8 +389,6 @@ impl<'a, 'tcx> WfPredicates<'a, 'tcx> {
|
||||
self.compute_projection(data);
|
||||
}
|
||||
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
|
||||
ty::Adt(def, substs) => {
|
||||
// WfNominalType
|
||||
let obligations = self.nominal_obligations(def.did, substs);
|
||||
|
@ -353,7 +353,6 @@ impl<'tcx> LowerInto<'tcx, chalk_ir::Ty<RustInterner<'tcx>>> for Ty<'tcx> {
|
||||
apply(chalk_ir::TypeName::Tuple(substs.len()), substs.lower_into(interner))
|
||||
}
|
||||
Projection(proj) => TyData::Alias(proj.lower_into(interner)).intern(interner),
|
||||
UnnormalizedProjection(_proj) => unimplemented!(),
|
||||
Opaque(_def_id, _substs) => unimplemented!(),
|
||||
// This should have been done eagerly prior to this, and all Params
|
||||
// should have been substituted to placeholders
|
||||
|
@ -271,8 +271,6 @@ fn dtorck_constraint_for_ty<'tcx>(
|
||||
constraints.dtorck_types.push(ty);
|
||||
}
|
||||
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
|
||||
ty::Placeholder(..) | ty::Bound(..) | ty::Infer(..) | ty::Error => {
|
||||
// By the time this code runs, all type variables ought to
|
||||
// be fully resolved.
|
||||
|
@ -47,8 +47,6 @@ fn sized_constraint_for_ty<'tcx>(
|
||||
vec![ty]
|
||||
}
|
||||
|
||||
UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
|
||||
Param(..) => {
|
||||
// perf hack: if there is a `T: Sized` bound, then
|
||||
// we know that `T` is Sized and do not need to check
|
||||
|
@ -115,7 +115,6 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
||||
ty::Foreign(..) => Some(PointerKind::Thin),
|
||||
// We should really try to normalize here.
|
||||
ty::Projection(ref pi) => Some(PointerKind::OfProjection(pi)),
|
||||
ty::UnnormalizedProjection(..) => bug!("only used with chalk-engine"),
|
||||
ty::Opaque(def_id, substs) => Some(PointerKind::OfOpaque(def_id, substs)),
|
||||
ty::Param(ref p) => Some(PointerKind::OfParam(p)),
|
||||
// Insufficient type information.
|
||||
|
@ -344,11 +344,7 @@ impl<'a, 'tcx> ConstraintContext<'a, 'tcx> {
|
||||
// types, where we use Error as the Self type
|
||||
}
|
||||
|
||||
ty::Placeholder(..)
|
||||
| ty::UnnormalizedProjection(..)
|
||||
| ty::GeneratorWitness(..)
|
||||
| ty::Bound(..)
|
||||
| ty::Infer(..) => {
|
||||
ty::Placeholder(..) | ty::GeneratorWitness(..) | ty::Bound(..) | ty::Infer(..) => {
|
||||
bug!(
|
||||
"unexpected type encountered in \
|
||||
variance inference: {}",
|
||||
|
@ -1722,7 +1722,6 @@ impl<'tcx> Clean<Type> for Ty<'tcx> {
|
||||
|
||||
ty::Bound(..) => panic!("Bound"),
|
||||
ty::Placeholder(..) => panic!("Placeholder"),
|
||||
ty::UnnormalizedProjection(..) => panic!("UnnormalizedProjection"),
|
||||
ty::GeneratorWitness(..) => panic!("GeneratorWitness"),
|
||||
ty::Infer(..) => panic!("Infer"),
|
||||
ty::Error => panic!("Error"),
|
||||
|
@ -32,7 +32,6 @@ fn main() {
|
||||
TyKind::Never => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
TyKind::Tuple(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
TyKind::Projection(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
TyKind::UnnormalizedProjection(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
TyKind::Opaque(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
TyKind::Param(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
TyKind::Bound(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
|
||||
|
@ -139,58 +139,52 @@ LL | TyKind::Projection(..) => (),
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:35:9
|
||||
|
|
||||
LL | TyKind::UnnormalizedProjection(..) => (),
|
||||
LL | TyKind::Opaque(..) => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:36:9
|
||||
|
|
||||
LL | TyKind::Opaque(..) => (),
|
||||
LL | TyKind::Param(..) => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:37:9
|
||||
|
|
||||
LL | TyKind::Param(..) => (),
|
||||
LL | TyKind::Bound(..) => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:38:9
|
||||
|
|
||||
LL | TyKind::Bound(..) => (),
|
||||
LL | TyKind::Placeholder(..) => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:39:9
|
||||
|
|
||||
LL | TyKind::Placeholder(..) => (),
|
||||
LL | TyKind::Infer(..) => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:40:9
|
||||
|
|
||||
LL | TyKind::Infer(..) => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:41:9
|
||||
|
|
||||
LL | TyKind::Error => (),
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind::<kind>`
|
||||
--> $DIR/ty_tykind_usage.rs:46:12
|
||||
--> $DIR/ty_tykind_usage.rs:45:12
|
||||
|
|
||||
LL | if let TyKind::Int(int_ty) = kind {}
|
||||
| ^^^^^^ help: try using ty::<kind> directly: `ty`
|
||||
|
||||
error: usage of `ty::TyKind`
|
||||
--> $DIR/ty_tykind_usage.rs:48:24
|
||||
--> $DIR/ty_tykind_usage.rs:47:24
|
||||
|
|
||||
LL | fn ty_kind(ty_bad: TyKind<'_>, ty_good: Ty<'_>) {}
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= help: try using `Ty` instead
|
||||
|
||||
error: aborting due to 31 previous errors
|
||||
error: aborting due to 30 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user