[][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 dropck_parametricity: 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 underscore_const_names: bool,
    pub lint_reasons: bool,
    pub type_alias_enum_variants: 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 repr_align_enum: bool,
    pub c_variadic: 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: booldropck_parametricity: 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: boolunderscore_const_names: boollint_reasons: booltype_alias_enum_variants: boolprecise_pointer_size_matching: boolre_rebalance_coherence: boolffi_returns_twice: boolconst_generics: booloptimize_attribute: boolrepr_align_enum: boolc_variadic: 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 !Send for Features

impl !Sync for Features

Blanket Implementations

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

type Owned = T

The resulting type after obtaining ownership.

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

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> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<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> Send for T where
    T: ?Sized
[src]

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

impl<T> Erased for T[src]