]>
git.proxmox.com Git - rustc.git/blob - src/librustc_typeck/outlives/test.rs
2 use rustc
::hir
::itemlikevisit
::ItemLikeVisitor
;
4 use syntax
::symbol
::sym
;
6 use rustc_error_codes
::*;
8 pub fn test_inferred_outlives(tcx
: TyCtxt
<'_
>) {
11 .visit_all_item_likes(&mut OutlivesTest { tcx }
);
14 struct OutlivesTest
<'tcx
> {
18 impl ItemLikeVisitor
<'tcx
> for OutlivesTest
<'tcx
> {
19 fn visit_item(&mut self, item
: &'tcx hir
::Item
) {
20 let item_def_id
= self.tcx
.hir().local_def_id(item
.hir_id
);
22 // For unit testing: check for a special "rustc_outlives"
23 // attribute and report an error with various results if found.
24 if self.tcx
.has_attr(item_def_id
, sym
::rustc_outlives
) {
25 let inferred_outlives_of
= self.tcx
.inferred_outlives_of(item_def_id
);
36 fn visit_trait_item(&mut self, _
: &'tcx hir
::TraitItem
) {}
37 fn visit_impl_item(&mut self, _
: &'tcx hir
::ImplItem
) {}