Skip to content

Commit 975455b

Browse files
committed
syntax: extract removed.rs feature gates.
1 parent b873743 commit 975455b

File tree

3 files changed

+85
-77
lines changed

3 files changed

+85
-77
lines changed

src/libsyntax/feature_gate.rs

Lines changed: 2 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
1515
mod accepted;
1616
use accepted::ACCEPTED_FEATURES;
17+
mod removed;
18+
use removed::{REMOVED_FEATURES, STABLE_REMOVED_FEATURES};
1719

1820
use AttributeType::*;
1921
use AttributeGate::*;
@@ -83,20 +85,6 @@ macro_rules! declare_features {
8385
}
8486
}
8587
};
86-
87-
($((removed, $feature: ident, $ver: expr, $issue: expr, None, $reason: expr),)+) => {
88-
/// Represents unstable features which have since been removed (it was once Active)
89-
const REMOVED_FEATURES: &[(Symbol, &str, Option<u32>, Option<&str>)] = &[
90-
$((sym::$feature, $ver, $issue, $reason)),+
91-
];
92-
};
93-
94-
($((stable_removed, $feature: ident, $ver: expr, $issue: expr, None),)+) => {
95-
/// Represents stable features which have since been removed (it was once Accepted)
96-
const STABLE_REMOVED_FEATURES: &[(Symbol, &str, Option<u32>, Option<&str>)] = &[
97-
$((sym::$feature, $ver, $issue, None)),+
98-
];
99-
};
10088
}
10189

10290
// If you change this, please modify `src/doc/unstable-book` as well.
@@ -571,69 +559,6 @@ pub const INCOMPLETE_FEATURES: &[Symbol] = &[
571559
sym::let_chains,
572560
];
573561

