@@ -241,22 +241,30 @@ bitflags! {
241241 /// Basically anything but `ReLateBound` and `ReErased`.
242242 const HAS_FREE_REGIONS = 1 << 14 ;
243243
244- /// Does this have any `ReLateBound` regions? Used to check
245- /// if a global bound is safe to evaluate.
244+ /// Does this have any `ReLateBound` regions?
246245 const HAS_RE_LATE_BOUND = 1 << 15 ;
246+ /// Does this have any `Bound` types?
247+ const HAS_TY_LATE_BOUND = 1 << 16 ;
248+ /// Does this have any `ConstKind::Bound` consts?
249+ const HAS_CT_LATE_BOUND = 1 << 17 ;
250+ /// Does this have any bound variables?
251+ /// Used to check if a global bound is safe to evaluate.
252+ const HAS_LATE_BOUND = TypeFlags :: HAS_RE_LATE_BOUND . bits
253+ | TypeFlags :: HAS_TY_LATE_BOUND . bits
254+ | TypeFlags :: HAS_CT_LATE_BOUND . bits;
247255
248256 /// Does this have any `ReErased` regions?
249- const HAS_RE_ERASED = 1 << 16 ;
257+ const HAS_RE_ERASED = 1 << 18 ;
250258
251259 /// Does this value have parameters/placeholders/inference variables which could be
252260 /// replaced later, in a way that would change the results of `impl` specialization?
253- const STILL_FURTHER_SPECIALIZABLE = 1 << 17 ;
261+ const STILL_FURTHER_SPECIALIZABLE = 1 << 19 ;
254262
255263 /// Does this value have `InferTy::FreshTy/FreshIntTy/FreshFloatTy`?
256- const HAS_TY_FRESH = 1 << 18 ;
264+ const HAS_TY_FRESH = 1 << 20 ;
257265
258266 /// Does this value have `InferConst::Fresh`?
259- const HAS_CT_FRESH = 1 << 19 ;
267+ const HAS_CT_FRESH = 1 << 21 ;
260268 }
261269}
262270
0 commit comments