Skip to content

Commit

Permalink
Auto merge of #29725 - aturon:lang-features, r=huonw
Browse files Browse the repository at this point in the history
This commit adds issue numbers to the vast majority of active feature
gates. The few that are left without issues are rustc/runtime-internal
features that are essentially private APIs.

Closes #28244

r? @huonw
  • Loading branch information
bors committed Nov 10, 2015
2 parents 3519eff + dacab06 commit 5f64201
Showing 1 changed file with 59 additions and 45 deletions.
104 changes: 59 additions & 45 deletions src/libsyntax/feature_gate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,53 +51,59 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
("globs", "1.0.0", None, Accepted),
("macro_rules", "1.0.0", None, Accepted),
("struct_variant", "1.0.0", None, Accepted),
("asm", "1.0.0", None, Active),
("asm", "1.0.0", Some(29722), Active),
("managed_boxes", "1.0.0", None, Removed),
("non_ascii_idents", "1.0.0", None, Active),
("thread_local", "1.0.0", None, Active),
("link_args", "1.0.0", None, Active),
("plugin_registrar", "1.0.0", None, Active),
("log_syntax", "1.0.0", None, Active),
("trace_macros", "1.0.0", None, Active),
("concat_idents", "1.0.0", None, Active),
("non_ascii_idents", "1.0.0", Some(28979), Active),
("thread_local", "1.0.0", Some(29594), Active),
("link_args", "1.0.0", Some(29596), Active),
("plugin_registrar", "1.0.0", Some(29597), Active),
("log_syntax", "1.0.0", Some(29598), Active),
("trace_macros", "1.0.0", Some(29598), Active),
("concat_idents", "1.0.0", Some(29599), Active),

// rustc internal, for now:
("intrinsics", "1.0.0", None, Active),
("lang_items", "1.0.0", None, Active),

("simd", "1.0.0", Some(27731), Active),
("default_type_params", "1.0.0", None, Accepted),
("quote", "1.0.0", None, Active),
("link_llvm_intrinsics", "1.0.0", None, Active),
("linkage", "1.0.0", None, Active),
("quote", "1.0.0", Some(29601), Active),
("link_llvm_intrinsics", "1.0.0", Some(29602), Active),
("linkage", "1.0.0", Some(29603), Active),
("struct_inherit", "1.0.0", None, Removed),

("quad_precision_float", "1.0.0", None, Removed),

// rustc internal
("rustc_diagnostic_macros", "1.0.0", None, Active),
("unboxed_closures", "1.0.0", None, Active),
("reflect", "1.0.0", None, Active),
("unboxed_closures", "1.0.0", Some(29625), Active),
("reflect", "1.0.0", Some(27749), Active),
("import_shadowing", "1.0.0", None, Removed),
("advanced_slice_patterns", "1.0.0", None, Active),
("advanced_slice_patterns", "1.0.0", Some(23121), Active),
("tuple_indexing", "1.0.0", None, Accepted),
("associated_types", "1.0.0", None, Accepted),
("visible_private_types", "1.0.0", None, Active),
("visible_private_types", "1.0.0", Some(29627), Active),
("slicing_syntax", "1.0.0", None, Accepted),
("box_syntax", "1.0.0", Some(27779), Active),
("placement_in_syntax", "1.0.0", Some(27779), Active),

// rustc internal.
("pushpop_unsafe", "1.2.0", None, Active),
("on_unimplemented", "1.0.0", None, Active),
("simd_ffi", "1.0.0", None, Active),
("allocator", "1.0.0", None, Active),
("needs_allocator", "1.4.0", None, Active),
("linked_from", "1.3.0", None, Active),

("on_unimplemented", "1.0.0", Some(29628), Active),
("simd_ffi", "1.0.0", Some(27731), Active),
("allocator", "1.0.0", Some(27389), Active),
("needs_allocator", "1.4.0", Some(27389), Active),
("linked_from", "1.3.0", Some(29629), Active),

("if_let", "1.0.0", None, Accepted),
("while_let", "1.0.0", None, Accepted),

("plugin", "1.0.0", None, Active),
("start", "1.0.0", None, Active),
("main", "1.0.0", None, Active),
("plugin", "1.0.0", Some(29597), Active),
("start", "1.0.0", Some(29633), Active),
("main", "1.0.0", Some(29634), Active),

("fundamental", "1.0.0", None, Active),
("fundamental", "1.0.0", Some(29635), Active),

// A temporary feature gate used to enable parser extensions needed
// to bootstrap fix for #5723.
Expand All @@ -107,30 +113,32 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
("opt_out_copy", "1.0.0", None, Removed),

// OIBIT specific features
("optin_builtin_traits", "1.0.0", None, Active),
("optin_builtin_traits", "1.0.0", Some(13231), Active),

// macro reexport needs more discussion and stabilization
("macro_reexport", "1.0.0", None, Active),
("macro_reexport", "1.0.0", Some(29638), Active),

