diff options
| author | Michael Goulet <michael@errs.io> | 2024-03-20 12:52:48 -0400 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2024-03-20 13:00:34 -0400 |
| commit | aa39dbb962fc1410613458e88269fe0b760ad7f8 (patch) | |
| tree | 0c5db226029fd98cf8f4a3a50e288164758d1c75 /compiler/rustc_metadata/src/rmeta/decoder.rs | |
| parent | a128516cf9de352ae1f9d430ed730363c7ca3c0c (diff) | |
| download | rust-aa39dbb962fc1410613458e88269fe0b760ad7f8.tar.gz rust-aa39dbb962fc1410613458e88269fe0b760ad7f8.zip | |
Split item bounds and item super predicates
Diffstat (limited to 'compiler/rustc_metadata/src/rmeta/decoder.rs')
| -rw-r--r-- | compiler/rustc_metadata/src/rmeta/decoder.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/decoder.rs b/compiler/rustc_metadata/src/rmeta/decoder.rs index 03783fa9798..596da58b091 100644 --- a/compiler/rustc_metadata/src/rmeta/decoder.rs +++ b/compiler/rustc_metadata/src/rmeta/decoder.rs @@ -1063,6 +1063,20 @@ impl<'a, 'tcx> CrateMetadataRef<'a> { ty::EarlyBinder::bind(&*output) } + fn get_explicit_item_super_predicates( + self, + index: DefIndex, + tcx: TyCtxt<'tcx>, + ) -> ty::EarlyBinder<&'tcx [(ty::Clause<'tcx>, Span)]> { + let lazy = self.root.tables.explicit_item_super_predicates.get(self, index); + let output = if lazy.is_default() { + &mut [] + } else { + tcx.arena.alloc_from_iter(lazy.decode((self, tcx))) + }; + ty::EarlyBinder::bind(&*output) + } + fn get_variant( self, kind: DefKind, |
