@@ -29,11 +29,16 @@ impl<'tcx> LibFeatureCollector<'tcx> {
29
29
}
30
30
31
31
fn extract ( & self , attr : & Attribute ) -> Option < ( Symbol , Option < Symbol > , Span ) > {
32
- let stab_attrs =
33
- [ sym:: stable, sym:: unstable, sym:: rustc_const_stable, sym:: rustc_const_unstable] ;
32
+ let stab_attrs = [
33
+ sym:: stable,
34
+ sym:: unstable,
35
+ sym:: rustc_const_stable,
36
+ sym:: rustc_const_unstable,
37
+ sym:: rustc_default_body_unstable,
38
+ ] ;
34
39
35
40
// Find a stability attribute: one of #[stable(…)], #[unstable(…)],
36
- // #[rustc_const_stable(…)], or #[rustc_const_unstable(…)].
41
+ // #[rustc_const_stable(…)], #[rustc_const_unstable(…)] or #[rustc_default_body_unstable ].
37
42
if let Some ( stab_attr) = stab_attrs. iter ( ) . find ( |stab_attr| attr. has_name ( * * stab_attr) ) {
38
43
let meta_kind = attr. meta_kind ( ) ;
39
44
if let Some ( MetaItemKind :: List ( ref metas) ) = meta_kind {
@@ -53,8 +58,12 @@ impl<'tcx> LibFeatureCollector<'tcx> {
53
58
// This additional check for stability is to make sure we
54
59
// don't emit additional, irrelevant errors for malformed
55
60
// attributes.
56
- let is_unstable =
57
- matches ! ( * stab_attr, sym:: unstable | sym:: rustc_const_unstable) ;
61
+ let is_unstable = matches ! (
62
+ * stab_attr,
63
+ sym:: unstable
64
+ | sym:: rustc_const_unstable
65
+ | sym:: rustc_default_body_unstable
66
+ ) ;
58
67
if since. is_some ( ) || is_unstable {
59
68
return Some ( ( feature, since, attr. span ) ) ;
60
69
}
0 commit comments