574-
declare_features! (
575-
// -------------------------------------------------------------------------
576-
// feature-group-start: removed features
577-
// -------------------------------------------------------------------------
578-
579-
(removed, import_shadowing, "1.0.0", None, None, None),
580-
(removed, managed_boxes, "1.0.0", None, None, None),
581-
// Allows use of unary negate on unsigned integers, e.g., -e for e: u8
582-
(removed, negate_unsigned, "1.0.0", Some(29645), None, None),
583-
(removed, reflect, "1.0.0", Some(27749), None, None),
584-
// A way to temporarily opt out of opt in copy. This will *never* be accepted.
585-
(removed, opt_out_copy, "1.0.0", None, None, None),
586-
(removed, quad_precision_float, "1.0.0", None, None, None),
587-
(removed, struct_inherit, "1.0.0", None, None, None),
588-
(removed, test_removed_feature, "1.0.0", None, None, None),
589-
(removed, visible_private_types, "1.0.0", None, None, None),
590-
(removed, unsafe_no_drop_flag, "1.0.0", None, None, None),
591-
// Allows using items which are missing stability attributes
592-
(removed, unmarked_api, "1.0.0", None, None, None),
593-
(removed, allocator, "1.0.0", None, None, None),
594-
(removed, simd, "1.0.0", Some(27731), None,
595-
Some("removed in favor of `#[repr(simd)]`")),
596-
(removed, advanced_slice_patterns, "1.0.0", Some(62254), None,
597-
Some("merged into `#![feature(slice_patterns)]`")),
598-
(removed, macro_reexport, "1.0.0", Some(29638), None,
599-
Some("subsumed by `pub use`")),
600-
(removed, pushpop_unsafe, "1.2.0", None, None, None),
601-
(removed, needs_allocator, "1.4.0", Some(27389), None,
602-
Some("subsumed by `#![feature(allocator_internals)]`")),
603-
(removed, proc_macro_mod, "1.27.0", Some(54727), None,
604-
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
605-
(removed, proc_macro_expr, "1.27.0", Some(54727), None,
606-
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
607-
(removed, proc_macro_non_items, "1.27.0", Some(54727), None,
608-
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
609-
(removed, proc_macro_gen, "1.27.0", Some(54727), None,
610-
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
611-
(removed, panic_implementation, "1.28.0", Some(44489), None,
612-
Some("subsumed by `#[panic_handler]`")),
613-
// Allows the use of `#[derive(Anything)]` as sugar for `#[derive_Anything]`.
614-
(removed, custom_derive, "1.32.0", Some(29644), None,
615-
Some("subsumed by `#[proc_macro_derive]`")),
616-
// Paths of the form: `extern::foo::bar`
617-
(removed, extern_in_paths, "1.33.0", Some(55600), None,
618-
Some("subsumed by `::foo::bar` paths")),
619-
(removed, quote, "1.33.0", Some(29601), None, None),
620-
// Allows using `#[unsafe_destructor_blind_to_params]` (RFC 1238).
621-
(removed, dropck_parametricity, "1.38.0", Some(28498), None, None),
622-
(removed, await_macro, "1.38.0", Some(50547), None,
623-
Some("subsumed by `.await` syntax")),
624-
// Allows defining `existential type`s.
625-
(removed, existential_type, "1.38.0", Some(63063), None,
626-
Some("removed in favor of `#![feature(type_alias_impl_trait)]`")),
627-
628-
// -------------------------------------------------------------------------
629-
// feature-group-end: removed features
630-
// -------------------------------------------------------------------------
631-
);
632-
633-
declare_features! (
634-
(stable_removed, no_stack_check, "1.0.0", None, None),
635-
);
636-
637562
// If you change this, please modify `src/doc/unstable-book` as well. You must
638563
// move that documentation into the relevant place in the other docs, and
639564
// remove the chapter on the flag.

src/libsyntax/feature_gate/attr.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//! TODO

src/libsyntax/feature_gate/removed.rs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
//! List of the removed feature gates.
2+
3+
use crate::symbol::{Symbol, sym};
4+
5+
macro_rules! declare_features {
6+
($((removed, $feature: ident, $ver: expr, $issue: expr, None, $reason: expr),)+) => {
7+
/// Represents unstable features which have since been removed (it was once Active)
8+
pub const REMOVED_FEATURES: &[(Symbol, &str, Option<u32>, Option<&str>)] = &[
9+
$((sym::$feature, $ver, $issue, $reason)),+
10+
];
11+
};
12+
13+
($((stable_removed, $feature: ident, $ver: expr, $issue: expr, None),)+) => {
14+
/// Represents stable features which have since been removed (it was once Accepted)
15+
pub const STABLE_REMOVED_FEATURES: &[(Symbol, &str, Option<u32>, Option<&str>)] = &[
16+
$((sym::$feature, $ver, $issue, None)),+
17+
];
18+
};
19+
}
20+
21+
declare_features! (
22+
// -------------------------------------------------------------------------
23+
// feature-group-start: removed features
24+
// -------------------------------------------------------------------------
25+
26+
(removed, import_shadowing, "1.0.0", None, None, None),
27+
(removed, managed_boxes, "1.0.0", None, None, None),
28+
// Allows use of unary negate on unsigned integers, e.g., -e for e: u8
29+
(removed, negate_unsigned, "1.0.0", Some(29645), None, None),
30+
(removed, reflect, "1.0.0", Some(27749), None, None),
31+
// A way to temporarily opt out of opt in copy. This will *never* be accepted.
32+
(removed, opt_out_copy, "1.0.0", None, None, None),
33+
(removed, quad_precision_float, "1.0.0", None, None, None),
34+
(removed, struct_inherit, "1.0.0", None, None, None),
35+
(removed, test_removed_feature, "1.0.0", None, None, None),
36+
(removed, visible_private_types, "1.0.0", None, None, None),
37+
(removed, unsafe_no_drop_flag, "1.0.0", None, None, None),
38+
// Allows using items which are missing stability attributes
39+
(removed, unmarked_api, "1.0.0", None, None, None),
40+
(removed, allocator, "1.0.0", None, None, None),
41+
(removed, simd, "1.0.0", Some(27731), None,
42+
Some("removed in favor of `#[repr(simd)]`")),
43+
(removed, advanced_slice_patterns, "1.0.0", Some(62254), None,
44+
Some("merged into `#![feature(slice_patterns)]`")),
45+
(removed, macro_reexport, "1.0.0", Some(29638), None,
46+
Some("subsumed by `pub use`")),
47+
(removed, pushpop_unsafe, "1.2.0", None, None, None),
48+
(removed, needs_allocator, "1.4.0", Some(27389), None,
49+
Some("subsumed by `#![feature(allocator_internals)]`")),
50+
(removed, proc_macro_mod, "1.27.0", Some(54727), None,
51+
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
52+
(removed, proc_macro_expr, "1.27.0", Some(54727), None,
53+
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
54+
(removed, proc_macro_non_items, "1.27.0", Some(54727), None,
55+
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
56+
(removed, proc_macro_gen, "1.27.0", Some(54727), None,
57+
Some("subsumed by `#![feature(proc_macro_hygiene)]`")),
58+
(removed, panic_implementation, "1.28.0", Some(44489), None,
59+
Some("subsumed by `#[panic_handler]`")),
60+
// Allows the use of `#[derive(Anything)]` as sugar for `#[derive_Anything]`.
61+
(removed, custom_derive, "1.32.0", Some(29644), None,
62+
Some("subsumed by `#[proc_macro_derive]`")),
63+
// Paths of the form: `extern::foo::bar`
64+
(removed, extern_in_paths, "1.33.0", Some(55600), None,
65+
Some("subsumed by `::foo::bar` paths")),
66+
(removed, quote, "1.33.0", Some(29601), None, None),
67+
// Allows using `#[unsafe_destructor_blind_to_params]` (RFC 1238).
68+
(removed, dropck_parametricity, "1.38.0", Some(28498), None, None),
69+
(removed, await_macro, "1.38.0", Some(50547), None,
70+
Some("subsumed by `.await` syntax")),
71+
// Allows defining `existential type`s.
72+
(removed, existential_type, "1.38.0", Some(63063), None,
73+
Some("removed in favor of `#![feature(type_alias_impl_trait)]`")),
74+
75+
// -------------------------------------------------------------------------
76+
// feature-group-end: removed features
77+
// -------------------------------------------------------------------------
78+
);
79+
80+
declare_features! (
81+
(stable_removed, no_stack_check, "1.0.0", None, None),
82+
);

0 commit comments

Comments
 (0)