]>
Commit | Line | Data |
---|---|---|
e74abb32 | 1 | use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; |
9fa01778 | 2 | use crate::traits::query::Fallible; |
ba9703b0 | 3 | use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; |
8faf50e0 | 4 | |
ba9703b0 | 5 | pub use rustc_middle::traits::query::type_op::Subtype; |
8faf50e0 | 6 | |
dc9dc135 | 7 | impl<'tcx> super::QueryTypeOp<'tcx> for Subtype<'tcx> { |
0bf4aa26 | 8 | type QueryResponse = (); |
8faf50e0 | 9 | |
dc9dc135 | 10 | fn try_fast_path(_tcx: TyCtxt<'tcx>, key: &ParamEnvAnd<'tcx, Self>) -> Option<()> { |
dfeec247 | 11 | if key.value.sub == key.value.sup { Some(()) } else { None } |
8faf50e0 XL |
12 | } |
13 | ||
14 | fn perform_query( | |
dc9dc135 XL |
15 | tcx: TyCtxt<'tcx>, |
16 | canonicalized: Canonicalized<'tcx, ParamEnvAnd<'tcx, Self>>, | |
17 | ) -> Fallible<CanonicalizedQueryResponse<'tcx, ()>> { | |
8faf50e0 XL |
18 | tcx.type_op_subtype(canonicalized) |
19 | } | |
8faf50e0 | 20 | } |