rust-search-extension/extension/index/caniuse.js
2021-03-27 00:03:37 +08:00

1 line
No EOL
36 KiB
JavaScript

var caniuseIndex=[["1.0","macro_rules","macro_rules","`macro_rules!`",null],["1.0","associated_types","associated_types","associated types in traits",null],["1.0","tuple_indexing","tuple_indexing","tuple indexing",null],["1.0","struct_variant","struct_variant","struct variants in enums",null],["1.0","slicing_syntax","slicing_syntax","`&foo[a..b]` as slicing syntax",null],["1.0","if_let","if_let","`if let` expressions",null],["1.0","default_type_params","default_type_params","type parameter defaults",null],["1.0","while_let","while_let","`while let` expressions",null],["1.9","deprecated","deprecated","`#[deprecated]`",1270],["1.46","track_caller","track_caller","the `#[track_caller]` attribute",2091],["1.46","vec_drain_as_ref","vec_drain_as_slice","`AsRef<[T]>` implementation for `vec::Drain<'_, T>`",null],["1.46","const_slice_cast",null,"array to slice casts and coercions in `const fn`",null],["1.46","option_zip","option_zip","`Option::zip`",null],["1.46","const_if_match","const_if_match","`if` and `match` in constant evaluation",2342],["1.46","const_forget","const_forget","`mem::forget` as `const fn`",null],["1.46","trailing_ones","leading_trailing_ones","`trailing_ones` integer methods",null],["1.46","const_loop","const_loop","`loop` and `while` in constant evaluation",2344],["1.46","vec_intoiter_as_ref","vec_intoiter_as_ref","`AsRef<[T]>` implementation for `vec::IntoIter<T>`",null],["1.46","nested_tuple_indexing",null,"nested tuple indexing without parentheses (`tuple.0.0`)",null],["1.46","partialeq_vec_for_ref_slice","partialeq_vec_for_ref_slice","`PartialEq<Vec<_>>` implementations for slices",null],["1.46","const_transmute","const_transmute","`mem::transmute` in constants",null],["1.46","vec_drain_as_slice","vec_drain_as_slice","`std::vec::Drain::as_slice`",null],["1.46","leading_ones","leading_trailing_ones","`leading_ones` integer methods",null],["1.46","from_char_for_string","from_char_for_string","`From<char>` implementation for `String`",null],["1.39","const_str_as_bytes",null,"`str::as_bytes` as `const fn`",null],["1.39","const_str_len",null,"`str::len` as `const fn`",null],["1.39","bind_by_move_pattern_guards","bind_by_move_pattern_guards","shared references to bind-by-move patterns in `match` arms' guards",null],["1.39","async","async_await","`async`",null],["1.39","const_slice_len",null,"`[T]::len` as `const fn`",null],["1.39","instant_saturating_duration_since",null,"`Instant::saturating_duration_since`",null],["1.39","const_linkedlist_new",null,"`LinkedList::new` as `const fn`",null],["1.39","const_string_new",null,"`String::new` as `const fn`",null],["1.39","param_attrs","param_attrs","attributes on function parameters",null],["1.39","const_vec_new",null,"`Vec::new` as `const fn`",null],["1.39","pin_into_inner",null,"`Pin::into_inner`",null],["1.39","await","async_await","`.await`",null],["1.39","instant_checked_duration_since",null,"`Instant::checked_duration_since`",null],["1.8","augmented_assignments","augmented_assignments","assignment operator overloading",null],["1.8","braced_empty_structs","braced_empty_structs","empty structs and enum variants with braces",218],["1.23","unsized_ptr_as_mut",null,"`as_mut` on `*mut T`",null],["1.23","unsized_ptr_as_ref",null,"`as_ref` on pointers to unsized types",null],["1.50","assign_manually_drop_in_unions",null,"safe assignment to `ManuallyDrop<T>` in `union`s",null],["1.50","ord_clamp","clamp","`Ord::clamp`",1961],["1.50","f32_clamp","clamp","`f32::clamp`",1961],["1.50","slice_fill","slice_fill","`slice::fill`",null],["1.50","f64_clamp","clamp","`f64::clamp`",1961],["1.50","or_insert_with_key","or_insert_with_key","`Entry::or_insert_with_key`",null],["1.50","bool_then","lazy_bool_to_option","`bool::then`",null],["1.50","refcell_take","refcell_take","`RefCell::take`",null],["1.50","unsafe_cell_get_mut","unsafe_cell_get_mut","`UnsafeCell::get_mut`",null],["1.33","cfg_target_vendor","cfg_target_vendor","`cfg(target_vendor)`",null],["1.33","pin","pin","`pin::Pin`",null],["1.33","const_let","const_let","let bindings, assignments and destructuring in `const fn`",2341],["1.33","cfg_attr_multi","cfg_attr_multi","`#[cfg_attr(cfg, attr1, attr2, attr3)]`",2539],["1.33","const_ip","const_ip","`Ipv4Addr::new` as `const fn`",null],["1.33","irrefutable_let_patterns","irrefutable_let_patterns","irrefutable patterns in `if let` and `while let`",2086],["1.33","if_while_or_patterns","if_while_or_patterns","or-patterns in `if let` and `while let`",2175],["1.33","exhaustive_integer_patterns","exhaustive_integer_patterns","integer match exhaustiveness checking",2591],["1.33","min_const_unsafe_fn","min_const_unsafe_fn","`const unsafe fn`s inside `unsafe` blocks in `const fn`",null],["1.33","phantom_unpinned","pin","`marker::PhantomUnpinned`",null],["1.33","repr_packed","repr_packed","`#[repr(packed(N))]` on structs",1399],["1.33","underscore_imports","underscore_imports","underscore imports (impl-only trait imports)",2166],["1.33","unpin","pin","`marker::Unpin`",null],["1.33","rc_arc_pin_method_receiver",null,"`Rc`, `Arc` or `Pin` as a method receiver",null],["1.12","cfg_attr_path",null,"`cfg_attr` on `path` attributes",null],["1.12","nested_macro_rules",null,"`macro_rules!` within `macro_rules!`",null],["1.25","use_nested_groups","use_nested_groups","nested groups in imports",2128],["1.25","repr_align","repr_align","`#[repr(align(N))]`",1358],["1.25","match_beginning_vert","match_beginning_vert","`|` at the beginning of match arms",1925],["1.20","compile_error","compile_error","`compile_error!`",1695],["1.20","struct_field_attributes","struct_field_attributes","attributes on struct literal fields",null],["1.20","unimplemented_macro_args",null,"`unimplemented!` with a message",null],["1.20","associated_consts","associated_consts","associated constants in `trait` and `impl` blocks",null],["1.38","thread_accesserror_eq",null,"`Eq` implementation for `thread::AccessError`",null],["1.38","global_allocator_in_submodules",null,"`#[global_allocator]` inside submodules",null],["1.38","iter_step_by_double_ended",null,"`DoubleEndedIterator` implementation for `iter::StepBy`",null],["1.38","duration_div_f32",null,"`Duration::div_f32`",null],["1.38","duration_mul_f64",null,"`Duration::mul_f64`",null],["1.38","any_type_name",null,"`any::type_name`",null],["1.38","ptr_cast",null,"`cast` method on pointers",null],["1.38","thread_accesserror_copy",null,"`Copy` implementation for `thread::AccessError`",null],["1.38","duration_from_secs_f32",null,"`Duration::from_secs_f32`",null],["1.38","duration_as_secs_f32",null,"`Duration::as_secs_f32`",null],["1.38","iter_take_double_ended",null,"`DoubleEndedIterator` implementation for `iter::Take`",null],["1.38","thread_accesserror_partialeq",null,"`PartialEq` implementation for `thread::AccessError`",null],["1.38","duration_div_f64",null,"`Duration::div_f64`",null],["1.38","iter_peekable_double_ended",null,"`DoubleEndedIterator` implementation for `iter::Peekable`",null],["1.38","duration_as_secs_f64",null,"`Duration::as_secs_f64`",null],["1.38","euclidean_division","euclidean_division","euclidean division & modulo",null],["1.38","unpin_ptr",null,"`Unpin` implementations for pointers",null],["1.38","duration_mul_f32",null,"`Duration::mul_f32`",null],["1.38","shared_from_iter","shared_from_iter","`FromIterator<T>` implementation for `Rc<T>` and `Arc<T>`",null],["1.38","deprecated_macros",null,"`#[deprecated]` on macros",null],["1.38","thread_accesserror_error",null,"`Error` implementation for `thread::AccessError`",null],["1.38","str_chars_debug",null,"`Debug` implementation for `std::str::Chars`",null],["1.38","ascii_escapedefault_clone",null,"`Clone` implementation for `ascii::EscapeDefault`",null],["1.38","thread_accesserror_clone",null,"`Clone` implementation for `thread::AccessError`",null],["1.38","duration_from_secs_f64",null,"`Duration::from_secs_f64`",null],["1.38","ascii_escapedefault_display",null,"`Display` implementation for `ascii::EscapeDefault`",null],["1.34","const_overflowing_neg",null,"`overflowing_neg` as `const fn`",null],["1.34","alternative_registries",null,"alternative registries to crates.io in cargo",null],["1.34","extern_crate_self","extern_crate_self","`extern crate self as foo;`",null],["1.34","deprecated_equals_reason",null,"`#[deprecated = \"reason\"]` as a shorthand for `#[deprecated(note = \"reason\")]`",null],["1.34","const_wrapping_neg",null,"`wrapping_neg` as `const fn`",null],["1.34","unrestricted_attribute_tokens","unrestricted_attribute_tokens","arbitrary token streams in procedural attribute macros",null],["1.41","cfg_doc","doc_cfg","`#[cfg(doc)]`",null],["1.41","maybe_uninit_debug","maybe_uninit_debug","`Debug` implementation for `MaybeUninit<T>`",null],["1.41","re_rebalance_coherence","re_rebalance_coherence","relaxed coherence rules",null],["1.41","core_panic_info","core_panic_info","the `core::panic` module",null],["1.41","result_map_or","result_map_or","`Result::map_or`",null],["1.41","result_map_or_else","result_map_or_else","`Result::map_or_else`",null],["1.41","weak_counts","weak_counts","`Weak` count methods",null],["1.44","from_mut_str_for_string","from_mut_str_for_string","`From<&mut str>` implementation for `String`",null],["1.44","path_buf_shrink_to_fit","path_buf_capacity","`PathBuf::shrink_to_fit`",null],["1.44","osstring_deref_mut","mut_osstr","`DerefMut` implementation for `OsString`",null],["1.44","ioslice_copy",null,"`Copy` implementation for `io::IoSlice`",null],["1.44","ioslice_clone",null,"`Clone` implementation for `io::IoSlice`",null],["1.44","path_buf_reserve","path_buf_capacity","`PathBuf::reserve`",null],["1.44","lexerror_display","proc_macro_lexerror_impls","`Display` implementation for `proc_macro::LexError`",null],["1.44","convert_infallible_hash","convert_infallible_hash","`Hash` implementation for `convert::Infallible`",null],["1.44","alloc_layout_align_to","alloc_layout_extras","`alloc::Layout::align_to`",null],["1.44","vec_from_array","vec_from_array","`From<[T; N]>` implementation for `Vec<T>`",null],["1.44","path_buf_clear","path_buf_capacity","`PathBuf::clear`",null],["1.44","lexerror_error","proc_macro_lexerror_impls","`Error` implementation for `proc_macro::LexError`",null],["1.44","alloc_layout_pad_to_align","alloc_layout_extras","`alloc::Layout::pad_to_align`",null],["1.44","alloc_layout_array","alloc_layout_extras","`alloc::Layout::array`",null],["1.44","alloc_layout_extend","alloc_layout_extras","`alloc::Layout::extend`",null],["1.44","path_buf_with_capacity","path_buf_capacity","`PathBuf::with_capacity`",null],["1.44","no_std_async_await",null,"`async` / `.await` in `#[no_std]` crates",null],["1.44","path_buf_capacity","path_buf_capacity","`PathBuf::capacity`",null],["1.44","const_int_to_from_bytes",null,"integer ↔ bytes conversion functions as `const fn`",null],["1.44","osstring_indexmut_rangefull","mut_osstr","`IndexMut<RangeFull>` implementation for `OsString`",null],["1.44","path_buf_reserve_exact","path_buf_capacity","`PathBuf::reserve_exact`",null],["1.44","float_approx_unchecked_to","float_approx_unchecked_to","unchecked float → int conversion",null],["1.6","no_std","no_std","`#![no_std]`",null],["1.53","osstr_ascii","osstring_ascii","ASCII methods on `OsStr`",null],["1.53","slice_iter_mut_as_ref","slice_iter_mut_as_slice","`AsRef<[T]>` implementation for `slice::IterMut<'_, T>`",null],["1.53","or_patterns","or_patterns","nested or-patterns",null],["1.53","slice_iter_mut_as_slice","slice_iter_mut_as_slice","`slice::IterMut::as_slice`",null],["1.45","box_from_cow","box_from_cow","`From<Cow<'_, _>>` implementations for `Box`ed types",null],["1.45","unicode_version","unicode_version","`std::char::UNICODE_VERSION`",null],["1.45","atomic_min_max","atomic_min_max","`AtomicN::{fetch_min, fetch_max}`",null],["1.45","expr_proc_macro","proc_macro_hygiene","function-like procedural macros in expression, pattern and statement position",null],["1.45","atomic_fetch_update","no_more_cas","`AtomicN::fetch_update`",null],["1.45","nonzero_bitor","nonzero_bitor","`BitOr` implementations for `NonZero` integer types",null],["1.45","proc_macro_span_located_at","proc_macro_span_located_at","`proc_macro::Span::located_at`",null],["1.45","nonzero_bitor_assign","nonzero_bitor","`BitOrAssign` implementations for `NonZero` integer types",null],["1.45","proc_macro_span_resolved_at","proc_macro_span_resolved_at","`proc_macro::Span::resolved_at`",null],["1.45","rc_from_cow","shared_from_cow","`From<Cow<'_, T>>`` implementation for ``Rc<T>`",null],["1.45","arc_from_cow","shared_from_cow","`From<Cow<'_, T>>` implementation for `Arc<T>`",null],["1.45","btreemap_remove_entry","btreemap_remove_entry","`BTreeMap::remove_entry`",null],["1.45","proc_macro_span_mixed_site","proc_macro_mixed_site","`proc_macro::Span::mixed_site`",null],["1.31","extern_crate_item_prelude","extern_crate_item_prelude","`extern crate foo as bar;`",null],["1.31","impl_header_lifetime_elision","impl_header_lifetime_elision","lifetime elision in `impl` headers",null],["1.31","pattern_parentheses","pattern_parentheses","parentheses in patterns",null],["1.31","edition_2018",null,"the 2018 edition",null],["1.31","min_const_fn","min_const_fn","`const fn`",911],["1.31","tool_lints","tool_lints","scoped lints",null],["1.16","writeln_no_args",null,"`writeln!` without arguments",null],["1.16","assoc_ty_struct_expr_pat",null,"associated types in struct expressions and patterns",null],["1.16","self_struct_expr_pat",null,"`Self` in struct expressions and patterns",null],["1.52","str_rsplit_once","str_split_once","`str::rsplit_once`",null],["1.52","str_split_once","str_split_once","`str::split_once`",null],["1.30","crate_in_paths","crate_in_paths","`crate` in paths",null],["1.30","macro_vis_matcher","macro_vis_matcher","the `vis` fragment specifier in `macro_rules!`",null],["1.30","raw_identifiers","raw_identifiers","raw identifiers (`r#keyword`)",null],["1.30","attr_literals","attr_literals","non-string literals in attribute lists and values of key-value pairs",null],["1.30","panic_handler","panic_handler","`#[panic_handler]`",null],["1.30","used","used","`#[used]`",null],["1.30","extern_absolute_paths","extern_absolute_paths","absolute paths as paths from other crates",null],["1.30","non_modrs_mods","non_modrs_mods","`foo.rs` as an alternative to `foo/mod.rs`",null],["1.30","infer_outlives_requirements","infer_outlives_requirements","outlives requirement inference",2093],["1.30","tool_attributes","tool_attributes","tool-scoped attributes",null],["1.30","use_extern_macro","use_extern_macro","macro imports and reexports via the module system",null],["1.30","proc_macro_path_invoc","proc_macro_path_invoc","multi-segment paths in attributes and derives",null],["1.47","tau_constant","tau_constant","the `TAU` constant",null],["1.47","array_gt_32_impls",null,"`[T; N]` trait implementations with N > 32",null],["1.47","cstr_range_from","cstr_range_from","`Index<RangeFrom>` implementation for `CStr`",null],["1.47","range_full_default",null,"`Default` implementation for `RangeFull`",null],["1.47","proc_macro_raw_ident","proc_macro_raw_ident","`proc_macro::Ident::new_raw`",null],["1.47","const_type_id","const_type_id","`TypeId::of` in `const fn`",null],["1.47","range_default",null,"`Default` implementation for `Range`",null],["1.47","vec_leak","vec_leak","`Vec::leak`",null],["1.47","result_deref","inner_deref","`as_deref` and `as_deref_mut` on `Result`",null],["1.2","atomic_ptr_send",null,"`Send` implementation for `AtomicPtr`",null],["1.2","iter_once",null,"`iter::once`",null],["1.2","iter_empty",null,"`iter::empty`",null],["1.5","vec_resize",null,"`Vec::resize`",509],["1.5","fs_canonicalize",null,"`fs::canonicalize`",1044],["1.13","type_macros","type_macros","`macro_rules!` macros in type position",null],["1.13","question_mark","question_mark","the `?` operator",243],["1.13","debug_assert_ne",null,"`debug_assert_ne!`",1653],["1.13","assert_ne",null,"`assert_ne!`",1653],["1.24","unsized_ptr_is_null",null,"`is_null` on pointers to unsized types",null],["1.24","abi_sysv64","abi_sysv64","the sysV64 ABI on any platform",null],["1.4","use_group_renaming",null,"item renamings in import groups",null],["1.7","vec_as_mut_slice","vec_as_slice","`Vec::as_mut_slice`",null],["1.7","string_as_mut_str","string_as_str","`String::as_mut_str`",null],["1.7","string_as_str","string_as_str","`String::as_str`",null],["1.7","vec_as_slice","vec_as_slice","`Vec::as_slice`",null],["1.36","alloc","alloc","the `alloc` crate",null],["1.36","dbg_multiple_args",null,"multiple arguments in `dbg!` macro invocations",null],["1.36","const_nonnull_cast",null,"`NonNull::cast` as `const fn`",null],["1.36","maybe_uninit",null,"`mem::MaybeUninit`",1892],["1.36","const_needs_drop","const_needs_drop","`mem::needs_drop` as `const fn`",null],["1.36","hashbrown",null,"`hashbrown::HashMap` as the implementation of `HashMap`",null],["1.36","const_nonnull_dangling",null,"`NonNull::dangling` as `const fn`",null],["1.36","const_layout_from_size_align_unchecked",null,"`alloc::Layout::from_size_align_unchecked` as `const fn`",null],["1.36","io_cursor_default",null,"`Default` implementation for `io::Cursor`",null],["1.36","string_from_string_ref",null,"`From<&String>` implementation for `String`",null],["1.36","nll_2015",null,"Non-Lexical Lifetimes (NLL) on the 2015 edition",null],["1.36","string_borrow_mut_str",null,"`BorrowMut<str>` implementation for `String`",null],["1.37","option_xor",null,"`Option::xor`",null],["1.37","type_alias_enum_variants",null,"enum variants through a type alias",null],["1.37","repr_align_enum","repr_align_enum","`#[repr(align(N)]` on enums",null],["1.37","generic_param_cfg_attrs",null,"conditional compilation of generic parameters",null],["1.37","underscore_const_names","underscore_const_names","`_` as an identifier for constants",null],["1.37","reverse_bits","reverse_bits","`reverse_bits` integer methods",null],["1.37","copy_within","copy_within","`[T]::copy_within`",null],["1.37","kleene_op_2015",null,"the `?` Kleene macro operator in the 2015 edition",null],["1.17","cell_non_copy","cell_non_copy","`Cell` with non-`Copy` types",1651],["1.17","static_in_const","static_in_const","elision of `'static` lifetimes in `static`s and `const`s",1623],["1.17","field_init_shorthand","field_init_shorthand","field init shorthands (`x` for `x: x` in struct initializers)",1682],["1.17","static_recursion","static_recursion","recursive static items",null],["1.17","where_clauses_with_self",null,"`Self` in the where clause of trait impl's",1647],["1.32","const_non_null_as_ptr",null,"`NonNull::as_ptr` as `const fn`",null],["1.32","const_cstr_as_ptr",null,"`CStr::as_ptr` as `const fn`",null],["1.32","const_ipv6addr_new",null,"`Ipv6Addr::new` as `const fn`",null],["1.32","const_duration_subsec_nanos",null,"`Duration::subsec_nanos` as `const fn`",null],["1.32","const_ipv4addr_is_unspecified",null,"`Ipv4Addr::is_unspecified` as `const fn`",null],["1.32","const_slice_as_ptr",null,"`slice::as_ptr` as `const fn`",null],["1.32","path_from_str","path_from_str","`FromStr` implementation for `PathBuf`",null],["1.32","macro_literal_matcher","macro_literal_matcher","the `literal` fragment specifier in `macro_rules!`",1576],["1.32","self_struct_ctor","self_struct_ctor","`Self` as a constructor and pattern for unit and tuple structs",2302],["1.32","uniform_paths","uniform_paths","uniform paths (`use x::y;` as `use self::x::y;`) in the 2018 edition",null],["1.32","const_ipv6addr_octets",null,"`Ipv6Addr::octets` as `const fn`",null],["1.32","int_to_from_bytes","int_to_from_bytes","integer ↔ bytes conversion functions",null],["1.32","const_unsafe_cell_get",null,"`UnsafeCell::get` as `const fn`",null],["1.32","const_cell_as_ptr",null,"`Cell::as_ptr` as `const fn`",null],["1.32","const_str_as_ptr",null,"`str::as_ptr` as `const fn`",null],["1.32","const_manually_drop_into_inner",null,"`ManuallyDrop::into_inner` as `const fn`",null],["1.32","boxed_slice_from_iter","boxed_slice_from_iter","`FromIterator<T>` implementation for `Box<[T]>`",null],["1.32","const_range_inclusive_end",null,"`RangeInclusive::end` as `const fn`",null],["1.32","macro_at_most_once_rep","macro_at_most_once_rep","`?` as the Kleene \"at most one\" operator in `macro_rules!` in the 2018 edition",2298],["1.32","const_range_inclusive_start",null,"`RangeInclusive::start` as `const fn`",null],["1.32","const_duration_as_secs",null,"`Duration::as_secs` as `const fn`",null],["1.32","const_duration_subsec_millis",null,"`Duration::subsec_millis` as `const fn`",null],["1.32","self_in_typedefs","self_in_typedefs","`Self` in type definitions",2300],["1.32","const_manually_drop_new",null,"`ManuallyDrop::new` as `const fn`",null],["1.32","const_iter_empty",null,"`iter::empty` as `const fn`",null],["1.32","must_use_traits",null,"`#[must_use]` on traits",null],["1.32","dbg_macro","dbg_macro","`dbg!`",2361],["1.32","const_char_is_ascii",null,"`char::is_ascii` as `const fn`",null],["1.32","const_duration_subsec_micros",null,"`Duration::subsec_micros` as `const fn`",null],["1.18","windows_subsystem","windows_subsystem","`#![windows_subsystem]`",null],["1.18","pub_restricted","pub_restricted","`pub(restricted)` visibilities",1422],["1.35","asraw_stdio_locks","asraw_stdio_locks","`AsRawFd` implementation for `StdinLock`, `StdoutLock` and `StderrLock`",null],["1.35","boxed_closure_impls","boxed_closure_impls","boxed closure `Fn*` trait implementations",null],["1.35","coerce_closure_to_unsafe_fn_ptr",null,"closure to unsafe function pointer coercions",null],["1.35","dbg_no_args",null,"`dbg!` without arguments",null],["1.35","exact_size_case_mapping_iter","exact_size_case_mapping_iter","`ExactSizeIterator` implementation for `ToLowercase` and `ToUppercase`",null],["1.35","alloc_system_default",null,"`Default` implementation for `alloc::System`",null],["1.42","alloc_layout_const_new","alloc_layout_const_new","`alloc::Layout::new` as `const fn`",null],["1.42","wait_timeout_until","wait_timeout_until","`Condvar::wait_timeout_while`",null],["1.42","matches_macro","matches_macro","`matches!`",null],["1.42","slice_patterns","slice_patterns","subslice patterns (`[a, .., b]` and `[a, xs @ .., b]`)",null],["1.42","proc_macro_extern_prelude",null,"the `proc_macro` crate without `extern crate` in procedural macro crates",null],["1.42","eq_cursor",null,"`PartialEq` and `Eq` implementations for `io::Cursor`",null],["1.42","transparent_enums","transparent_enums","`#[repr(transparent)]` on single-variant enums",null],["1.42","iter_empty_send_sync","iter_empty_send_sync","unconditional `Send` and `Sync` implementations for `iter::Empty<T>`",null],["1.42","slice_from_raw_parts","slice_from_raw_parts","`ptr::slice_from_raw_parts_mut`",null],["1.42","debug_map_key_value","debug_map_key_value","`DebugMap::value`",null],["1.42","attr_on_inline_mod",null,"attribute macros on inline modules",null],["1.42","manually_drop_take","manually_drop_take","`ManuallyDrop::take`",null],["1.42","wait_until","wait_until","`Condvar::wait_while`",null],["1.27","target_feature",null,"`#[target_feature(...)]`",null],["1.27","macro_lifetime_matcher","macro_lifetime_matcher","the `lifetime` fragment specifier in `macro_rules!`",null],["1.27","proc_ident",null,"`proc` as an identifier",null],["1.27","dyn_trait","dyn_trait","`dyn Trait` as a syntax for trait objects",null],["1.27","fn_must_use","fn_must_use","`#[must_use]` on functions",1940],["1.27","termination_trait_test","termination_trait_test","types implementing `Termination` as the return type for `#[test]`s",null],["1.27","generic_param_attrs","generic_param_attrs","attributes on generic parameters",1327],["1.27","cfg_target_feature","cfg_target_feature","`#[cfg(target_feature = \"...\")]`",null],["1.14","dotdot_in_tuple_patterns","dotdot_in_tuple_patterns","`..` in tuple (struct) patterns",1492],["1.14","println_no_args",null,"`println!` without arguments",null],["1.14","fn_ptr_to_unsafe_fn_ptr",null,"`fn` pointer to `unsafe fn` pointer coercion",null],["1.22","drop_types_in_const","drop_types_in_const","`Drop` types in constants",1440],["1.3","time","time","`std::time`",null],["1.3","duration","duration","`std::time::Duration`",null],["1.1","split_whitespace",null,"`str::split_whitespace`",1054],["1.28","offsetof_ident",null,"`offsetof` as an identifier",2421],["1.28","alignof_ident",null,"`alignof` as an identifier",2421],["1.28","pure_ident",null,"`pure` as an identifier",2421],["1.28","repr_transparent","repr_transparent","`#[repr(transparent)]` on newtype structs",null],["1.28","global_allocator","global_allocator","`#[global_allocator]`",null],["1.28","sizeof_ident",null,"`sizeof` as an identifier",2421],["1.51","empty_seek","empty_seek","`io::Seek` implementation for `io::Empty`",null],["1.51","slice_strip_suffix","slice_strip","`slice::strip_suffix`",null],["1.51","slice_strip_prefix","slice_strip","`slice::strip_prefix`",null],["1.51","iterator_reduce","iterator_fold_first","`Iterator::reduce`",null],["1.51","nonzero_rem","nonzero_div","`Rem<NonZeroU{0}>` implementation for `u{0}`",null],["1.51","poll_map_ok","poll_map","`Poll<Option<Result<T, E>>>::map_ok`",null],["1.51","nonzero_div","nonzero_div","`Div<NonZeroU{0}>` implementation for `u{0}`",null],["1.51","str_as_mut","as_mut_str_for_str","`AsMut<str>` implementation for `str`",null],["1.51","arc_decrement_strong_count","arc_mutate_strong_count","`Arc::decrement_strong_count`",null],["1.51","arc_increment_strong_count","arc_mutate_strong_count","`Arc::increment_strong_count`",null],["1.51","array_value_iter","array_value_iter","by-value `[T; N]` iterator `core::array::IntoIter`",null],["1.51","slice_fill_with","slice_fill_with","`slice::fill_with`",null],["1.51","seek_stream_position","seek_convenience","`io::Seek::stream_position`",null],["1.51","poll_map_err","poll_map","`Poll<Option<Result<T, E>>>::map_err`",null],["1.40","const_is_power_of_two",null,"`is_power_of_two` as `const fn`",null],["1.40","cfg_doctest","cfg_doctest","`#[cfg(doctest)]`",null],["1.40","const_constructor","const_constructor","tuple struct and tuple variant constructors in `const fn`",null],["1.40","todo_macro",null,"`todo!`",null],["1.40","slice_repeat",null,"`slice::repeat`",null],["1.40","float_to_from_bytes","float_to_from_bytes","float ↔ bytes conversion functions",null],["1.40","proc_macro_generated_macro_rules",null,"proc-macros that generate `macro_rules!` macros",null],["1.40","map_get_key_value","map_get_key_value","`get_key_value` on `HashMap` and `BTreeMap`",null],["1.40","option_flattening","option_flattening","`Option::flatten`",null],["1.40","type_proc_macros",null,"function-like procedural macros in type position",null],["1.40","option_deref","option_deref","`as_deref` and `as_deref_mut` on `Option`",null],["1.40","modern_meta_macro_pattern",null,"the `meta` fragment specifier in `macro_rules!` for modern attribute syntax",null],["1.40","non_exhaustive","non_exhaustive","`#![non_exhaustive]`",2008],["1.40","mem_take",null,"`mem::take`",null],["1.40","udpsocker_peer_addr",null,"`UdpSocket::peer_addr`",null],["1.40","macros_in_extern","macros_in_extern","macro invocations in `extern {}` blocks",null],["unstable","box_into_boxed_slice","box_into_boxed_slice","`Box::into_boxed_slice`",null],["unstable","link_cfg","link_cfg","`#[link(..., cfg(...))]`",null],["unstable","wake_trait","wake_trait","the `Wake` trait",null],["unstable","pin_static_mut","pin_static_ref","`Pin::static_mut`",null],["unstable","cfg_target_has_atomic","cfg_target_has_atomic","`cfg(target_has_atomic = ...)`",null],["unstable","never_type","never_type","the never type (`!`)",null],["unstable","const_fn_transmute","const_fn_transmute","`mem::transmute` in `const fn`",null],["unstable","abi_thiscall","abi_thiscall","`thiscall` calling convention",null],["unstable","plugin_registrar","plugin_registrar","`#[plugin_registrar]`",null],["unstable","non_ascii_idents","non_ascii_idents","non-ASCII identifiers",null],["unstable","thread_local","thread_local","`#[thread_local]` on `static`s",null],["unstable","btreeset_retain","btree_retain","`BTreeSet::retain`",null],["unstable","exhaustive_patterns","exhaustive_patterns","exhaustive pattern matching on types that contain uninhabited types",1872],["unstable","const_io_cursor_position","const_io_structs","`io::Cursor::position` as `const fn`",null],["unstable","specialization","specialization","specialization",null],["unstable","associated_type_defaults","associated_type_defaults","default values for associated types",null],["unstable","cow_is_borrowed","cow_is_borrowed","`Cow::is_borrowed` as `const fn`",null],["unstable","pub_macro_rules","pub_macro_rules","module scoping for `macro_rules!` macros",null],["unstable","slice_ptr_len","slice_ptr_len","the `len` method on raw slices",null],["unstable","const_generics","const_generics","const generics",2000],["unstable","cfg_version","cfg_version","`#[cfg(version(..))]`",null],["unstable","raw_ref_op","raw_ref_op","the raw reference operator (`&raw [mut | const] $place`)",2582],["unstable","result_contains","option_result_contains","`Result::contains`",null],["unstable","link_args","link_args","`#[link_args]`",null],["unstable","exclusive_range_pattern","exclusive_range_pattern","exclusive range patterns (`a..b`)",null],["unstable","cow_is_owned","cow_is_borrowed","`Cow::is_owned` as `const fn`",null],["unstable","no_core","no_core","`#![no_core]`",null],["unstable","total_cmp","total_cmp","the `total_cmp` method on float types",null],["unstable","pin_static_ref","pin_static_ref","`Pin::static_ref`",null],["unstable","half_open_range_patterns","half_open_range_patterns","half-open range patterns",null],["unstable","const_io_empty","const_io_structs","`io::empty` as `const fn`",null],["unstable","const_io_repeat","const_io_structs","`io::repeat` as `const fn`",null],["unstable","cstring_from_vec_with_nul","cstring_from_vec_with_nul","nul-terminated `Vec<u8>` to `CString` conversions",null],["unstable","default_free_fn","default_free_fn","the free `default` function (shorthand for `Default::default`)",null],["unstable","const_in_array_repeat_expressions","const_in_array_repeat_expressions","constants in array repeat expressions",2203],["unstable","option_contains","option_result_contains","`Option::contains`",null],["unstable","const_io_cursor_new","const_io_structs","`io::Cursor::new` as `const fn`",null],["unstable","plugin","plugin","`#![plugin(...)]`",null],["unstable","format_args_capture","format_args_capture","implicit named arguments for formatting macros",2795],["unstable","type_ascription","type_ascription","type ascription",803],["unstable","const_io_sink","const_io_structs","`io::sink` as `const fn`",null],["unstable","generic_associated_types","generic_associated_types","generic associated types (GAT)",1598],["unstable","nonnull_slice_from_raw_parts","nonnull_slice_from_raw_parts","`NonNull<[T]>::slice_from_raw_parts`",null],["unstable","btreemap_retain","btree_retain","`BTreeMap::retain`",null],["unstable","const_io_cursor_get_ref","const_io_structs","`io::Cursor::get_ref` as `const fn`",null],["unstable","naked_functions","naked_functions","`#[naked]` functions",null],["unstable","option_zip_with","option_zip","`Option::zip_with`",null],["1.26","termination_trait","termination_trait","types implementing `Termination` as the return type for `fn main()`",null],["1.26","copy_closures","copy_closures","`Copy` implementation for applicable closures",2132],["1.26","inclusive_range_syntax","inclusive_range_syntax","inclusive range syntax",1192],["1.26","dotdoteq_in_patterns","dotdoteq_in_patterns","inclusive ranges in patterns",1192],["1.26","conservative_impl_trait","conservative_impl_trait","`impl Trait` in function return types",null],["1.26","const_indexing","const_indexing","array indexing in constants",null],["1.26","i128_type","i128_type","128 bit integer types",null],["1.26","universal_impl_trait","universal_impl_trait","`impl Trait` in function arguments",null],["1.26","match_default_bindings","match_default_bindings","default match binding modes",2005],["1.26","underscore_lifetimes","underscore_lifetimes","placeholder lifetimes (`'_`)",2115],["1.26","clone_closures","clone_closures","`Clone` implementation for applicable closures",2132],["1.49","manually_drop_in_unions","untagged_unions","`ManuallyDrop<T>` in `union`s",null],["1.49","const_poll_is_ready","const_poll","`Poll::is_ready` as `const fn`",null],["1.49","partialeq_vec_for_slice",null,"`impl<A, B> PartialEq<Vec<B>> for [A] where A: PartialEq<B>`",null],["1.49","empty_enum_to_int",null,"uninhabited enum to integer casts",null],["1.49","move_ref_pattern","move_ref_pattern","move and reference bindings in the same match pattern",null],["1.49","partialeq_slice_for_vec",null,"`impl<A, B> PartialEq<[B]> for Vec<A> where A: PartialEq<B>`",null],["1.49","const_poll_is_pending","const_poll","`Poll::is_pending` as `const fn`",null],["1.43","once_is_completed",null,"`sync::once::Once::is_completed`",null],["1.43","string_as_mut","string_as_mut","`AsMut<str>` implementation for `String`",null],["1.43","extra_log_consts","extra_log_consts","`{f32, f64}::{LOG2_10, LOG10_2}`",null],["1.43","from_utf8_error_partial_eq",null,"`PartialEq` implementation for `FromUtf8Error`",null],["1.43","from_utf8_error_clone",null,"`Clone` implementation for `FromUtf8Error`",null],["1.43","from_utf8_error_eq",null,"`Eq` implementation for `FromUtf8Error`",null],["1.43","core_primitive","core_primitive","`core::primitive`",null],["1.43","const_ascii_methods_on_intrinsics","const_ascii_methods_on_intrinsics","`u8::is_ascii` as `const fn`",null],["1.43","assoc_int_consts","assoc_int_consts","numeric constants as associated constants",null],["1.43","iter_once_with","iter_once_with","`iter::once_with`",null],["1.43","if_attr",null,"attributes on `if` expressions",null],["1.43","cstring_from_vec_of_nonzerou8","cstring_from_vec_of_nonzerou8","`From<Vec<NonZeroU8>>` implementation for `CString`",null],["1.43","boxed_slice_try_from","boxed_slice_try_from","`TryFrom` implementations from boxed slices to boxed arrays",null],["1.15","proc_macro_derive","proc_macro","procedural derive macros (macros 1.1)",1681],["1.11","nested_cfg_attr",null,"nested `cfg_attr` attributes",null],["1.19","loop_break_value","loop_break_value","`break` with a value inside `loop`s",1624],["1.19","relaxed_adts","relaxed_adts","numeric fields in struct expressions and patterns",null],["1.19","untagged_unions","untagged_unions","`union`s",1444],["1.19","eprintln",null,"`eprintln!`",1869],["1.19","closure_to_fn_coercion","closure_to_fn_coercion","non-capturing closure to function pointer coercion",1558],["1.19","eprint",null,"`eprint!`",null],["1.29","proc_macro","proc_macro","procedural macros",null],["1.48","write_stderr_ref","write_mt","`Write` implementation for `&Stderr`",null],["1.48","const_result_is_ok","const_result","`Result::is_ok` as `const fn`",null],["1.48","const_result_is_err","const_result","`Result::is_err` as `const fn`",null],["1.48","future_pending","future_readiness_fns","`future::pending`",null],["1.48","slice_ptr_range","slice_ptr_range","slice to pointer range methods",null],["1.48","const_ordering_then","const_ordering","`cmp::Ordering::then` as `const fn`",null],["1.48","array_try_from_vec","array_try_from_vec","`TryFrom<Vec<T>>` implementation for `[T; N]`",null],["1.48","const_ordering_reverse","const_ordering","`cmp::Ordering::reverse` as `const fn`",null],["1.48","future_ready","future_readiness_fns","`future::ready`",null],["1.48","intra_doc_links",null,"intra-doc links",null],["1.48","write_sink_ref","write_mt","`Write` implementation for `&Sink`",null],["1.48","write_child_stdin_ref","write_mt","`Write` implementation for `&ChildStdin`",null],["1.48","const_option_is_none","const_option","`Option::is_none` as `const fn`",null],["1.48","const_option_as_ref","const_option","`Option::as_ref` as `const fn`",null],["1.48","const_result_as_ref","const_result","`Result::as_ref` as `const fn`",null],["1.48","deque_make_contiguous","deque_make_contiguous","`VecDeque::make_contiguous`",null],["1.48","doc_alias","doc_alias","`#[doc(alias = \"…\")]`",null],["1.48","const_option_is_some","const_option","`Option::is_some` as `const fn`",null],["1.48","write_stdout_ref","write_mt","`Write` implementation for `&Stdout`",null],["1.10","cstring_default","cstr_default","`Default` implementation for `CString`",null],["1.10","weak_new","downgraded_weak","`sync::Weak::new`",null],["1.10","cstr_default","cstr_default","`Default` implementation for `&CStr`",null]];