X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=compiler%2Frustc_middle%2Fsrc%2Fty%2Fsubst.rs;h=cf1bb5f8ac8db27900054ae4415777b520f93e52;hb=f361413cbf44ce2f144df59fc440cd484af4a56e;hp=a07582fc8ff1ec6e8a859d4642003d90806c8bd0;hpb=885bf628879310b885721e1fdd91ea2cbca9311f;p=rust.git diff --git a/compiler/rustc_middle/src/ty/subst.rs b/compiler/rustc_middle/src/ty/subst.rs index a07582fc8ff..cf1bb5f8ac8 100644 --- a/compiler/rustc_middle/src/ty/subst.rs +++ b/compiler/rustc_middle/src/ty/subst.rs @@ -758,6 +758,11 @@ pub fn subst(self, tcx: TyCtxt<'tcx>, substs: &[GenericArg<'tcx>]) -> T { pub fn subst_identity(self) -> T { self.0 } + + /// Returns the inner value, but only if it contains no bound vars. + pub fn no_bound_vars(self) -> Option { + if !self.0.needs_subst() { Some(self.0) } else { None } + } } ///////////////////////////////////////////////////////////////////////////