[][src]Struct syntax::feature_gate::Features

pub struct Features {
    pub declared_lang_features: Vec<(Symbol, Span, Option<Symbol>)>,
    pub declared_lib_features: Vec<(Symbol, Span)>,
    pub intrinsics: bool,
    pub lang_items: bool,
    pub staged_api: bool,
    pub allow_internal_unstable: bool,
    pub allow_internal_unsafe: bool,
    pub rustc_diagnostic_macros: bool,
    pub rustc_const_unstable: bool,
    pub link_llvm_intrinsics: bool,
    pub rustc_attrs: bool,
    pub on_unimplemented: bool,
    pub box_syntax: bool,
    pub main: bool,
    pub start: bool,
    pub fundamental: bool,
    pub unboxed_closures: bool,
    pub linkage: bool,
    pub optin_builtin_traits: bool,
    pub box_patterns: bool,
    pub prelude_import: bool,
    pub omit_gdb_pretty_printer_section: bool,
    pub abi_vectorcall: bool,
    pub structural_match: bool,
    pub dropck_eyepatch: bool,
    pub panic_runtime: bool,
    pub needs_panic_runtime: bool,
    pub compiler_builtins: bool,
    pub abi_unadjusted: bool,
    pub sanitizer_runtime: bool,
    pub profiler_runtime: bool,
    pub abi_thiscall: bool,
    pub allocator_internals: bool,
    pub format_args_nl: bool,
    pub test_2018_feature: bool,
    pub arm_target_feature: bool,
    pub aarch64_target_feature: bool,
    pub hexagon_target_feature: bool,
    pub powerpc_target_feature: bool,
    pub mips_target_feature: bool,
    pub avx512_target_feature: bool,
    pub mmx_target_feature: bool,
    pub sse4a_target_feature: bool,
    pub tbm_target_feature: bool,
    pub wasm_target_feature: bool,
    pub adx_target_feature: bool,
    pub cmpxchg16b_target_feature: bool,
    pub movbe_target_feature: bool,
    pub rtm_target_feature: bool,
    pub f16c_target_feature: bool,
    pub asm: bool,
    pub concat_idents: bool,
    pub link_args: bool,
    pub non_ascii_idents: bool,
    pub plugin_registrar: bool,
    pub plugin: bool,
    pub thread_local: bool,
    pub log_syntax: bool,
    pub trace_macros: bool,
    pub simd_ffi: bool,
    pub custom_attribute: bool,
    pub nll: bool,
    pub slice_patterns: bool,
    pub const_fn: bool,
    pub associated_type_defaults: bool,
    pub no_core: bool,
    pub default_type_parameter_fallback: bool,
    pub repr_simd: bool,
    pub platform_intrinsics: bool,
    pub unwind_attributes: bool,
    pub no_debug: bool,
    pub stmt_expr_attributes: bool,
    pub type_ascription: bool,
    pub cfg_target_thread_local: bool,
    pub specialization: bool,
    pub naked_functions: bool,
    pub cfg_target_has_atomic: bool,
    pub exclusive_range_pattern: bool,
    pub never_type: bool,
    pub exhaustive_patterns: bool,
    pub untagged_unions: bool,
    pub link_cfg: bool,
    pub abi_ptx: bool,
    pub repr128: bool,
    pub static_nobundle: bool,
    pub abi_msp430_interrupt: bool,
    pub decl_macro: bool,
    pub abi_x86_interrupt: bool,
    pub global_asm: bool,
    pub overlapping_marker_traits: bool,
    pub allow_fail: bool,
    pub unsized_tuple_coercion: bool,
    pub generators: bool,
    pub doc_cfg: bool,
    pub doc_masked: bool,
    pub doc_spotlight: bool,
    pub external_doc: bool,
    pub non_exhaustive: bool,
    pub crate_visibility_modifier: bool,
    pub extern_types: bool,
    pub arbitrary_self_types: bool,
    pub in_band_lifetimes: bool,
    pub generic_associated_types: bool,
    pub trait_alias: bool,
    pub infer_static_outlives_requirements: bool,
    pub macros_in_extern: bool,
    pub const_fn_union: bool,
    pub const_raw_ptr_to_usize_cast: bool,
    pub const_raw_ptr_deref: bool,
    pub const_compare_raw_pointers: bool,
    pub doc_alias: bool,
    pub existential_type: bool,
    pub trivial_bounds: bool,
    pub label_break_value: bool,
    pub doc_keyword: bool,
    pub async_await: bool,
    pub await_macro: bool,
    pub const_transmute: bool,
    pub try_blocks: bool,
    pub alloc_error_handler: bool,
    pub abi_amdgpu_kernel: bool,
    pub const_panic: bool,
    pub marker_trait_attr: bool,
    pub proc_macro_hygiene: bool,
    pub unsized_locals: bool,
    pub custom_test_frameworks: bool,
    pub custom_inner_attributes: bool,
    pub bind_by_move_pattern_guards: bool,
    pub impl_trait_in_bindings: bool,
    pub lint_reasons: bool,
    pub precise_pointer_size_matching: bool,
    pub re_rebalance_coherence: bool,
    pub ffi_returns_twice: bool,
    pub const_generics: bool,
    pub optimize_attribute: bool,
    pub c_variadic: bool,
    pub associated_type_bounds: bool,
    pub param_attrs: bool,
    pub const_constructor: bool,
    pub let_chains: bool,
    pub transparent_enums: bool,
    pub transparent_unions: bool,
    pub arbitrary_enum_discriminant: bool,
    pub member_constraints: bool,
    pub async_closure: bool,
    pub cfg_doctest: bool,
    pub const_in_array_repeat_expressions: bool,
}