// These are used to test this portion of the compiler, they don't actually
// mean anything
("test_accepted_feature", "1.0.0", None, Accepted),
("test_removed_feature", "1.0.0", None, Removed),

// Allows use of #[staged_api]
// rustc internal
("staged_api", "1.0.0", None, Active),

// Allows using items which are missing stability attributes
// rustc internal
("unmarked_api", "1.0.0", None, Active),

// Allows using #![no_std]
("no_std", "1.0.0", None, Active),
("no_std", "1.0.0", Some(27701), Active),

// Allows using #![no_core]
("no_core", "1.3.0", None, Active),
("no_core", "1.3.0", Some(29639), Active),

// Allows using `box` in patterns; RFC 469
("box_patterns", "1.0.0", None, Active),
("box_patterns", "1.0.0", Some(29641), Active),

// Allows using the unsafe_no_drop_flag attribute (unlikely to
// switch to Accepted; see RFC 320)
Expand All @@ -141,75 +149,81 @@ const KNOWN_FEATURES: &'static [(&'static str, &'static str, Option<u32>, Status
("dropck_parametricity", "1.3.0", Some(28498), Active),

// Allows the use of custom attributes; RFC 572
("custom_attribute", "1.0.0", None, Active),
("custom_attribute", "1.0.0", Some(29642), Active),

// Allows the use of #[derive(Anything)] as sugar for
// #[derive_Anything].
("custom_derive", "1.0.0", None, Active),
("custom_derive", "1.0.0", Some(29644), Active),

// Allows the use of rustc_* attributes; RFC 572
("rustc_attrs", "1.0.0", None, Active),
("rustc_attrs", "1.0.0", Some(29642), Active),

// Allows the use of #[allow_internal_unstable]. This is an
// attribute on macro_rules! and can't use the attribute handling
// below (it has to be checked before expansion possibly makes
// macros disappear).
//
// rustc internal
("allow_internal_unstable", "1.0.0", None, Active),

// #23121. Array patterns have some hazards yet.
("slice_patterns", "1.0.0", None, Active),
("slice_patterns", "1.0.0", Some(23121), Active),

// Allows use of unary negate on unsigned integers, e.g. -e for e: u8
("negate_unsigned", "1.0.0", None, Active),
("negate_unsigned", "1.0.0", Some(29645), Active),

// Allows the definition of associated constants in `trait` or `impl`
// blocks.
("associated_consts", "1.0.0", None, Active),
("associated_consts", "1.0.0", Some(29646), Active),

// Allows the definition of `const fn` functions.
("const_fn", "1.2.0", None, Active),
("const_fn", "1.2.0", Some(24111), Active),

// Allows using #[prelude_import] on glob `use` items.
//
// rustc internal
("prelude_import", "1.2.0", None, Active),

// Allows the definition recursive static items.
("static_recursion", "1.3.0", None, Active),
("static_recursion", "1.3.0", Some(29719), Active),

// Allows default type parameters to influence type inference.
("default_type_parameter_fallback", "1.3.0", None, Active),
("default_type_parameter_fallback", "1.3.0", Some(27336), Active),

// Allows associated type defaults
("associated_type_defaults", "1.2.0", None, Active),
// Allows macros to appear in the type position.
("associated_type_defaults", "1.2.0", Some(29661), Active),

// Allows macros to appear in the type position.
("type_macros", "1.3.0", Some(27336), Active),

// allow `repr(simd)`, and importing the various simd intrinsics
("repr_simd", "1.4.0", Some(27731), Active),

// Allows cfg(target_feature = "...").
("cfg_target_feature", "1.4.0", None, Active),
("cfg_target_feature", "1.4.0", Some(29717), Active),

// allow `extern "platform-intrinsic" { ... }`
("platform_intrinsics", "1.4.0", Some(27731), Active),

// allow `#[unwind]`
// rust runtime internal
("unwind_attributes", "1.4.0", None, Active),

// allow empty structs and enum variants with braces
("braced_empty_structs", "1.5.0", None, Active),
("braced_empty_structs", "1.5.0", Some(29720), Active),

// allow overloading augmented assignment operations like `a += b`
("augmented_assignments", "1.5.0", None, Active),
("augmented_assignments", "1.5.0", Some(28235), Active),

// allow `#[no_debug]`
("no_debug", "1.5.0", None, Active),
("no_debug", "1.5.0", Some(29721), Active),

// allow `#[omit_gdb_pretty_printer_section]`
// rustc internal.
("omit_gdb_pretty_printer_section", "1.5.0", None, Active),

// Allows cfg(target_vendor = "...").
("cfg_target_vendor", "1.5.0", None, Active),
("cfg_target_vendor", "1.5.0", Some(29718), Active),
];
// (changing above list without updating src/doc/reference.md makes @cmr sad)

Expand Down

0 comments on commit 5f64201

Please sign in to comment.