A set of features to be used by later passes.

Fields

declared_lang_features: Vec<(Symbol, Span, Option<Symbol>)>

#![feature] attrs for language features, for error reporting

declared_lib_features: Vec<(Symbol, Span)>

#![feature] attrs for non-language (library) features

intrinsics: boollang_items: boolstaged_api: boolallow_internal_unstable: boolallow_internal_unsafe: boolrustc_diagnostic_macros: boolrustc_const_unstable: boollink_llvm_intrinsics: boolrustc_attrs: boolon_unimplemented: boolbox_syntax: boolmain: boolstart: boolfundamental: boolunboxed_closures: boollinkage: booloptin_builtin_traits: boolbox_patterns: boolprelude_import: boolomit_gdb_pretty_printer_section: boolabi_vectorcall: boolstructural_match: booldropck_eyepatch: boolpanic_runtime: boolneeds_panic_runtime: boolcompiler_builtins: boolabi_unadjusted: boolsanitizer_runtime: boolprofiler_runtime: boolabi_thiscall: boolallocator_internals: boolformat_args_nl: booltest_2018_feature: boolarm_target_feature: boolaarch64_target_feature: boolhexagon_target_feature: boolpowerpc_target_feature: boolmips_target_feature: boolavx512_target_feature: boolmmx_target_feature: boolsse4a_target_feature: booltbm_target_feature: boolwasm_target_feature: booladx_target_feature: boolcmpxchg16b_target_feature: boolmovbe_target_feature: boolrtm_target_feature: boolf16c_target_feature: boolasm: boolconcat_idents: boollink_args: boolnon_ascii_idents: boolplugin_registrar: boolplugin: boolthread_local: boollog_syntax: booltrace_macros: boolsimd_ffi: boolcustom_attribute: boolnll: boolslice_patterns: boolconst_fn: boolassociated_type_defaults: boolno_core: booldefault_type_parameter_fallback: boolrepr_simd: boolplatform_intrinsics: boolunwind_attributes: boolno_debug: boolstmt_expr_attributes: booltype_ascription: boolcfg_target_thread_local: boolspecialization: boolnaked_functions: boolcfg_target_has_atomic: boolexclusive_range_pattern: boolnever_type: boolexhaustive_patterns: booluntagged_unions: boollink_cfg: boolabi_ptx: boolrepr128: boolstatic_nobundle: boolabi_msp430_interrupt: booldecl_macro: boolabi_x86_interrupt: boolglobal_asm: booloverlapping_marker_traits: boolallow_fail: boolunsized_tuple_coercion: boolgenerators: booldoc_cfg: booldoc_masked: booldoc_spotlight: boolexternal_doc: boolnon_exhaustive: boolcrate_visibility_modifier: boolextern_types: boolarbitrary_self_types: boolin_band_lifetimes: boolgeneric_associated_types: booltrait_alias: boolinfer_static_outlives_requirements: boolmacros_in_extern: boolconst_fn_union: boolconst_raw_ptr_to_usize_cast: boolconst_raw_ptr_deref: boolconst_compare_raw_pointers: booldoc_alias: boolexistential_type: booltrivial_bounds: boollabel_break_value: booldoc_keyword: boolasync_await: boolawait_macro: boolconst_transmute: booltry_blocks: boolalloc_error_handler: boolabi_amdgpu_kernel: boolconst_panic: boolmarker_trait_attr: boolproc_macro_hygiene: boolunsized_locals: boolcustom_test_frameworks: boolcustom_inner_attributes: boolbind_by_move_pattern_guards: boolimpl_trait_in_bindings: boollint_reasons: boolprecise_pointer_size_matching: boolre_rebalance_coherence: boolffi_returns_twice: boolconst_generics: booloptimize_attribute: boolc_variadic: boolassociated_type_bounds: boolparam_attrs: boolconst_constructor: boollet_chains: booltransparent_enums: booltransparent_unions: boolarbitrary_enum_discriminant: boolmember_constraints: boolasync_closure: boolcfg_doctest: boolconst_in_array_repeat_expressions: bool

Methods

impl Features[src]

pub fn new() -> Features[src]

pub fn walk_feature_fields<F>(&self, f: F) where
    F: FnMut(&str, bool), 
[src]

Trait Implementations

impl Clone for Features[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl !Sync for Features

impl Unpin for Features

impl !Send for Features

impl UnwindSafe for Features

impl RefUnwindSafe for Features

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<E> SpecializationError for E[src]

impl<T> Erased for T[src]