]> Untitled Git - bitcoindevkit.org/blob
e94d7fea7e22be7baf839d35072719e6a4905e59
[bitcoindevkit.org] /
1 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The merkle proof for inclusion of a tree in a taptree hash."><title>TaprootMerkleBranch in bdk_chain::bitcoin::taproot - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="bdk_chain" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (78a775127 2024-05-11)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../../bdk_chain/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../../bdk_chain/index.html"><img src="https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png" alt="logo"></a><h2><a href="../../../bdk_chain/index.html">bdk_chain</a><span class="version">0.20.0</span></h2></div><h2 class="location"><a href="#">TaprootMerkleBranch</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.as_inner">as_inner</a></li><li><a href="#method.as_slice">as_slice</a></li><li><a href="#method.decode">decode</a></li><li><a href="#method.encode">encode</a></li><li><a href="#method.into_inner">into_inner</a></li><li><a href="#method.into_vec">into_vec</a></li><li><a href="#method.is_empty">is_empty</a></li><li><a href="#method.len">len</a></li><li><a href="#method.serialize">serialize</a></li></ul><h3><a href="#deref-methods-%5BTapNodeHash%5D">Methods from Deref&lt;Target=[TapNodeHash]&gt;</a></h3><ul class="block deref-methods"><li><a href="#method.align_to">align_to</a></li><li><a href="#method.align_to_mut">align_to_mut</a></li><li><a href="#method.array_chunks">array_chunks</a></li><li><a href="#method.array_chunks_mut">array_chunks_mut</a></li><li><a href="#method.array_windows">array_windows</a></li><li><a href="#method.as_ascii">as_ascii</a></li><li><a href="#method.as_ascii_unchecked">as_ascii_unchecked</a></li><li><a href="#method.as_bytes">as_bytes</a></li><li><a href="#method.as_chunks">as_chunks</a></li><li><a href="#method.as_chunks_mut">as_chunks_mut</a></li><li><a href="#method.as_chunks_unchecked">as_chunks_unchecked</a></li><li><a href="#method.as_chunks_unchecked_mut">as_chunks_unchecked_mut</a></li><li><a href="#method.as_mut_ptr">as_mut_ptr</a></li><li><a href="#method.as_mut_ptr_range">as_mut_ptr_range</a></li><li><a href="#method.as_ptr">as_ptr</a></li><li><a href="#method.as_ptr_range">as_ptr_range</a></li><li><a href="#method.as_rchunks">as_rchunks</a></li><li><a href="#method.as_rchunks_mut">as_rchunks_mut</a></li><li><a href="#method.as_simd">as_simd</a></li><li><a href="#method.as_simd_mut">as_simd_mut</a></li><li><a href="#method.as_str">as_str</a></li><li><a href="#method.binary_search">binary_search</a></li><li><a href="#method.binary_search_by">binary_search_by</a></li><li><a href="#method.binary_search_by_key">binary_search_by_key</a></li><li><a href="#method.chunk_by">chunk_by</a></li><li><a href="#method.chunk_by_mut">chunk_by_mut</a></li><li><a href="#method.chunks">chunks</a></li><li><a href="#method.chunks_exact">chunks_exact</a></li><li><a href="#method.chunks_exact_mut">chunks_exact_mut</a></li><li><a href="#method.chunks_mut">chunks_mut</a></li><li><a href="#method.clone_from_slice">clone_from_slice</a></li><li><a href="#method.concat">concat</a></li><li><a href="#method.connect">connect</a></li><li><a href="#method.contains">contains</a></li><li><a href="#method.copy_from_slice">copy_from_slice</a></li><li><a href="#method.copy_within">copy_within</a></li><li><a href="#method.ends_with">ends_with</a></li><li><a href="#method.eq_ignore_ascii_case">eq_ignore_ascii_case</a></li><li><a href="#method.escape_ascii">escape_ascii</a></li><li><a href="#method.fill">fill</a></li><li><a href="#method.fill_with">fill_with</a></li><li><a href="#method.first">first</a></li><li><a href="#method.first_chunk">first_chunk</a></li><li><a href="#method.first_chunk_mut">first_chunk_mut</a></li><li><a href="#method.first_mut">first_mut</a></li><li><a href="#method.flatten">flatten</a></li><li><a href="#method.flatten_mut">flatten_mut</a></li><li><a href="#method.get">get</a></li><li><a href="#method.get_many_mut">get_many_mut</a></li><li><a href="#method.get_many_unchecked_mut">get_many_unchecked_mut</a></li><li><a href="#method.get_mut">get_mut</a></li><li><a href="#method.get_unchecked">get_unchecked</a></li><li><a href="#method.get_unchecked_mut">get_unchecked_mut</a></li><li><a href="#method.is_ascii">is_ascii</a></li><li><a href="#method.is_empty-1">is_empty</a></li><li><a href="#method.is_sorted">is_sorted</a></li><li><a href="#method.is_sorted_by">is_sorted_by</a></li><li><a href="#method.is_sorted_by_key">is_sorted_by_key</a></li><li><a href="#method.iter">iter</a></li><li><a href="#method.iter_mut">iter_mut</a></li><li><a href="#method.join">join</a></li><li><a href="#method.last">last</a></li><li><a href="#method.last_chunk">last_chunk</a></li><li><a href="#method.last_chunk_mut">last_chunk_mut</a></li><li><a href="#method.last_mut">last_mut</a></li><li><a href="#method.len-1">len</a></li><li><a href="#method.make_ascii_lowercase">make_ascii_lowercase</a></li><li><a href="#method.make_ascii_uppercase">make_ascii_uppercase</a></li><li><a href="#method.partition_dedup">partition_dedup</a></li><li><a href="#method.partition_dedup_by">partition_dedup_by</a></li><li><a href="#method.partition_dedup_by_key">partition_dedup_by_key</a></li><li><a href="#method.partition_point">partition_point</a></li><li><a href="#method.rchunks">rchunks</a></li><li><a href="#method.rchunks_exact">rchunks_exact</a></li><li><a href="#method.rchunks_exact_mut">rchunks_exact_mut</a></li><li><a href="#method.rchunks_mut">rchunks_mut</a></li><li><a href="#method.repeat">repeat</a></li><li><a href="#method.reverse">reverse</a></li><li><a href="#method.rotate_left">rotate_left</a></li><li><a href="#method.rotate_right">rotate_right</a></li><li><a href="#method.rsplit">rsplit</a></li><li><a href="#method.rsplit_mut">rsplit_mut</a></li><li><a href="#method.rsplit_once">rsplit_once</a></li><li><a href="#method.rsplitn">rsplitn</a></li><li><a href="#method.rsplitn_mut">rsplitn_mut</a></li><li><a href="#method.select_nth_unstable">select_nth_unstable</a></li><li><a href="#method.select_nth_unstable_by">select_nth_unstable_by</a></li><li><a href="#method.select_nth_unstable_by_key">select_nth_unstable_by_key</a></li><li><a href="#method.sort">sort</a></li><li><a href="#method.sort_by">sort_by</a></li><li><a href="#method.sort_by_cached_key">sort_by_cached_key</a></li><li><a href="#method.sort_by_key">sort_by_key</a></li><li><a href="#method.sort_floats">sort_floats</a></li><li><a href="#method.sort_floats-1">sort_floats</a></li><li><a href="#method.sort_unstable">sort_unstable</a></li><li><a href="#method.sort_unstable_by">sort_unstable_by</a></li><li><a href="#method.sort_unstable_by_key">sort_unstable_by_key</a></li><li><a href="#method.split">split</a></li><li><a href="#method.split_at">split_at</a></li><li><a href="#method.split_at_checked">split_at_checked</a></li><li><a href="#method.split_at_mut">split_at_mut</a></li><li><a href="#method.split_at_mut_checked">split_at_mut_checked</a></li><li><a href="#method.split_at_mut_unchecked">split_at_mut_unchecked</a></li><li><a href="#method.split_at_unchecked">split_at_unchecked</a></li><li><a href="#method.split_first">split_first</a></li><li><a href="#method.split_first_chunk">split_first_chunk</a></li><li><a href="#method.split_first_chunk_mut">split_first_chunk_mut</a></li><li><a href="#method.split_first_mut">split_first_mut</a></li><li><a href="#method.split_inclusive">split_inclusive</a></li><li><a href="#method.split_inclusive_mut">split_inclusive_mut</a></li><li><a href="#method.split_last">split_last</a></li><li><a href="#method.split_last_chunk">split_last_chunk</a></li><li><a href="#method.split_last_chunk_mut">split_last_chunk_mut</a></li><li><a href="#method.split_last_mut">split_last_mut</a></li><li><a href="#method.split_mut">split_mut</a></li><li><a href="#method.split_once">split_once</a></li><li><a href="#method.splitn">splitn</a></li><li><a href="#method.splitn_mut">splitn_mut</a></li><li><a href="#method.starts_with">starts_with</a></li><li><a href="#method.strip_prefix">strip_prefix</a></li><li><a href="#method.strip_suffix">strip_suffix</a></li><li><a href="#method.swap">swap</a></li><li><a href="#method.swap_unchecked">swap_unchecked</a></li><li><a href="#method.swap_with_slice">swap_with_slice</a></li><li><a href="#method.take">take</a></li><li><a href="#method.take_first">take_first</a></li><li><a href="#method.take_first_mut">take_first_mut</a></li><li><a href="#method.take_last">take_last</a></li><li><a href="#method.take_last_mut">take_last_mut</a></li><li><a href="#method.take_mut">take_mut</a></li><li><a href="#method.to_ascii_lowercase">to_ascii_lowercase</a></li><li><a href="#method.to_ascii_uppercase">to_ascii_uppercase</a></li><li><a href="#method.to_vec">to_vec</a></li><li><a href="#method.to_vec_in">to_vec_in</a></li><li><a href="#method.trim_ascii">trim_ascii</a></li><li><a href="#method.trim_ascii_end">trim_ascii_end</a></li><li><a href="#method.trim_ascii_start">trim_ascii_start</a></li><li><a href="#method.utf8_chunks">utf8_chunks</a></li><li><a href="#method.windows">windows</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-AsMut%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch">AsMut&lt;[TapNodeHash]&gt;</a></li><li><a href="#impl-AsRef%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch">AsRef&lt;[TapNodeHash]&gt;</a></li><li><a href="#impl-Borrow%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch">Borrow&lt;[TapNodeHash]&gt;</a></li><li><a href="#impl-BorrowMut%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch">BorrowMut&lt;[TapNodeHash]&gt;</a></li><li><a href="#impl-Clone-for-TaprootMerkleBranch">Clone</a></li><li><a href="#impl-Debug-for-TaprootMerkleBranch">Debug</a></li><li><a href="#impl-Default-for-TaprootMerkleBranch">Default</a></li><li><a href="#impl-Deref-for-TaprootMerkleBranch">Deref</a></li><li><a href="#impl-DerefMut-for-TaprootMerkleBranch">DerefMut</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-TaprootMerkleBranch">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Eq-for-TaprootMerkleBranch">Eq</a></li><li><a href="#impl-From%3CTaprootMerkleBranch%3E-for-Vec%3CTapNodeHash%3E">From&lt;TaprootMerkleBranch&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+0%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 0]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+100%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 100]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+101%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 101]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+102%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 102]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+103%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 103]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+104%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 104]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+105%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 105]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+106%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 106]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+107%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 107]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+108%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 108]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+109%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 109]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+10%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 10]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+110%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 110]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+111%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 111]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+112%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 112]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+113%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 113]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+114%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 114]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+115%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 115]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+116%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 116]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+117%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 117]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+118%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 118]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+119%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 119]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+11%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 11]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+120%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 120]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+121%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 121]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+122%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 122]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+123%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 123]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+124%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 124]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+125%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 125]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+126%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 126]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+127%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 127]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+128%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 128]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+12%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 12]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+13%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 13]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+14%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 14]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+15%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 15]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+16%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 16]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+17%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 17]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+18%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 18]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+19%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 19]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+1%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 1]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+20%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 20]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+21%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 21]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+22%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 22]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+23%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 23]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+24%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 24]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+25%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 25]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+26%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 26]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+27%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 27]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+28%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 28]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+29%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 29]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+2%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 2]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+30%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 30]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+31%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 31]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+32%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 32]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+33%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 33]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+34%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 34]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+35%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 35]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+36%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 36]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+37%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 37]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+38%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 38]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+39%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 39]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+3%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 3]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+40%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 40]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+41%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 41]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+42%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 42]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+43%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 43]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+44%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 44]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+45%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 45]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+46%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 46]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+47%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 47]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+48%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 48]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+49%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 49]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+4%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 4]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+50%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 50]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+51%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 51]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+52%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 52]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+53%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 53]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+54%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 54]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+55%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 55]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+56%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 56]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+57%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 57]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+58%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 58]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+59%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 59]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+5%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 5]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+60%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 60]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+61%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 61]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+62%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 62]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+63%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 63]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+64%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 64]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+65%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 65]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+66%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 66]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+67%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 67]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+68%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 68]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+69%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 69]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+6%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 6]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+70%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 70]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+71%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 71]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+72%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 72]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+73%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 73]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+74%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 74]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+75%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 75]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+76%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 76]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+77%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 77]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+78%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 78]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+79%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 79]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+7%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 7]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+80%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 80]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+81%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 81]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+82%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 82]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+83%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 83]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+84%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 84]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+85%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 85]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+86%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 86]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+87%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 87]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+88%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 88]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+89%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 89]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+8%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 8]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+90%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 90]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+91%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 91]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+92%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 92]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+93%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 93]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+94%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 94]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+95%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 95]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+96%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 96]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+97%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 97]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+98%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 98]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+99%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 99]&gt;</a></li><li><a href="#impl-From%3C%5BTapNodeHash;+9%5D%3E-for-TaprootMerkleBranch">From&lt;[TapNodeHash; 9]&gt;</a></li><li><a href="#impl-Hash-for-TaprootMerkleBranch">Hash</a></li><li><a href="#impl-IntoIterator-for-%26TaprootMerkleBranch">IntoIterator</a></li><li><a href="#impl-IntoIterator-for-%26mut+TaprootMerkleBranch">IntoIterator</a></li><li><a href="#impl-IntoIterator-for-TaprootMerkleBranch">IntoIterator</a></li><li><a href="#impl-Ord-for-TaprootMerkleBranch">Ord</a></li><li><a href="#impl-PartialEq-for-TaprootMerkleBranch">PartialEq</a></li><li><a href="#impl-PartialOrd-for-TaprootMerkleBranch">PartialOrd</a></li><li><a href="#impl-Serialize-for-TaprootMerkleBranch">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-TaprootMerkleBranch">StructuralPartialEq</a></li><li><a href="#impl-TryFrom%3C%26%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch">TryFrom&lt;&amp;[TapNodeHash]&gt;</a></li><li><a href="#impl-TryFrom%3CBox%3C%5BTapNodeHash%5D%3E%3E-for-TaprootMerkleBranch">TryFrom&lt;Box&lt;[TapNodeHash]&gt;&gt;</a></li><li><a href="#impl-TryFrom%3CVec%3CTapNodeHash%3E%3E-for-TaprootMerkleBranch">TryFrom&lt;Vec&lt;TapNodeHash&gt;&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-TaprootMerkleBranch">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-TaprootMerkleBranch">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TaprootMerkleBranch">Send</a></li><li><a href="#impl-Sync-for-TaprootMerkleBranch">Sync</a></li><li><a href="#impl-Unpin-for-TaprootMerkleBranch">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TaprootMerkleBranch">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&lt;K&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li><li><a href="#impl-VZip%3CV%3E-for-T">VZip&lt;V&gt;</a></li></ul></section><h2><a href="index.html">In bdk_chain::bitcoin::taproot</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">bdk_chain</a>::<wbr><a href="../index.html">bitcoin</a>::<wbr><a href="index.html">taproot</a>::<wbr><a class="struct" href="#">TaprootMerkleBranch</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct TaprootMerkleBranch(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The merkle proof for inclusion of a tree in a taptree hash.</p>
2 </div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-TaprootMerkleBranch" class="impl"><a href="#impl-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_inner" class="method"><h4 class="code-header">pub fn <a href="#method.as_inner" class="fn">as_inner</a>(&amp;self) -&gt; &amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 0.32.0: Use <code>as_slice</code> instead</span></div></span></summary><div class="docblock"><p>Returns a reference to the slice of hashes.</p>
3 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_slice" class="method"><h4 class="code-header">pub fn <a href="#method.as_slice" class="fn">as_slice</a>(&amp;self) -&gt; &amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section></summary><div class="docblock"><p>Returns a reference to the slice of hashes.</p>
4 </div></details><details class="toggle method-toggle" open><summary><section id="method.len" class="method"><h4 class="code-header">pub fn <a href="#method.len" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of nodes in this merkle proof.</p>
5 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub fn <a href="#method.is_empty" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Checks if this merkle proof is empty.</p>
6 </div></details><details class="toggle method-toggle" open><summary><section id="method.decode" class="method"><h4 class="code-header">pub fn <a href="#method.decode" class="fn">decode</a>(sl: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>, <a class="enum" href="enum.TaprootError.html" title="enum bdk_chain::bitcoin::taproot::TaprootError">TaprootError</a>&gt;</h4></section></summary><div class="docblock"><p>Decodes bytes from control block.</p>
7 <p>This reads the branch as encoded in the control block: the concatenated 32B byte chunks -
8 one for each hash.</p>
9 <h5 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h5>
10 <p>The function returns an error if the number of bytes is not an integer multiple of 32 or
11 if the number of hashes exceeds 128.</p>
12 </div></details><details class="toggle method-toggle" open><summary><section id="method.encode" class="method"><h4 class="code-header">pub fn <a href="#method.encode" class="fn">encode</a>&lt;Write&gt;(&amp;self, writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut Write</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="../io/struct.Error.html" title="struct bdk_chain::bitcoin::io::Error">Error</a>&gt;<div class="where">where
13 Write: <a class="trait" href="../io/trait.Write.html" title="trait bdk_chain::bitcoin::io::Write">Write</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Serializes to a writer.</p>
14 <h5 id="returns"><a class="doc-anchor" href="#returns">§</a>Returns</h5>
15 <p>The number of bytes written to the writer.</p>
16 </div></details><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method"><h4 class="code-header">pub fn <a href="#method.serialize" class="fn">serialize</a>(&amp;self) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt; <a href="#" class="tooltip" data-notable-ty="Vec&lt;u8&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Serializes <code>self</code> as bytes.</p>
17 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_inner" class="method"><h4 class="code-header">pub fn <a href="#method.into_inner" class="fn">into_inner</a>(self) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;</h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 0.32.0: Use <code>into_vec</code> instead</span></div></span></summary><div class="docblock"><p>Returns the inner list of hashes.</p>
18 </div></details><details class="toggle method-toggle" open><summary><section id="method.into_vec" class="method"><h4 class="code-header">pub fn <a href="#method.into_vec" class="fn">into_vec</a>(self) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the list of hashes stored in a <code>Vec</code>.</p>
19 </div></details></div></details></div><h2 id="deref-methods-%5BTapNodeHash%5D" class="section-header"><span>Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&lt;Target = [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt;</span><a href="#deref-methods-%5BTapNodeHash%5D" class="anchor">§</a></h2><div id="deref-methods-%5BTapNodeHash%5D-1" class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_str" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/ascii/ascii_char.rs.html#560">source</a><h4 class="code-header">pub fn <a href="#method.as_str" class="fn">as_str</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>ascii_char</code>)</span></div></span></summary><div class="docblock"><p>Views this slice of ASCII characters as a UTF-8 <code>str</code>.</p>
20 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/ascii/ascii_char.rs.html#571">source</a><h4 class="code-header">pub fn <a href="#method.as_bytes" class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>ascii_char</code>)</span></div></span></summary><div class="docblock"><p>Views this slice of ASCII characters as a slice of <code>u8</code> bytes.</p>
21 </div></details><details class="toggle method-toggle" open><summary><section id="method.flatten" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4550">source</a><h4 class="code-header">pub fn <a href="#method.flatten" class="fn">flatten</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_flatten</code>)</span></div></span></summary><div class="docblock"><p>Takes a <code>&amp;[[T; N]]</code>, and flattens it to a <code>&amp;[T]</code>.</p>
22 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
23 <p>This panics if the length of the resulting slice would overflow a <code>usize</code>.</p>
24 <p>This is only possible when flattening a slice of arrays of zero-sized
25 types, and thus tends to be irrelevant in practice. If
26 <code>size_of::&lt;T&gt;() &gt; 0</code>, this will never panic.</p>
27 <h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
28 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_flatten)]
29
30 </span><span class="macro">assert_eq!</span>([[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>], [<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]].flatten(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
31
32 <span class="macro">assert_eq!</span>(
33 [[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>], [<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]].flatten(),
34 [[<span class="number">1</span>, <span class="number">2</span>], [<span class="number">3</span>, <span class="number">4</span>], [<span class="number">5</span>, <span class="number">6</span>]].flatten(),
35 );
36
37 <span class="kw">let </span>slice_of_empty_arrays: <span class="kw-2">&amp;</span>[[i32; <span class="number">0</span>]] = <span class="kw-2">&amp;</span>[[], [], [], [], []];
38 <span class="macro">assert!</span>(slice_of_empty_arrays.flatten().is_empty());
39
40 <span class="kw">let </span>empty_slice_of_arrays: <span class="kw-2">&amp;</span>[[u32; <span class="number">10</span>]] = <span class="kw-2">&amp;</span>[];
41 <span class="macro">assert!</span>(empty_slice_of_arrays.flatten().is_empty());</code></pre></div>
42 </div></details><details class="toggle method-toggle" open><summary><section id="method.flatten_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4588">source</a><h4 class="code-header">pub fn <a href="#method.flatten_mut" class="fn">flatten_mut</a>(&amp;mut self) -&gt; &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_flatten</code>)</span></div></span></summary><div class="docblock"><p>Takes a <code>&amp;mut [[T; N]]</code>, and flattens it to a <code>&amp;mut [T]</code>.</p>
43 <h5 id="panics-1"><a class="doc-anchor" href="#panics-1">§</a>Panics</h5>
44 <p>This panics if the length of the resulting slice would overflow a <code>usize</code>.</p>
45 <p>This is only possible when flattening a slice of arrays of zero-sized
46 types, and thus tends to be irrelevant in practice. If
47 <code>size_of::&lt;T&gt;() &gt; 0</code>, this will never panic.</p>
48 <h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
49 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_flatten)]
50
51 </span><span class="kw">fn </span>add_5_to_all(slice: <span class="kw-2">&amp;mut </span>[i32]) {
52 <span class="kw">for </span>i <span class="kw">in </span>slice {
53 <span class="kw-2">*</span>i += <span class="number">5</span>;
54 }
55 }
56
57 <span class="kw">let </span><span class="kw-2">mut </span>array = [[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>], [<span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>], [<span class="number">7</span>, <span class="number">8</span>, <span class="number">9</span>]];
58 add_5_to_all(array.flatten_mut());
59 <span class="macro">assert_eq!</span>(array, [[<span class="number">6</span>, <span class="number">7</span>, <span class="number">8</span>], [<span class="number">9</span>, <span class="number">10</span>, <span class="number">11</span>], [<span class="number">12</span>, <span class="number">13</span>, <span class="number">14</span>]]);</code></pre></div>
60 </div></details><details class="toggle method-toggle" open><summary><section id="method.utf8_chunks" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.79.0">1.79.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/str/lossy.rs.html#44">source</a></span><h4 class="code-header">pub fn <a href="#method.utf8_chunks" class="fn">utf8_chunks</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/str/lossy/struct.Utf8Chunks.html" title="struct core::str::lossy::Utf8Chunks">Utf8Chunks</a>&lt;'_&gt; <a href="#" class="tooltip" data-notable-ty="Utf8Chunks&lt;&#39;_&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Creates an iterator over the contiguous valid UTF-8 ranges of this
61 slice, and the non-UTF-8 fragments in between.</p>
62 <h5 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h5>
63 <p>This function formats arbitrary but mostly-UTF-8 bytes into Rust source
64 code in the form of a C-string literal (<code>c&quot;...&quot;</code>).</p>
65
66 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::fmt::Write <span class="kw">as _</span>;
67
68 <span class="kw">pub fn </span>cstr_literal(bytes: <span class="kw-2">&amp;</span>[u8]) -&gt; String {
69 <span class="kw">let </span><span class="kw-2">mut </span>repr = String::new();
70 repr.push_str(<span class="string">"c\""</span>);
71 <span class="kw">for </span>chunk <span class="kw">in </span>bytes.utf8_chunks() {
72 <span class="kw">for </span>ch <span class="kw">in </span>chunk.valid().chars() {
73 <span class="comment">// Escapes \0, \t, \r, \n, \\, \', \", and uses \u{...} for non-printable characters.
74 </span><span class="macro">write!</span>(repr, <span class="string">"{}"</span>, ch.escape_debug()).unwrap();
75 }
76 <span class="kw">for </span>byte <span class="kw">in </span>chunk.invalid() {
77 <span class="macro">write!</span>(repr, <span class="string">"\\x{:02X}"</span>, byte).unwrap();
78 }
79 }
80 repr.push(<span class="string">'"'</span>);
81 repr
82 }
83
84 <span class="kw">fn </span>main() {
85 <span class="kw">let </span>lit = cstr_literal(<span class="string">b"\xferris the \xf0\x9f\xa6\x80\x07"</span>);
86 <span class="kw">let </span>expected = <span class="macro">stringify!</span>(<span class="string">c"\xFErris the 🦀\u{7}"</span>);
87 <span class="macro">assert_eq!</span>(lit, expected);
88 }</code></pre></div>
89 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_floats" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4625">source</a><h4 class="code-header">pub fn <a href="#method.sort_floats" class="fn">sort_floats</a>(&amp;mut self)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>sort_floats</code>)</span></div></span></summary><div class="docblock"><p>Sorts the slice of floats.</p>
90 <p>This sort is in-place (i.e. does not allocate), <em>O</em>(<em>n</em> * log(<em>n</em>)) worst-case, and uses
91 the ordering defined by <a href="https://doc.rust-lang.org/nightly/std/primitive.f32.html#method.total_cmp" title="method f32::total_cmp"><code>f32::total_cmp</code></a>.</p>
92 <h5 id="current-implementation"><a class="doc-anchor" href="#current-implementation">§</a>Current implementation</h5>
93 <p>This uses the same sorting algorithm as <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable_by" title="method slice::sort_unstable_by"><code>sort_unstable_by</code></a>.</p>
94 <h5 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h5>
95 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(sort_floats)]
96 </span><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">2.6</span>, -<span class="number">5e-8</span>, f32::NAN, <span class="number">8.29</span>, f32::INFINITY, -<span class="number">1.0</span>, <span class="number">0.0</span>, -f32::INFINITY, -<span class="number">0.0</span>];
97
98 v.sort_floats();
99 <span class="kw">let </span>sorted = [-f32::INFINITY, -<span class="number">1.0</span>, -<span class="number">5e-8</span>, -<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">2.6</span>, <span class="number">8.29</span>, f32::INFINITY, f32::NAN];
100 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>v[..<span class="number">8</span>], <span class="kw-2">&amp;</span>sorted[..<span class="number">8</span>]);
101 <span class="macro">assert!</span>(v[<span class="number">8</span>].is_nan());</code></pre></div>
102 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_floats-1" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4654">source</a><h4 class="code-header">pub fn <a href="#method.sort_floats-1" class="fn">sort_floats</a>(&amp;mut self)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>sort_floats</code>)</span></div></span></summary><div class="docblock"><p>Sorts the slice of floats.</p>
103 <p>This sort is in-place (i.e. does not allocate), <em>O</em>(<em>n</em> * log(<em>n</em>)) worst-case, and uses
104 the ordering defined by <a href="https://doc.rust-lang.org/nightly/std/primitive.f64.html#method.total_cmp" title="method f64::total_cmp"><code>f64::total_cmp</code></a>.</p>
105 <h5 id="current-implementation-1"><a class="doc-anchor" href="#current-implementation-1">§</a>Current implementation</h5>
106 <p>This uses the same sorting algorithm as <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable_by" title="method slice::sort_unstable_by"><code>sort_unstable_by</code></a>.</p>
107 <h5 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h5>
108 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(sort_floats)]
109 </span><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">2.6</span>, -<span class="number">5e-8</span>, f64::NAN, <span class="number">8.29</span>, f64::INFINITY, -<span class="number">1.0</span>, <span class="number">0.0</span>, -f64::INFINITY, -<span class="number">0.0</span>];
110
111 v.sort_floats();
112 <span class="kw">let </span>sorted = [-f64::INFINITY, -<span class="number">1.0</span>, -<span class="number">5e-8</span>, -<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">2.6</span>, <span class="number">8.29</span>, f64::INFINITY, f64::NAN];
113 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>v[..<span class="number">8</span>], <span class="kw-2">&amp;</span>sorted[..<span class="number">8</span>]);
114 <span class="macro">assert!</span>(v[<span class="number">8</span>].is_nan());</code></pre></div>
115 </div></details><details class="toggle method-toggle" open><summary><section id="method.len-1" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#138">source</a></span><h4 class="code-header">pub fn <a href="#method.len-1" class="fn">len</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the number of elements in the slice.</p>
116 <h5 id="examples-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</h5>
117 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
118 <span class="macro">assert_eq!</span>(a.len(), <span class="number">3</span>);</code></pre></div>
119 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty-1" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#157">source</a></span><h4 class="code-header">pub fn <a href="#method.is_empty-1" class="fn">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if the slice has a length of 0.</p>
120 <h5 id="examples-6"><a class="doc-anchor" href="#examples-6">§</a>Examples</h5>
121 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
122 <span class="macro">assert!</span>(!a.is_empty());
123
124 <span class="kw">let </span>b: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[];
125 <span class="macro">assert!</span>(b.is_empty());</code></pre></div>
126 </div></details><details class="toggle method-toggle" open><summary><section id="method.first" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#176">source</a></span><h4 class="code-header">pub fn <a href="#method.first" class="fn">first</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the first element of the slice, or <code>None</code> if it is empty.</p>
127 <h5 id="examples-7"><a class="doc-anchor" href="#examples-7">§</a>Examples</h5>
128 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
129 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">10</span>), v.first());
130
131 <span class="kw">let </span>w: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[];
132 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, w.first());</code></pre></div>
133 </div></details><details class="toggle method-toggle" open><summary><section id="method.first_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#199">source</a></span><h4 class="code-header">pub fn <a href="#method.first_mut" class="fn">first_mut</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a mutable pointer to the first element of the slice, or <code>None</code> if it is empty.</p>
134 <h5 id="examples-8"><a class="doc-anchor" href="#examples-8">§</a>Examples</h5>
135 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
136
137 <span class="kw">if let </span><span class="prelude-val">Some</span>(first) = x.first_mut() {
138 <span class="kw-2">*</span>first = <span class="number">5</span>;
139 }
140 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">5</span>, <span class="number">1</span>, <span class="number">2</span>]);
141
142 <span class="kw">let </span>y: <span class="kw-2">&amp;mut </span>[i32] = <span class="kw-2">&amp;mut </span>[];
143 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, y.first_mut());</code></pre></div>
144 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_first" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#219">source</a></span><h4 class="code-header">pub fn <a href="#method.split_first" class="fn">split_first</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Returns the first and all the rest of the elements of the slice, or <code>None</code> if it is empty.</p>
145 <h5 id="examples-9"><a class="doc-anchor" href="#examples-9">§</a>Examples</h5>
146 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
147
148 <span class="kw">if let </span><span class="prelude-val">Some</span>((first, elements)) = x.split_first() {
149 <span class="macro">assert_eq!</span>(first, <span class="kw-2">&amp;</span><span class="number">0</span>);
150 <span class="macro">assert_eq!</span>(elements, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);
151 }</code></pre></div>
152 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_first_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#241">source</a></span><h4 class="code-header">pub fn <a href="#method.split_first_mut" class="fn">split_first_mut</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Returns the first and all the rest of the elements of the slice, or <code>None</code> if it is empty.</p>
153 <h5 id="examples-10"><a class="doc-anchor" href="#examples-10">§</a>Examples</h5>
154 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
155
156 <span class="kw">if let </span><span class="prelude-val">Some</span>((first, elements)) = x.split_first_mut() {
157 <span class="kw-2">*</span>first = <span class="number">3</span>;
158 elements[<span class="number">0</span>] = <span class="number">4</span>;
159 elements[<span class="number">1</span>] = <span class="number">5</span>;
160 }
161 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
162 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_last" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#261">source</a></span><h4 class="code-header">pub fn <a href="#method.split_last" class="fn">split_last</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Returns the last and all the rest of the elements of the slice, or <code>None</code> if it is empty.</p>
163 <h5 id="examples-11"><a class="doc-anchor" href="#examples-11">§</a>Examples</h5>
164 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
165
166 <span class="kw">if let </span><span class="prelude-val">Some</span>((last, elements)) = x.split_last() {
167 <span class="macro">assert_eq!</span>(last, <span class="kw-2">&amp;</span><span class="number">2</span>);
168 <span class="macro">assert_eq!</span>(elements, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>]);
169 }</code></pre></div>
170 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_last_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.5.0">1.5.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#283">source</a></span><h4 class="code-header">pub fn <a href="#method.split_last_mut" class="fn">split_last_mut</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Returns the last and all the rest of the elements of the slice, or <code>None</code> if it is empty.</p>
171 <h5 id="examples-12"><a class="doc-anchor" href="#examples-12">§</a>Examples</h5>
172 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
173
174 <span class="kw">if let </span><span class="prelude-val">Some</span>((last, elements)) = x.split_last_mut() {
175 <span class="kw-2">*</span>last = <span class="number">3</span>;
176 elements[<span class="number">0</span>] = <span class="number">4</span>;
177 elements[<span class="number">1</span>] = <span class="number">5</span>;
178 }
179 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">4</span>, <span class="number">5</span>, <span class="number">3</span>]);</code></pre></div>
180 </div></details><details class="toggle method-toggle" open><summary><section id="method.last" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#302">source</a></span><h4 class="code-header">pub fn <a href="#method.last" class="fn">last</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the last element of the slice, or <code>None</code> if it is empty.</p>
181 <h5 id="examples-13"><a class="doc-anchor" href="#examples-13">§</a>Examples</h5>
182 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
183 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">30</span>), v.last());
184
185 <span class="kw">let </span>w: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[];
186 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, w.last());</code></pre></div>
187 </div></details><details class="toggle method-toggle" open><summary><section id="method.last_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#325">source</a></span><h4 class="code-header">pub fn <a href="#method.last_mut" class="fn">last_mut</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>&gt;</h4></section></summary><div class="docblock"><p>Returns a mutable reference to the last item in the slice, or <code>None</code> if it is empty.</p>
188 <h5 id="examples-14"><a class="doc-anchor" href="#examples-14">§</a>Examples</h5>
189 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
190
191 <span class="kw">if let </span><span class="prelude-val">Some</span>(last) = x.last_mut() {
192 <span class="kw-2">*</span>last = <span class="number">10</span>;
193 }
194 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">10</span>]);
195
196 <span class="kw">let </span>y: <span class="kw-2">&amp;mut </span>[i32] = <span class="kw-2">&amp;mut </span>[];
197 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, y.last_mut());</code></pre></div>
198 </div></details><details class="toggle method-toggle" open><summary><section id="method.first_chunk" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#348">source</a></span><h4 class="code-header">pub fn <a href="#method.first_chunk" class="fn">first_chunk</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>&gt;</h4></section></summary><div class="docblock"><p>Return an array reference to the first <code>N</code> items in the slice.</p>
199 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
200 <h5 id="examples-15"><a class="doc-anchor" href="#examples-15">§</a>Examples</h5>
201 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>u = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
202 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>]), u.first_chunk::&lt;<span class="number">2</span>&gt;());
203
204 <span class="kw">let </span>v: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[<span class="number">10</span>];
205 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, v.first_chunk::&lt;<span class="number">2</span>&gt;());
206
207 <span class="kw">let </span>w: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[];
208 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[]), w.first_chunk::&lt;<span class="number">0</span>&gt;());</code></pre></div>
209 </div></details><details class="toggle method-toggle" open><summary><section id="method.first_chunk_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#378">source</a></span><h4 class="code-header">pub fn <a href="#method.first_chunk_mut" class="fn">first_chunk_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>&gt;</h4></section></summary><div class="docblock"><p>Return a mutable array reference to the first <code>N</code> items in the slice.</p>
210 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
211 <h5 id="examples-16"><a class="doc-anchor" href="#examples-16">§</a>Examples</h5>
212 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
213
214 <span class="kw">if let </span><span class="prelude-val">Some</span>(first) = x.first_chunk_mut::&lt;<span class="number">2</span>&gt;() {
215 first[<span class="number">0</span>] = <span class="number">5</span>;
216 first[<span class="number">1</span>] = <span class="number">4</span>;
217 }
218 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">5</span>, <span class="number">4</span>, <span class="number">2</span>]);
219
220 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, x.first_chunk_mut::&lt;<span class="number">4</span>&gt;());</code></pre></div>
221 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_first_chunk" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#408">source</a></span><h4 class="code-header">pub fn <a href="#method.split_first_chunk" class="fn">split_first_chunk</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Return an array reference to the first <code>N</code> items in the slice and the remaining slice.</p>
222 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
223 <h5 id="examples-17"><a class="doc-anchor" href="#examples-17">§</a>Examples</h5>
224 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
225
226 <span class="kw">if let </span><span class="prelude-val">Some</span>((first, elements)) = x.split_first_chunk::&lt;<span class="number">2</span>&gt;() {
227 <span class="macro">assert_eq!</span>(first, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>]);
228 <span class="macro">assert_eq!</span>(elements, <span class="kw-2">&amp;</span>[<span class="number">2</span>]);
229 }
230
231 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, x.split_first_chunk::&lt;<span class="number">4</span>&gt;());</code></pre></div>
232 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_first_chunk_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#443-445">source</a></span><h4 class="code-header">pub fn <a href="#method.split_first_chunk_mut" class="fn">split_first_chunk_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(
233 &amp;mut self
234 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Return a mutable array reference to the first <code>N</code> items in the slice and the remaining
235 slice.</p>
236 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
237 <h5 id="examples-18"><a class="doc-anchor" href="#examples-18">§</a>Examples</h5>
238 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
239
240 <span class="kw">if let </span><span class="prelude-val">Some</span>((first, elements)) = x.split_first_chunk_mut::&lt;<span class="number">2</span>&gt;() {
241 first[<span class="number">0</span>] = <span class="number">3</span>;
242 first[<span class="number">1</span>] = <span class="number">4</span>;
243 elements[<span class="number">0</span>] = <span class="number">5</span>;
244 }
245 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
246
247 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, x.split_first_chunk_mut::&lt;<span class="number">4</span>&gt;());</code></pre></div>
248 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_last_chunk" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#478">source</a></span><h4 class="code-header">pub fn <a href="#method.split_last_chunk" class="fn">split_last_chunk</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>)&gt;</h4></section></summary><div class="docblock"><p>Return an array reference to the last <code>N</code> items in the slice and the remaining slice.</p>
249 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
250 <h5 id="examples-19"><a class="doc-anchor" href="#examples-19">§</a>Examples</h5>
251 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
252
253 <span class="kw">if let </span><span class="prelude-val">Some</span>((elements, last)) = x.split_last_chunk::&lt;<span class="number">2</span>&gt;() {
254 <span class="macro">assert_eq!</span>(elements, <span class="kw-2">&amp;</span>[<span class="number">0</span>]);
255 <span class="macro">assert_eq!</span>(last, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);
256 }
257
258 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, x.split_last_chunk::&lt;<span class="number">4</span>&gt;());</code></pre></div>
259 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_last_chunk_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#513-515">source</a></span><h4 class="code-header">pub fn <a href="#method.split_last_chunk_mut" class="fn">split_last_chunk_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(
260 &amp;mut self
261 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>)&gt;</h4></section></summary><div class="docblock"><p>Return a mutable array reference to the last <code>N</code> items in the slice and the remaining
262 slice.</p>
263 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
264 <h5 id="examples-20"><a class="doc-anchor" href="#examples-20">§</a>Examples</h5>
265 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
266
267 <span class="kw">if let </span><span class="prelude-val">Some</span>((elements, last)) = x.split_last_chunk_mut::&lt;<span class="number">2</span>&gt;() {
268 last[<span class="number">0</span>] = <span class="number">3</span>;
269 last[<span class="number">1</span>] = <span class="number">4</span>;
270 elements[<span class="number">0</span>] = <span class="number">5</span>;
271 }
272 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">5</span>, <span class="number">3</span>, <span class="number">4</span>]);
273
274 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, x.split_last_chunk_mut::&lt;<span class="number">4</span>&gt;());</code></pre></div>
275 </div></details><details class="toggle method-toggle" open><summary><section id="method.last_chunk" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#548">source</a></span><h4 class="code-header">pub fn <a href="#method.last_chunk" class="fn">last_chunk</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>&gt;</h4></section></summary><div class="docblock"><p>Return an array reference to the last <code>N</code> items in the slice.</p>
276 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
277 <h5 id="examples-21"><a class="doc-anchor" href="#examples-21">§</a>Examples</h5>
278 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>u = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
279 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">40</span>, <span class="number">30</span>]), u.last_chunk::&lt;<span class="number">2</span>&gt;());
280
281 <span class="kw">let </span>v: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[<span class="number">10</span>];
282 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, v.last_chunk::&lt;<span class="number">2</span>&gt;());
283
284 <span class="kw">let </span>w: <span class="kw-2">&amp;</span>[i32] = <span class="kw-2">&amp;</span>[];
285 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[]), w.last_chunk::&lt;<span class="number">0</span>&gt;());</code></pre></div>
286 </div></details><details class="toggle method-toggle" open><summary><section id="method.last_chunk_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#582">source</a></span><h4 class="code-header">pub fn <a href="#method.last_chunk_mut" class="fn">last_chunk_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>&gt;</h4></section></summary><div class="docblock"><p>Return a mutable array reference to the last <code>N</code> items in the slice.</p>
287 <p>If the slice is not at least <code>N</code> in length, this will return <code>None</code>.</p>
288 <h5 id="examples-22"><a class="doc-anchor" href="#examples-22">§</a>Examples</h5>
289 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
290
291 <span class="kw">if let </span><span class="prelude-val">Some</span>(last) = x.last_chunk_mut::&lt;<span class="number">2</span>&gt;() {
292 last[<span class="number">0</span>] = <span class="number">10</span>;
293 last[<span class="number">1</span>] = <span class="number">20</span>;
294 }
295 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">10</span>, <span class="number">20</span>]);
296
297 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, x.last_chunk_mut::&lt;<span class="number">4</span>&gt;());</code></pre></div>
298 </div></details><details class="toggle method-toggle" open><summary><section id="method.get" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#617-619">source</a></span><h4 class="code-header">pub fn <a href="#method.get" class="fn">get</a>&lt;I&gt;(&amp;self, index: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a>&gt;<div class="where">where
299 I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Returns a reference to an element or subslice depending on the type of
300 index.</p>
301 <ul>
302 <li>If given a position, returns a reference to the element at that
303 position or <code>None</code> if out of bounds.</li>
304 <li>If given a range, returns the subslice corresponding to that range,
305 or <code>None</code> if out of bounds.</li>
306 </ul>
307 <h5 id="examples-23"><a class="doc-anchor" href="#examples-23">§</a>Examples</h5>
308 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
309 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">40</span>), v.get(<span class="number">1</span>));
310 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>][..]), v.get(<span class="number">0</span>..<span class="number">2</span>));
311 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, v.get(<span class="number">3</span>));
312 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, v.get(<span class="number">0</span>..<span class="number">4</span>));</code></pre></div>
313 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#642-644">source</a></span><h4 class="code-header">pub fn <a href="#method.get_mut" class="fn">get_mut</a>&lt;I&gt;(
314 &amp;mut self,
315 index: I
316 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a>&gt;<div class="where">where
317 I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Returns a mutable reference to an element or subslice depending on the
318 type of index (see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.get" title="method slice::get"><code>get</code></a>) or <code>None</code> if the index is out of bounds.</p>
319 <h5 id="examples-24"><a class="doc-anchor" href="#examples-24">§</a>Examples</h5>
320 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>];
321
322 <span class="kw">if let </span><span class="prelude-val">Some</span>(elem) = x.get_mut(<span class="number">1</span>) {
323 <span class="kw-2">*</span>elem = <span class="number">42</span>;
324 }
325 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">42</span>, <span class="number">2</span>]);</code></pre></div>
326 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_unchecked" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#679-681">source</a></span><h4 class="code-header">pub unsafe fn <a href="#method.get_unchecked" class="fn">get_unchecked</a>&lt;I&gt;(
327 &amp;self,
328 index: I
329 ) -&gt; &amp;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a><div class="where">where
330 I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Returns a reference to an element or subslice, without doing bounds
331 checking.</p>
332 <p>For a safe alternative see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.get" title="method slice::get"><code>get</code></a>.</p>
333 <h5 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h5>
334 <p>Calling this method with an out-of-bounds index is <em><a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html">undefined behavior</a></em>
335 even if the resulting reference is not used.</p>
336 <p>You can think of this like <code>.get(index).unwrap_unchecked()</code>. It’s UB
337 to call <code>.get_unchecked(len)</code>, even if you immediately convert to a
338 pointer. And it’s UB to call <code>.get_unchecked(..len + 1)</code>,
339 <code>.get_unchecked(..=len)</code>, or similar.</p>
340 <h5 id="examples-25"><a class="doc-anchor" href="#examples-25">§</a>Examples</h5>
341 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
342
343 <span class="kw">unsafe </span>{
344 <span class="macro">assert_eq!</span>(x.get_unchecked(<span class="number">1</span>), <span class="kw-2">&amp;</span><span class="number">2</span>);
345 }</code></pre></div>
346 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_unchecked_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#721-723">source</a></span><h4 class="code-header">pub unsafe fn <a href="#method.get_unchecked_mut" class="fn">get_unchecked_mut</a>&lt;I&gt;(
347 &amp;mut self,
348 index: I
349 ) -&gt; &amp;mut &lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html#associatedtype.Output" title="type core::slice::index::SliceIndex::Output">Output</a><div class="where">where
350 I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/index/trait.SliceIndex.html" title="trait core::slice::index::SliceIndex">SliceIndex</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Returns a mutable reference to an element or subslice, without doing
351 bounds checking.</p>
352 <p>For a safe alternative see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.get_mut" title="method slice::get_mut"><code>get_mut</code></a>.</p>
353 <h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
354 <p>Calling this method with an out-of-bounds index is <em><a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html">undefined behavior</a></em>
355 even if the resulting reference is not used.</p>
356 <p>You can think of this like <code>.get_mut(index).unwrap_unchecked()</code>. It’s
357 UB to call <code>.get_unchecked_mut(len)</code>, even if you immediately convert
358 to a pointer. And it’s UB to call <code>.get_unchecked_mut(..len + 1)</code>,
359 <code>.get_unchecked_mut(..=len)</code>, or similar.</p>
360 <h5 id="examples-26"><a class="doc-anchor" href="#examples-26">§</a>Examples</h5>
361 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
362
363 <span class="kw">unsafe </span>{
364 <span class="kw">let </span>elem = x.get_unchecked_mut(<span class="number">1</span>);
365 <span class="kw-2">*</span>elem = <span class="number">13</span>;
366 }
367 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">13</span>, <span class="number">4</span>]);</code></pre></div>
368 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_ptr" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#762">source</a></span><h4 class="code-header">pub fn <a href="#method.as_ptr" class="fn">as_ptr</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const T</a></h4></section></summary><div class="docblock"><p>Returns a raw pointer to the slice’s buffer.</p>
369 <p>The caller must ensure that the slice outlives the pointer this
370 function returns, or else it will end up pointing to garbage.</p>
371 <p>The caller must also ensure that the memory the pointer (non-transitively) points to
372 is never written to (except inside an <code>UnsafeCell</code>) using this pointer or any pointer
373 derived from it. If you need to mutate the contents of the slice, use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.as_mut_ptr" title="method slice::as_mut_ptr"><code>as_mut_ptr</code></a>.</p>
374 <p>Modifying the container referenced by this slice may cause its buffer
375 to be reallocated, which would also make any pointers to it invalid.</p>
376 <h5 id="examples-27"><a class="doc-anchor" href="#examples-27">§</a>Examples</h5>
377 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
378 <span class="kw">let </span>x_ptr = x.as_ptr();
379
380 <span class="kw">unsafe </span>{
381 <span class="kw">for </span>i <span class="kw">in </span><span class="number">0</span>..x.len() {
382 <span class="macro">assert_eq!</span>(x.get_unchecked(i), <span class="kw-2">&amp;*</span>x_ptr.add(i));
383 }
384 }</code></pre></div>
385 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_ptr" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#793">source</a></span><h4 class="code-header">pub fn <a href="#method.as_mut_ptr" class="fn">as_mut_ptr</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut T</a></h4></section></summary><div class="docblock"><p>Returns an unsafe mutable pointer to the slice’s buffer.</p>
386 <p>The caller must ensure that the slice outlives the pointer this
387 function returns, or else it will end up pointing to garbage.</p>
388 <p>Modifying the container referenced by this slice may cause its buffer
389 to be reallocated, which would also make any pointers to it invalid.</p>
390 <h5 id="examples-28"><a class="doc-anchor" href="#examples-28">§</a>Examples</h5>
391 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
392 <span class="kw">let </span>x_ptr = x.as_mut_ptr();
393
394 <span class="kw">unsafe </span>{
395 <span class="kw">for </span>i <span class="kw">in </span><span class="number">0</span>..x.len() {
396 <span class="kw-2">*</span>x_ptr.add(i) += <span class="number">2</span>;
397 }
398 }
399 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">6</span>]);</code></pre></div>
400 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_ptr_range" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.48.0">1.48.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#829">source</a></span><h4 class="code-header">pub fn <a href="#method.as_ptr_range" class="fn">as_ptr_range</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*const T</a>&gt; <a href="#" class="tooltip" data-notable-ty="Range&lt;*const T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns the two raw pointers spanning the slice.</p>
401 <p>The returned range is half-open, which means that the end pointer
402 points <em>one past</em> the last element of the slice. This way, an empty
403 slice is represented by two equal pointers, and the difference between
404 the two pointers represents the size of the slice.</p>
405 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.as_ptr" title="method slice::as_ptr"><code>as_ptr</code></a> for warnings on using these pointers. The end pointer
406 requires extra caution, as it does not point to a valid element in the
407 slice.</p>
408 <p>This function is useful for interacting with foreign interfaces which
409 use two pointers to refer to a range of elements in memory, as is
410 common in C++.</p>
411 <p>It can also be useful to check if a pointer to an element refers to an
412 element of this slice:</p>
413
414 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
415 <span class="kw">let </span>x = <span class="kw-2">&amp;</span>a[<span class="number">1</span>] <span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_</span>;
416 <span class="kw">let </span>y = <span class="kw-2">&amp;</span><span class="number">5 </span><span class="kw">as </span><span class="kw-2">*const </span><span class="kw">_</span>;
417
418 <span class="macro">assert!</span>(a.as_ptr_range().contains(<span class="kw-2">&amp;</span>x));
419 <span class="macro">assert!</span>(!a.as_ptr_range().contains(<span class="kw-2">&amp;</span>y));</code></pre></div>
420 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_ptr_range" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.48.0">1.48.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#873">source</a></span><h4 class="code-header">pub fn <a href="#method.as_mut_ptr_range" class="fn">as_mut_ptr_range</a>(&amp;mut self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut T</a>&gt; <a href="#" class="tooltip" data-notable-ty="Range&lt;*mut T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns the two unsafe mutable pointers spanning the slice.</p>
421 <p>The returned range is half-open, which means that the end pointer
422 points <em>one past</em> the last element of the slice. This way, an empty
423 slice is represented by two equal pointers, and the difference between
424 the two pointers represents the size of the slice.</p>
425 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.as_mut_ptr" title="method slice::as_mut_ptr"><code>as_mut_ptr</code></a> for warnings on using these pointers. The end
426 pointer requires extra caution, as it does not point to a valid element
427 in the slice.</p>
428 <p>This function is useful for interacting with foreign interfaces which
429 use two pointers to refer to a range of elements in memory, as is
430 common in C++.</p>
431 </div></details><details class="toggle method-toggle" open><summary><section id="method.swap" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#904">source</a></span><h4 class="code-header">pub fn <a href="#method.swap" class="fn">swap</a>(&amp;mut self, a: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, b: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Swaps two elements in the slice.</p>
432 <p>If <code>a</code> equals to <code>b</code>, it’s guaranteed that elements won’t change value.</p>
433 <h5 id="arguments"><a class="doc-anchor" href="#arguments">§</a>Arguments</h5>
434 <ul>
435 <li>a - The index of the first element</li>
436 <li>b - The index of the second element</li>
437 </ul>
438 <h5 id="panics-2"><a class="doc-anchor" href="#panics-2">§</a>Panics</h5>
439 <p>Panics if <code>a</code> or <code>b</code> are out of bounds.</p>
440 <h5 id="examples-29"><a class="doc-anchor" href="#examples-29">§</a>Examples</h5>
441 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"d"</span>, <span class="string">"e"</span>];
442 v.swap(<span class="number">2</span>, <span class="number">4</span>);
443 <span class="macro">assert!</span>(v == [<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"e"</span>, <span class="string">"d"</span>, <span class="string">"c"</span>]);</code></pre></div>
444 </div></details><details class="toggle method-toggle" open><summary><section id="method.swap_unchecked" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#947">source</a><h4 class="code-header">pub unsafe fn <a href="#method.swap_unchecked" class="fn">swap_unchecked</a>(&amp;mut self, a: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, b: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_swap_unchecked</code>)</span></div></span></summary><div class="docblock"><p>Swaps two elements in the slice, without doing bounds checking.</p>
445 <p>For a safe alternative see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.swap" title="method slice::swap"><code>swap</code></a>.</p>
446 <h5 id="arguments-1"><a class="doc-anchor" href="#arguments-1">§</a>Arguments</h5>
447 <ul>
448 <li>a - The index of the first element</li>
449 <li>b - The index of the second element</li>
450 </ul>
451 <h5 id="safety-2"><a class="doc-anchor" href="#safety-2">§</a>Safety</h5>
452 <p>Calling this method with an out-of-bounds index is <em><a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html">undefined behavior</a></em>.
453 The caller has to ensure that <code>a &lt; self.len()</code> and <code>b &lt; self.len()</code>.</p>
454 <h5 id="examples-30"><a class="doc-anchor" href="#examples-30">§</a>Examples</h5>
455 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_swap_unchecked)]
456
457 </span><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"d"</span>];
458 <span class="comment">// SAFETY: we know that 1 and 3 are both indices of the slice
459 </span><span class="kw">unsafe </span>{ v.swap_unchecked(<span class="number">1</span>, <span class="number">3</span>) };
460 <span class="macro">assert!</span>(v == [<span class="string">"a"</span>, <span class="string">"d"</span>, <span class="string">"c"</span>, <span class="string">"b"</span>]);</code></pre></div>
461 </div></details><details class="toggle method-toggle" open><summary><section id="method.reverse" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#976">source</a></span><h4 class="code-header">pub fn <a href="#method.reverse" class="fn">reverse</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Reverses the order of elements in the slice, in place.</p>
462 <h5 id="examples-31"><a class="doc-anchor" href="#examples-31">§</a>Examples</h5>
463 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
464 v.reverse();
465 <span class="macro">assert!</span>(v == [<span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>]);</code></pre></div>
466 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1034">source</a></span><h4 class="code-header">pub fn <a href="#method.iter" class="fn">iter</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.Iter.html" title="struct core::slice::iter::Iter">Iter</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="Iter&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over the slice.</p>
467 <p>The iterator yields all items from start to end.</p>
468 <h5 id="examples-32"><a class="doc-anchor" href="#examples-32">§</a>Examples</h5>
469 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
470 <span class="kw">let </span><span class="kw-2">mut </span>iterator = x.iter();
471
472 <span class="macro">assert_eq!</span>(iterator.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">1</span>));
473 <span class="macro">assert_eq!</span>(iterator.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">2</span>));
474 <span class="macro">assert_eq!</span>(iterator.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="number">4</span>));
475 <span class="macro">assert_eq!</span>(iterator.next(), <span class="prelude-val">None</span>);</code></pre></div>
476 </div></details><details class="toggle method-toggle" open><summary><section id="method.iter_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1053">source</a></span><h4 class="code-header">pub fn <a href="#method.iter_mut" class="fn">iter_mut</a>(&amp;mut self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.IterMut.html" title="struct core::slice::iter::IterMut">IterMut</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="IterMut&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator that allows modifying each value.</p>
477 <p>The iterator yields all items from start to end.</p>
478 <h5 id="examples-33"><a class="doc-anchor" href="#examples-33">§</a>Examples</h5>
479 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
480 <span class="kw">for </span>elem <span class="kw">in </span>x.iter_mut() {
481 <span class="kw-2">*</span>elem += <span class="number">2</span>;
482 }
483 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">4</span>, <span class="number">6</span>]);</code></pre></div>
484 </div></details><details class="toggle method-toggle" open><summary><section id="method.windows" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1102">source</a></span><h4 class="code-header">pub fn <a href="#method.windows" class="fn">windows</a>(&amp;self, size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.Windows.html" title="struct core::slice::iter::Windows">Windows</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="Windows&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over all contiguous windows of length
485 <code>size</code>. The windows overlap. If the slice is shorter than
486 <code>size</code>, the iterator returns no values.</p>
487 <h5 id="panics-3"><a class="doc-anchor" href="#panics-3">§</a>Panics</h5>
488 <p>Panics if <code>size</code> is 0.</p>
489 <h5 id="examples-34"><a class="doc-anchor" href="#examples-34">§</a>Examples</h5>
490 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
491 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.windows(<span class="number">3</span>);
492 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>]);
493 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>]);
494 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>]);
495 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
496 <p>If the slice is shorter than <code>size</code>:</p>
497
498 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="string">'f'</span>, <span class="string">'o'</span>, <span class="string">'o'</span>];
499 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.windows(<span class="number">4</span>);
500 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
501 <p>There’s no <code>windows_mut</code>, as that existing would let safe code violate the
502 “only one <code>&amp;mut</code> at a time to the same thing” rule. However, you can sometimes
503 use <a href="https://doc.rust-lang.org/nightly/core/cell/struct.Cell.html#method.as_slice_of_cells" title="method core::cell::Cell::as_slice_of_cells"><code>Cell::as_slice_of_cells</code></a> in
504 conjunction with <code>windows</code> to accomplish something similar:</p>
505
506 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>std::cell::Cell;
507
508 <span class="kw">let </span><span class="kw-2">mut </span>array = [<span class="string">'R'</span>, <span class="string">'u'</span>, <span class="string">'s'</span>, <span class="string">'t'</span>, <span class="string">' '</span>, <span class="string">'2'</span>, <span class="string">'0'</span>, <span class="string">'1'</span>, <span class="string">'5'</span>];
509 <span class="kw">let </span>slice = <span class="kw-2">&amp;mut </span>array[..];
510 <span class="kw">let </span>slice_of_cells: <span class="kw-2">&amp;</span>[Cell&lt;char&gt;] = Cell::from_mut(slice).as_slice_of_cells();
511 <span class="kw">for </span>w <span class="kw">in </span>slice_of_cells.windows(<span class="number">3</span>) {
512 Cell::swap(<span class="kw-2">&amp;</span>w[<span class="number">0</span>], <span class="kw-2">&amp;</span>w[<span class="number">2</span>]);
513 }
514 <span class="macro">assert_eq!</span>(array, [<span class="string">'s'</span>, <span class="string">'t'</span>, <span class="string">' '</span>, <span class="string">'2'</span>, <span class="string">'0'</span>, <span class="string">'1'</span>, <span class="string">'5'</span>, <span class="string">'u'</span>, <span class="string">'R'</span>]);</code></pre></div>
515 </div></details><details class="toggle method-toggle" open><summary><section id="method.chunks" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1137">source</a></span><h4 class="code-header">pub fn <a href="#method.chunks" class="fn">chunks</a>(&amp;self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.Chunks.html" title="struct core::slice::iter::Chunks">Chunks</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="Chunks&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the
516 beginning of the slice.</p>
517 <p>The chunks are slices and do not overlap. If <code>chunk_size</code> does not divide the length of the
518 slice, then the last chunk will not have length <code>chunk_size</code>.</p>
519 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_exact" title="method slice::chunks_exact"><code>chunks_exact</code></a> for a variant of this iterator that returns chunks of always exactly
520 <code>chunk_size</code> elements, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks" title="method slice::rchunks"><code>rchunks</code></a> for the same iterator but starting at the end of the
521 slice.</p>
522 <h5 id="panics-4"><a class="doc-anchor" href="#panics-4">§</a>Panics</h5>
523 <p>Panics if <code>chunk_size</code> is 0.</p>
524 <h5 id="examples-35"><a class="doc-anchor" href="#examples-35">§</a>Examples</h5>
525 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
526 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.chunks(<span class="number">2</span>);
527 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'l'</span>, <span class="string">'o'</span>]);
528 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'r'</span>, <span class="string">'e'</span>]);
529 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'m'</span>]);
530 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
531 </div></details><details class="toggle method-toggle" open><summary><section id="method.chunks_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1176">source</a></span><h4 class="code-header">pub fn <a href="#method.chunks_mut" class="fn">chunks_mut</a>(&amp;mut self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksMut.html" title="struct core::slice::iter::ChunksMut">ChunksMut</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="ChunksMut&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the
532 beginning of the slice.</p>
533 <p>The chunks are mutable slices, and do not overlap. If <code>chunk_size</code> does not divide the
534 length of the slice, then the last chunk will not have length <code>chunk_size</code>.</p>
535 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_exact_mut" title="method slice::chunks_exact_mut"><code>chunks_exact_mut</code></a> for a variant of this iterator that returns chunks of always
536 exactly <code>chunk_size</code> elements, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks_mut" title="method slice::rchunks_mut"><code>rchunks_mut</code></a> for the same iterator but starting at
537 the end of the slice.</p>
538 <h5 id="panics-5"><a class="doc-anchor" href="#panics-5">§</a>Panics</h5>
539 <p>Panics if <code>chunk_size</code> is 0.</p>
540 <h5 id="examples-36"><a class="doc-anchor" href="#examples-36">§</a>Examples</h5>
541 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
542 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
543
544 <span class="kw">for </span>chunk <span class="kw">in </span>v.chunks_mut(<span class="number">2</span>) {
545 <span class="kw">for </span>elem <span class="kw">in </span>chunk.iter_mut() {
546 <span class="kw-2">*</span>elem += count;
547 }
548 count += <span class="number">1</span>;
549 }
550 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">3</span>]);</code></pre></div>
551 </div></details><details class="toggle method-toggle" open><summary><section id="method.chunks_exact" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.31.0">1.31.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1214">source</a></span><h4 class="code-header">pub fn <a href="#method.chunks_exact" class="fn">chunks_exact</a>(&amp;self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksExact.html" title="struct core::slice::iter::ChunksExact">ChunksExact</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="ChunksExact&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the
552 beginning of the slice.</p>
553 <p>The chunks are slices and do not overlap. If <code>chunk_size</code> does not divide the length of the
554 slice, then the last up to <code>chunk_size-1</code> elements will be omitted and can be retrieved
555 from the <code>remainder</code> function of the iterator.</p>
556 <p>Due to each chunk having exactly <code>chunk_size</code> elements, the compiler can often optimize the
557 resulting code better than in the case of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks" title="method slice::chunks"><code>chunks</code></a>.</p>
558 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks" title="method slice::chunks"><code>chunks</code></a> for a variant of this iterator that also returns the remainder as a smaller
559 chunk, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks_exact" title="method slice::rchunks_exact"><code>rchunks_exact</code></a> for the same iterator but starting at the end of the slice.</p>
560 <h5 id="panics-6"><a class="doc-anchor" href="#panics-6">§</a>Panics</h5>
561 <p>Panics if <code>chunk_size</code> is 0.</p>
562 <h5 id="examples-37"><a class="doc-anchor" href="#examples-37">§</a>Examples</h5>
563 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
564 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.chunks_exact(<span class="number">2</span>);
565 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'l'</span>, <span class="string">'o'</span>]);
566 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'r'</span>, <span class="string">'e'</span>]);
567 <span class="macro">assert!</span>(iter.next().is_none());
568 <span class="macro">assert_eq!</span>(iter.remainder(), <span class="kw-2">&amp;</span>[<span class="string">'m'</span>]);</code></pre></div>
569 </div></details><details class="toggle method-toggle" open><summary><section id="method.chunks_exact_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.31.0">1.31.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1257">source</a></span><h4 class="code-header">pub fn <a href="#method.chunks_exact_mut" class="fn">chunks_exact_mut</a>(&amp;mut self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksExactMut.html" title="struct core::slice::iter::ChunksExactMut">ChunksExactMut</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="ChunksExactMut&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the
570 beginning of the slice.</p>
571 <p>The chunks are mutable slices, and do not overlap. If <code>chunk_size</code> does not divide the
572 length of the slice, then the last up to <code>chunk_size-1</code> elements will be omitted and can be
573 retrieved from the <code>into_remainder</code> function of the iterator.</p>
574 <p>Due to each chunk having exactly <code>chunk_size</code> elements, the compiler can often optimize the
575 resulting code better than in the case of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_mut" title="method slice::chunks_mut"><code>chunks_mut</code></a>.</p>
576 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_mut" title="method slice::chunks_mut"><code>chunks_mut</code></a> for a variant of this iterator that also returns the remainder as a
577 smaller chunk, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks_exact_mut" title="method slice::rchunks_exact_mut"><code>rchunks_exact_mut</code></a> for the same iterator but starting at the end of
578 the slice.</p>
579 <h5 id="panics-7"><a class="doc-anchor" href="#panics-7">§</a>Panics</h5>
580 <p>Panics if <code>chunk_size</code> is 0.</p>
581 <h5 id="examples-38"><a class="doc-anchor" href="#examples-38">§</a>Examples</h5>
582 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
583 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
584
585 <span class="kw">for </span>chunk <span class="kw">in </span>v.chunks_exact_mut(<span class="number">2</span>) {
586 <span class="kw">for </span>elem <span class="kw">in </span>chunk.iter_mut() {
587 <span class="kw-2">*</span>elem += count;
588 }
589 count += <span class="number">1</span>;
590 }
591 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">0</span>]);</code></pre></div>
592 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_chunks_unchecked" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1292">source</a><h4 class="code-header">pub unsafe fn <a href="#method.as_chunks_unchecked" class="fn">as_chunks_unchecked</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>]</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_as_chunks</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice into a slice of <code>N</code>-element arrays,
593 assuming that there’s no remainder.</p>
594 <h5 id="safety-3"><a class="doc-anchor" href="#safety-3">§</a>Safety</h5>
595 <p>This may only be called when</p>
596 <ul>
597 <li>The slice splits exactly into <code>N</code>-element chunks (aka <code>self.len() % N == 0</code>).</li>
598 <li><code>N != 0</code>.</li>
599 </ul>
600 <h5 id="examples-39"><a class="doc-anchor" href="#examples-39">§</a>Examples</h5>
601 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
602 </span><span class="kw">let </span>slice: <span class="kw-2">&amp;</span>[char] = <span class="kw-2">&amp;</span>[<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>, <span class="string">'!'</span>];
603 <span class="kw">let </span>chunks: <span class="kw-2">&amp;</span>[[char; <span class="number">1</span>]] =
604 <span class="comment">// SAFETY: 1-element chunks never have remainder
605 </span><span class="kw">unsafe </span>{ slice.as_chunks_unchecked() };
606 <span class="macro">assert_eq!</span>(chunks, <span class="kw-2">&amp;</span>[[<span class="string">'l'</span>], [<span class="string">'o'</span>], [<span class="string">'r'</span>], [<span class="string">'e'</span>], [<span class="string">'m'</span>], [<span class="string">'!'</span>]]);
607 <span class="kw">let </span>chunks: <span class="kw-2">&amp;</span>[[char; <span class="number">3</span>]] =
608 <span class="comment">// SAFETY: The slice length (6) is a multiple of 3
609 </span><span class="kw">unsafe </span>{ slice.as_chunks_unchecked() };
610 <span class="macro">assert_eq!</span>(chunks, <span class="kw-2">&amp;</span>[[<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>], [<span class="string">'e'</span>, <span class="string">'m'</span>, <span class="string">'!'</span>]]);
611
612 <span class="comment">// These would be unsound:
613 // let chunks: &amp;[[_; 5]] = slice.as_chunks_unchecked() // The slice length is not a multiple of 5
614 // let chunks: &amp;[[_; 0]] = slice.as_chunks_unchecked() // Zero-length chunks are never allowed</span></code></pre></div>
615 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_chunks" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1338">source</a><h4 class="code-header">pub fn <a href="#method.as_chunks" class="fn">as_chunks</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; (&amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>], &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_as_chunks</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice into a slice of <code>N</code>-element arrays,
616 starting at the beginning of the slice,
617 and a remainder slice with length strictly less than <code>N</code>.</p>
618 <h5 id="panics-8"><a class="doc-anchor" href="#panics-8">§</a>Panics</h5>
619 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
620 error before this method gets stabilized.</p>
621 <h5 id="examples-40"><a class="doc-anchor" href="#examples-40">§</a>Examples</h5>
622 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
623 </span><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
624 <span class="kw">let </span>(chunks, remainder) = slice.as_chunks();
625 <span class="macro">assert_eq!</span>(chunks, <span class="kw-2">&amp;</span>[[<span class="string">'l'</span>, <span class="string">'o'</span>], [<span class="string">'r'</span>, <span class="string">'e'</span>]]);
626 <span class="macro">assert_eq!</span>(remainder, <span class="kw-2">&amp;</span>[<span class="string">'m'</span>]);</code></pre></div>
627 <p>If you expect the slice to be an exact multiple, you can combine
628 <code>let</code>-<code>else</code> with an empty slice pattern:</p>
629
630 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
631 </span><span class="kw">let </span>slice = [<span class="string">'R'</span>, <span class="string">'u'</span>, <span class="string">'s'</span>, <span class="string">'t'</span>];
632 <span class="kw">let </span>(chunks, []) = slice.as_chunks::&lt;<span class="number">2</span>&gt;() <span class="kw">else </span>{
633 <span class="macro">panic!</span>(<span class="string">"slice didn't have even length"</span>)
634 };
635 <span class="macro">assert_eq!</span>(chunks, <span class="kw-2">&amp;</span>[[<span class="string">'R'</span>, <span class="string">'u'</span>], [<span class="string">'s'</span>, <span class="string">'t'</span>]]);</code></pre></div>
636 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_rchunks" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1372">source</a><h4 class="code-header">pub fn <a href="#method.as_rchunks" class="fn">as_rchunks</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>])</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_as_chunks</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice into a slice of <code>N</code>-element arrays,
637 starting at the end of the slice,
638 and a remainder slice with length strictly less than <code>N</code>.</p>
639 <h5 id="panics-9"><a class="doc-anchor" href="#panics-9">§</a>Panics</h5>
640 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
641 error before this method gets stabilized.</p>
642 <h5 id="examples-41"><a class="doc-anchor" href="#examples-41">§</a>Examples</h5>
643 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
644 </span><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
645 <span class="kw">let </span>(remainder, chunks) = slice.as_rchunks();
646 <span class="macro">assert_eq!</span>(remainder, <span class="kw-2">&amp;</span>[<span class="string">'l'</span>]);
647 <span class="macro">assert_eq!</span>(chunks, <span class="kw-2">&amp;</span>[[<span class="string">'o'</span>, <span class="string">'r'</span>], [<span class="string">'e'</span>, <span class="string">'m'</span>]]);</code></pre></div>
648 </div></details><details class="toggle method-toggle" open><summary><section id="method.array_chunks" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1412">source</a><h4 class="code-header">pub fn <a href="#method.array_chunks" class="fn">array_chunks</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayChunks.html" title="struct core::slice::iter::ArrayChunks">ArrayChunks</a>&lt;'_, T, N&gt; <a href="#" class="tooltip" data-notable-ty="ArrayChunks&lt;&#39;_, T, N&gt;">ⓘ</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>array_chunks</code>)</span></div></span></summary><div class="docblock"><p>Returns an iterator over <code>N</code> elements of the slice at a time, starting at the
649 beginning of the slice.</p>
650 <p>The chunks are array references and do not overlap. If <code>N</code> does not divide the
651 length of the slice, then the last up to <code>N-1</code> elements will be omitted and can be
652 retrieved from the <code>remainder</code> function of the iterator.</p>
653 <p>This method is the const generic equivalent of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_exact" title="method slice::chunks_exact"><code>chunks_exact</code></a>.</p>
654 <h5 id="panics-10"><a class="doc-anchor" href="#panics-10">§</a>Panics</h5>
655 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
656 error before this method gets stabilized.</p>
657 <h5 id="examples-42"><a class="doc-anchor" href="#examples-42">§</a>Examples</h5>
658 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(array_chunks)]
659 </span><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
660 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.array_chunks();
661 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'l'</span>, <span class="string">'o'</span>]);
662 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'r'</span>, <span class="string">'e'</span>]);
663 <span class="macro">assert!</span>(iter.next().is_none());
664 <span class="macro">assert_eq!</span>(iter.remainder(), <span class="kw-2">&amp;</span>[<span class="string">'m'</span>]);</code></pre></div>
665 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_chunks_unchecked_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1449">source</a><h4 class="code-header">pub unsafe fn <a href="#method.as_chunks_unchecked_mut" class="fn">as_chunks_unchecked_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(
666 &amp;mut self
667 ) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>]</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_as_chunks</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice into a slice of <code>N</code>-element arrays,
668 assuming that there’s no remainder.</p>
669 <h5 id="safety-4"><a class="doc-anchor" href="#safety-4">§</a>Safety</h5>
670 <p>This may only be called when</p>
671 <ul>
672 <li>The slice splits exactly into <code>N</code>-element chunks (aka <code>self.len() % N == 0</code>).</li>
673 <li><code>N != 0</code>.</li>
674 </ul>
675 <h5 id="examples-43"><a class="doc-anchor" href="#examples-43">§</a>Examples</h5>
676 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
677 </span><span class="kw">let </span>slice: <span class="kw-2">&amp;mut </span>[char] = <span class="kw-2">&amp;mut </span>[<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>, <span class="string">'!'</span>];
678 <span class="kw">let </span>chunks: <span class="kw-2">&amp;mut </span>[[char; <span class="number">1</span>]] =
679 <span class="comment">// SAFETY: 1-element chunks never have remainder
680 </span><span class="kw">unsafe </span>{ slice.as_chunks_unchecked_mut() };
681 chunks[<span class="number">0</span>] = [<span class="string">'L'</span>];
682 <span class="macro">assert_eq!</span>(chunks, <span class="kw-2">&amp;</span>[[<span class="string">'L'</span>], [<span class="string">'o'</span>], [<span class="string">'r'</span>], [<span class="string">'e'</span>], [<span class="string">'m'</span>], [<span class="string">'!'</span>]]);
683 <span class="kw">let </span>chunks: <span class="kw-2">&amp;mut </span>[[char; <span class="number">3</span>]] =
684 <span class="comment">// SAFETY: The slice length (6) is a multiple of 3
685 </span><span class="kw">unsafe </span>{ slice.as_chunks_unchecked_mut() };
686 chunks[<span class="number">1</span>] = [<span class="string">'a'</span>, <span class="string">'x'</span>, <span class="string">'?'</span>];
687 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'L'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'a'</span>, <span class="string">'x'</span>, <span class="string">'?'</span>]);
688
689 <span class="comment">// These would be unsound:
690 // let chunks: &amp;[[_; 5]] = slice.as_chunks_unchecked_mut() // The slice length is not a multiple of 5
691 // let chunks: &amp;[[_; 0]] = slice.as_chunks_unchecked_mut() // Zero-length chunks are never allowed</span></code></pre></div>
692 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_chunks_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1490">source</a><h4 class="code-header">pub fn <a href="#method.as_chunks_mut" class="fn">as_chunks_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;mut self) -&gt; (&amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>], &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_as_chunks</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice into a slice of <code>N</code>-element arrays,
693 starting at the beginning of the slice,
694 and a remainder slice with length strictly less than <code>N</code>.</p>
695 <h5 id="panics-11"><a class="doc-anchor" href="#panics-11">§</a>Panics</h5>
696 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
697 error before this method gets stabilized.</p>
698 <h5 id="examples-44"><a class="doc-anchor" href="#examples-44">§</a>Examples</h5>
699 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
700 </span><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
701 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
702
703 <span class="kw">let </span>(chunks, remainder) = v.as_chunks_mut();
704 remainder[<span class="number">0</span>] = <span class="number">9</span>;
705 <span class="kw">for </span>chunk <span class="kw">in </span>chunks {
706 <span class="kw-2">*</span>chunk = [count; <span class="number">2</span>];
707 count += <span class="number">1</span>;
708 }
709 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">9</span>]);</code></pre></div>
710 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_rchunks_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1530">source</a><h4 class="code-header">pub fn <a href="#method.as_rchunks_mut" class="fn">as_rchunks_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;mut self) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; N]</a>])</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_as_chunks</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice into a slice of <code>N</code>-element arrays,
711 starting at the end of the slice,
712 and a remainder slice with length strictly less than <code>N</code>.</p>
713 <h5 id="panics-12"><a class="doc-anchor" href="#panics-12">§</a>Panics</h5>
714 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
715 error before this method gets stabilized.</p>
716 <h5 id="examples-45"><a class="doc-anchor" href="#examples-45">§</a>Examples</h5>
717 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_as_chunks)]
718 </span><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
719 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
720
721 <span class="kw">let </span>(remainder, chunks) = v.as_rchunks_mut();
722 remainder[<span class="number">0</span>] = <span class="number">9</span>;
723 <span class="kw">for </span>chunk <span class="kw">in </span>chunks {
724 <span class="kw-2">*</span>chunk = [count; <span class="number">2</span>];
725 count += <span class="number">1</span>;
726 }
727 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">9</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>]);</code></pre></div>
728 </div></details><details class="toggle method-toggle" open><summary><section id="method.array_chunks_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1572">source</a><h4 class="code-header">pub fn <a href="#method.array_chunks_mut" class="fn">array_chunks_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;mut self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayChunksMut.html" title="struct core::slice::iter::ArrayChunksMut">ArrayChunksMut</a>&lt;'_, T, N&gt; <a href="#" class="tooltip" data-notable-ty="ArrayChunksMut&lt;&#39;_, T, N&gt;">ⓘ</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>array_chunks</code>)</span></div></span></summary><div class="docblock"><p>Returns an iterator over <code>N</code> elements of the slice at a time, starting at the
729 beginning of the slice.</p>
730 <p>The chunks are mutable array references and do not overlap. If <code>N</code> does not divide
731 the length of the slice, then the last up to <code>N-1</code> elements will be omitted and
732 can be retrieved from the <code>into_remainder</code> function of the iterator.</p>
733 <p>This method is the const generic equivalent of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_exact_mut" title="method slice::chunks_exact_mut"><code>chunks_exact_mut</code></a>.</p>
734 <h5 id="panics-13"><a class="doc-anchor" href="#panics-13">§</a>Panics</h5>
735 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
736 error before this method gets stabilized.</p>
737 <h5 id="examples-46"><a class="doc-anchor" href="#examples-46">§</a>Examples</h5>
738 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(array_chunks)]
739 </span><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
740 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
741
742 <span class="kw">for </span>chunk <span class="kw">in </span>v.array_chunks_mut() {
743 <span class="kw-2">*</span>chunk = [count; <span class="number">2</span>];
744 count += <span class="number">1</span>;
745 }
746 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">0</span>]);</code></pre></div>
747 </div></details><details class="toggle method-toggle" open><summary><section id="method.array_windows" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1605">source</a><h4 class="code-header">pub fn <a href="#method.array_windows" class="fn">array_windows</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayWindows.html" title="struct core::slice::iter::ArrayWindows">ArrayWindows</a>&lt;'_, T, N&gt; <a href="#" class="tooltip" data-notable-ty="ArrayWindows&lt;&#39;_, T, N&gt;">ⓘ</a></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>array_windows</code>)</span></div></span></summary><div class="docblock"><p>Returns an iterator over overlapping windows of <code>N</code> elements of a slice,
748 starting at the beginning of the slice.</p>
749 <p>This is the const generic equivalent of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.windows" title="method slice::windows"><code>windows</code></a>.</p>
750 <p>If <code>N</code> is greater than the size of the slice, it will return no windows.</p>
751 <h5 id="panics-14"><a class="doc-anchor" href="#panics-14">§</a>Panics</h5>
752 <p>Panics if <code>N</code> is 0. This check will most probably get changed to a compile time
753 error before this method gets stabilized.</p>
754 <h5 id="examples-47"><a class="doc-anchor" href="#examples-47">§</a>Examples</h5>
755 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(array_windows)]
756 </span><span class="kw">let </span>slice = [<span class="number">0</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
757 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.array_windows();
758 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>]);
759 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);
760 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>]);
761 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
762 </div></details><details class="toggle method-toggle" open><summary><section id="method.rchunks" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.31.0">1.31.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1640">source</a></span><h4 class="code-header">pub fn <a href="#method.rchunks" class="fn">rchunks</a>(&amp;self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunks.html" title="struct core::slice::iter::RChunks">RChunks</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="RChunks&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the end
763 of the slice.</p>
764 <p>The chunks are slices and do not overlap. If <code>chunk_size</code> does not divide the length of the
765 slice, then the last chunk will not have length <code>chunk_size</code>.</p>
766 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks_exact" title="method slice::rchunks_exact"><code>rchunks_exact</code></a> for a variant of this iterator that returns chunks of always exactly
767 <code>chunk_size</code> elements, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks" title="method slice::chunks"><code>chunks</code></a> for the same iterator but starting at the beginning
768 of the slice.</p>
769 <h5 id="panics-15"><a class="doc-anchor" href="#panics-15">§</a>Panics</h5>
770 <p>Panics if <code>chunk_size</code> is 0.</p>
771 <h5 id="examples-48"><a class="doc-anchor" href="#examples-48">§</a>Examples</h5>
772 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
773 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.rchunks(<span class="number">2</span>);
774 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'e'</span>, <span class="string">'m'</span>]);
775 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'o'</span>, <span class="string">'r'</span>]);
776 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'l'</span>]);
777 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
778 </div></details><details class="toggle method-toggle" open><summary><section id="method.rchunks_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.31.0">1.31.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1679">source</a></span><h4 class="code-header">pub fn <a href="#method.rchunks_mut" class="fn">rchunks_mut</a>(&amp;mut self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksMut.html" title="struct core::slice::iter::RChunksMut">RChunksMut</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="RChunksMut&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the end
779 of the slice.</p>
780 <p>The chunks are mutable slices, and do not overlap. If <code>chunk_size</code> does not divide the
781 length of the slice, then the last chunk will not have length <code>chunk_size</code>.</p>
782 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks_exact_mut" title="method slice::rchunks_exact_mut"><code>rchunks_exact_mut</code></a> for a variant of this iterator that returns chunks of always
783 exactly <code>chunk_size</code> elements, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_mut" title="method slice::chunks_mut"><code>chunks_mut</code></a> for the same iterator but starting at the
784 beginning of the slice.</p>
785 <h5 id="panics-16"><a class="doc-anchor" href="#panics-16">§</a>Panics</h5>
786 <p>Panics if <code>chunk_size</code> is 0.</p>
787 <h5 id="examples-49"><a class="doc-anchor" href="#examples-49">§</a>Examples</h5>
788 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
789 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
790
791 <span class="kw">for </span>chunk <span class="kw">in </span>v.rchunks_mut(<span class="number">2</span>) {
792 <span class="kw">for </span>elem <span class="kw">in </span>chunk.iter_mut() {
793 <span class="kw-2">*</span>elem += count;
794 }
795 count += <span class="number">1</span>;
796 }
797 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">1</span>]);</code></pre></div>
798 </div></details><details class="toggle method-toggle" open><summary><section id="method.rchunks_exact" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.31.0">1.31.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1719">source</a></span><h4 class="code-header">pub fn <a href="#method.rchunks_exact" class="fn">rchunks_exact</a>(&amp;self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksExact.html" title="struct core::slice::iter::RChunksExact">RChunksExact</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="RChunksExact&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the
799 end of the slice.</p>
800 <p>The chunks are slices and do not overlap. If <code>chunk_size</code> does not divide the length of the
801 slice, then the last up to <code>chunk_size-1</code> elements will be omitted and can be retrieved
802 from the <code>remainder</code> function of the iterator.</p>
803 <p>Due to each chunk having exactly <code>chunk_size</code> elements, the compiler can often optimize the
804 resulting code better than in the case of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks" title="method slice::rchunks"><code>rchunks</code></a>.</p>
805 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks" title="method slice::rchunks"><code>rchunks</code></a> for a variant of this iterator that also returns the remainder as a smaller
806 chunk, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_exact" title="method slice::chunks_exact"><code>chunks_exact</code></a> for the same iterator but starting at the beginning of the
807 slice.</p>
808 <h5 id="panics-17"><a class="doc-anchor" href="#panics-17">§</a>Panics</h5>
809 <p>Panics if <code>chunk_size</code> is 0.</p>
810 <h5 id="examples-50"><a class="doc-anchor" href="#examples-50">§</a>Examples</h5>
811 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="string">'l'</span>, <span class="string">'o'</span>, <span class="string">'r'</span>, <span class="string">'e'</span>, <span class="string">'m'</span>];
812 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.rchunks_exact(<span class="number">2</span>);
813 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'e'</span>, <span class="string">'m'</span>]);
814 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="string">'o'</span>, <span class="string">'r'</span>]);
815 <span class="macro">assert!</span>(iter.next().is_none());
816 <span class="macro">assert_eq!</span>(iter.remainder(), <span class="kw-2">&amp;</span>[<span class="string">'l'</span>]);</code></pre></div>
817 </div></details><details class="toggle method-toggle" open><summary><section id="method.rchunks_exact_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.31.0">1.31.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1763">source</a></span><h4 class="code-header">pub fn <a href="#method.rchunks_exact_mut" class="fn">rchunks_exact_mut</a>(&amp;mut self, chunk_size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksExactMut.html" title="struct core::slice::iter::RChunksExactMut">RChunksExactMut</a>&lt;'_, T&gt; <a href="#" class="tooltip" data-notable-ty="RChunksExactMut&lt;&#39;_, T&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator over <code>chunk_size</code> elements of the slice at a time, starting at the end
818 of the slice.</p>
819 <p>The chunks are mutable slices, and do not overlap. If <code>chunk_size</code> does not divide the
820 length of the slice, then the last up to <code>chunk_size-1</code> elements will be omitted and can be
821 retrieved from the <code>into_remainder</code> function of the iterator.</p>
822 <p>Due to each chunk having exactly <code>chunk_size</code> elements, the compiler can often optimize the
823 resulting code better than in the case of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_mut" title="method slice::chunks_mut"><code>chunks_mut</code></a>.</p>
824 <p>See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.rchunks_mut" title="method slice::rchunks_mut"><code>rchunks_mut</code></a> for a variant of this iterator that also returns the remainder as a
825 smaller chunk, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.chunks_exact_mut" title="method slice::chunks_exact_mut"><code>chunks_exact_mut</code></a> for the same iterator but starting at the beginning
826 of the slice.</p>
827 <h5 id="panics-18"><a class="doc-anchor" href="#panics-18">§</a>Panics</h5>
828 <p>Panics if <code>chunk_size</code> is 0.</p>
829 <h5 id="examples-51"><a class="doc-anchor" href="#examples-51">§</a>Examples</h5>
830 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>];
831 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">1</span>;
832
833 <span class="kw">for </span>chunk <span class="kw">in </span>v.rchunks_exact_mut(<span class="number">2</span>) {
834 <span class="kw">for </span>elem <span class="kw">in </span>chunk.iter_mut() {
835 <span class="kw-2">*</span>elem += count;
836 }
837 count += <span class="number">1</span>;
838 }
839 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">1</span>]);</code></pre></div>
840 </div></details><details class="toggle method-toggle" open><summary><section id="method.chunk_by" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1802-1804">source</a></span><h4 class="code-header">pub fn <a href="#method.chunk_by" class="fn">chunk_by</a>&lt;F&gt;(&amp;self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunkBy.html" title="struct core::slice::iter::ChunkBy">ChunkBy</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="ChunkBy&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
841 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over the slice producing non-overlapping runs
842 of elements using the predicate to separate them.</p>
843 <p>The predicate is called for every pair of consecutive elements,
844 meaning that it is called on <code>slice[0]</code> and <code>slice[1]</code>,
845 followed by <code>slice[1]</code> and <code>slice[2]</code>, and so on.</p>
846 <h5 id="examples-52"><a class="doc-anchor" href="#examples-52">§</a>Examples</h5>
847 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">3</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">2</span>];
848
849 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.chunk_by(|a, b| a == b);
850
851 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>][..]));
852 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">3</span>][..]));
853 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">2</span>, <span class="number">2</span>][..]));
854 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">None</span>);</code></pre></div>
855 <p>This method can be used to extract the sorted subslices:</p>
856
857 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
858
859 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.chunk_by(|a, b| a &lt;= b);
860
861 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>][..]));
862 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>][..]));
863 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>][..]));
864 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">None</span>);</code></pre></div>
865 </div></details><details class="toggle method-toggle" open><summary><section id="method.chunk_by_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.77.0">1.77.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1843-1845">source</a></span><h4 class="code-header">pub fn <a href="#method.chunk_by_mut" class="fn">chunk_by_mut</a>&lt;F&gt;(&amp;mut self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunkByMut.html" title="struct core::slice::iter::ChunkByMut">ChunkByMut</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="ChunkByMut&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
866 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over the slice producing non-overlapping mutable
867 runs of elements using the predicate to separate them.</p>
868 <p>The predicate is called for every pair of consecutive elements,
869 meaning that it is called on <code>slice[0]</code> and <code>slice[1]</code>,
870 followed by <code>slice[1]</code> and <code>slice[2]</code>, and so on.</p>
871 <h5 id="examples-53"><a class="doc-anchor" href="#examples-53">§</a>Examples</h5>
872 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">3</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">2</span>];
873
874 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.chunk_by_mut(|a, b| a == b);
875
876 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>][..]));
877 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;mut </span>[<span class="number">3</span>, <span class="number">3</span>][..]));
878 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;mut </span>[<span class="number">2</span>, <span class="number">2</span>, <span class="number">2</span>][..]));
879 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">None</span>);</code></pre></div>
880 <p>This method can be used to extract the sorted subslices:</p>
881
882 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
883
884 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.chunk_by_mut(|a, b| a &lt;= b);
885
886 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>][..]));
887 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;mut </span>[<span class="number">2</span>, <span class="number">3</span>][..]));
888 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;mut </span>[<span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>][..]));
889 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">None</span>);</code></pre></div>
890 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_at" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1890">source</a></span><h4 class="code-header">pub fn <a href="#method.split_at" class="fn">split_at</a>(&amp;self, mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Divides one slice into two at an index.</p>
891 <p>The first will contain all indices from <code>[0, mid)</code> (excluding
892 the index <code>mid</code> itself) and the second will contain all
893 indices from <code>[mid, len)</code> (excluding the index <code>len</code> itself).</p>
894 <h5 id="panics-19"><a class="doc-anchor" href="#panics-19">§</a>Panics</h5>
895 <p>Panics if <code>mid &gt; len</code>. For a non-panicking alternative see
896 <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at_checked" title="method slice::split_at_checked"><code>split_at_checked</code></a>.</p>
897 <h5 id="examples-54"><a class="doc-anchor" href="#examples-54">§</a>Examples</h5>
898 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>];
899
900 {
901 <span class="kw">let </span>(left, right) = v.split_at(<span class="number">0</span>);
902 <span class="macro">assert_eq!</span>(left, []);
903 <span class="macro">assert_eq!</span>(right, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
904 }
905
906 {
907 <span class="kw">let </span>(left, right) = v.split_at(<span class="number">2</span>);
908 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">2</span>]);
909 <span class="macro">assert_eq!</span>(right, [<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
910 }
911
912 {
913 <span class="kw">let </span>(left, right) = v.split_at(<span class="number">6</span>);
914 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
915 <span class="macro">assert_eq!</span>(right, []);
916 }</code></pre></div>
917 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_at_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1924">source</a></span><h4 class="code-header">pub fn <a href="#method.split_at_mut" class="fn">split_at_mut</a>(&amp;mut self, mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Divides one mutable slice into two at an index.</p>
918 <p>The first will contain all indices from <code>[0, mid)</code> (excluding
919 the index <code>mid</code> itself) and the second will contain all
920 indices from <code>[mid, len)</code> (excluding the index <code>len</code> itself).</p>
921 <h5 id="panics-20"><a class="doc-anchor" href="#panics-20">§</a>Panics</h5>
922 <p>Panics if <code>mid &gt; len</code>. For a non-panicking alternative see
923 <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at_mut_checked" title="method slice::split_at_mut_checked"><code>split_at_mut_checked</code></a>.</p>
924 <h5 id="examples-55"><a class="doc-anchor" href="#examples-55">§</a>Examples</h5>
925 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">1</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">0</span>, <span class="number">5</span>, <span class="number">6</span>];
926 <span class="kw">let </span>(left, right) = v.split_at_mut(<span class="number">2</span>);
927 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">0</span>]);
928 <span class="macro">assert_eq!</span>(right, [<span class="number">3</span>, <span class="number">0</span>, <span class="number">5</span>, <span class="number">6</span>]);
929 left[<span class="number">1</span>] = <span class="number">2</span>;
930 right[<span class="number">1</span>] = <span class="number">4</span>;
931 <span class="macro">assert_eq!</span>(v, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);</code></pre></div>
932 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_at_unchecked" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.79.0">1.79.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#1975">source</a></span><h4 class="code-header">pub unsafe fn <a href="#method.split_at_unchecked" class="fn">split_at_unchecked</a>(&amp;self, mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Divides one slice into two at an index, without doing bounds checking.</p>
933 <p>The first will contain all indices from <code>[0, mid)</code> (excluding
934 the index <code>mid</code> itself) and the second will contain all
935 indices from <code>[mid, len)</code> (excluding the index <code>len</code> itself).</p>
936 <p>For a safe alternative see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at" title="method slice::split_at"><code>split_at</code></a>.</p>
937 <h5 id="safety-5"><a class="doc-anchor" href="#safety-5">§</a>Safety</h5>
938 <p>Calling this method with an out-of-bounds index is <em><a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html">undefined behavior</a></em>
939 even if the resulting reference is not used. The caller has to ensure that
940 <code>0 &lt;= mid &lt;= self.len()</code>.</p>
941 <h5 id="examples-56"><a class="doc-anchor" href="#examples-56">§</a>Examples</h5>
942 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>];
943
944 <span class="kw">unsafe </span>{
945 <span class="kw">let </span>(left, right) = v.split_at_unchecked(<span class="number">0</span>);
946 <span class="macro">assert_eq!</span>(left, []);
947 <span class="macro">assert_eq!</span>(right, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
948 }
949
950 <span class="kw">unsafe </span>{
951 <span class="kw">let </span>(left, right) = v.split_at_unchecked(<span class="number">2</span>);
952 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">2</span>]);
953 <span class="macro">assert_eq!</span>(right, [<span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
954 }
955
956 <span class="kw">unsafe </span>{
957 <span class="kw">let </span>(left, right) = v.split_at_unchecked(<span class="number">6</span>);
958 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
959 <span class="macro">assert_eq!</span>(right, []);
960 }</code></pre></div>
961 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_at_mut_unchecked" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.79.0">1.79.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2028">source</a></span><h4 class="code-header">pub unsafe fn <a href="#method.split_at_mut_unchecked" class="fn">split_at_mut_unchecked</a>(
962 &amp;mut self,
963 mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
964 ) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Divides one mutable slice into two at an index, without doing bounds checking.</p>
965 <p>The first will contain all indices from <code>[0, mid)</code> (excluding
966 the index <code>mid</code> itself) and the second will contain all
967 indices from <code>[mid, len)</code> (excluding the index <code>len</code> itself).</p>
968 <p>For a safe alternative see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at_mut" title="method slice::split_at_mut"><code>split_at_mut</code></a>.</p>
969 <h5 id="safety-6"><a class="doc-anchor" href="#safety-6">§</a>Safety</h5>
970 <p>Calling this method with an out-of-bounds index is <em><a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html">undefined behavior</a></em>
971 even if the resulting reference is not used. The caller has to ensure that
972 <code>0 &lt;= mid &lt;= self.len()</code>.</p>
973 <h5 id="examples-57"><a class="doc-anchor" href="#examples-57">§</a>Examples</h5>
974 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">1</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">0</span>, <span class="number">5</span>, <span class="number">6</span>];
975 <span class="comment">// scoped to restrict the lifetime of the borrows
976 </span><span class="kw">unsafe </span>{
977 <span class="kw">let </span>(left, right) = v.split_at_mut_unchecked(<span class="number">2</span>);
978 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">0</span>]);
979 <span class="macro">assert_eq!</span>(right, [<span class="number">3</span>, <span class="number">0</span>, <span class="number">5</span>, <span class="number">6</span>]);
980 left[<span class="number">1</span>] = <span class="number">2</span>;
981 right[<span class="number">1</span>] = <span class="number">4</span>;
982 }
983 <span class="macro">assert_eq!</span>(v, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);</code></pre></div>
984 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_at_checked" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.80.0">1.80.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2089">source</a></span><h4 class="code-header">pub fn <a href="#method.split_at_checked" class="fn">split_at_checked</a>(&amp;self, mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Divides one slice into two at an index, returning <code>None</code> if the slice is
985 too short.</p>
986 <p>If <code>mid ≤ len</code> returns a pair of slices where the first will contain all
987 indices from <code>[0, mid)</code> (excluding the index <code>mid</code> itself) and the
988 second will contain all indices from <code>[mid, len)</code> (excluding the index
989 <code>len</code> itself).</p>
990 <p>Otherwise, if <code>mid &gt; len</code>, returns <code>None</code>.</p>
991 <h5 id="examples-58"><a class="doc-anchor" href="#examples-58">§</a>Examples</h5>
992 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">1</span>, -<span class="number">2</span>, <span class="number">3</span>, -<span class="number">4</span>, <span class="number">5</span>, -<span class="number">6</span>];
993
994 {
995 <span class="kw">let </span>(left, right) = v.split_at_checked(<span class="number">0</span>).unwrap();
996 <span class="macro">assert_eq!</span>(left, []);
997 <span class="macro">assert_eq!</span>(right, [<span class="number">1</span>, -<span class="number">2</span>, <span class="number">3</span>, -<span class="number">4</span>, <span class="number">5</span>, -<span class="number">6</span>]);
998 }
999
1000 {
1001 <span class="kw">let </span>(left, right) = v.split_at_checked(<span class="number">2</span>).unwrap();
1002 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, -<span class="number">2</span>]);
1003 <span class="macro">assert_eq!</span>(right, [<span class="number">3</span>, -<span class="number">4</span>, <span class="number">5</span>, -<span class="number">6</span>]);
1004 }
1005
1006 {
1007 <span class="kw">let </span>(left, right) = v.split_at_checked(<span class="number">6</span>).unwrap();
1008 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, -<span class="number">2</span>, <span class="number">3</span>, -<span class="number">4</span>, <span class="number">5</span>, -<span class="number">6</span>]);
1009 <span class="macro">assert_eq!</span>(right, []);
1010 }
1011
1012 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, v.split_at_checked(<span class="number">7</span>));</code></pre></div>
1013 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_at_mut_checked" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.80.0">1.80.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2128">source</a></span><h4 class="code-header">pub fn <a href="#method.split_at_mut_checked" class="fn">split_at_mut_checked</a>(
1014 &amp;mut self,
1015 mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
1016 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;</h4></section></summary><div class="docblock"><p>Divides one mutable slice into two at an index, returning <code>None</code> if the
1017 slice is too short.</p>
1018 <p>If <code>mid ≤ len</code> returns a pair of slices where the first will contain all
1019 indices from <code>[0, mid)</code> (excluding the index <code>mid</code> itself) and the
1020 second will contain all indices from <code>[mid, len)</code> (excluding the index
1021 <code>len</code> itself).</p>
1022 <p>Otherwise, if <code>mid &gt; len</code>, returns <code>None</code>.</p>
1023 <h5 id="examples-59"><a class="doc-anchor" href="#examples-59">§</a>Examples</h5>
1024 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">1</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">0</span>, <span class="number">5</span>, <span class="number">6</span>];
1025
1026 <span class="kw">if let </span><span class="prelude-val">Some</span>((left, right)) = v.split_at_mut_checked(<span class="number">2</span>) {
1027 <span class="macro">assert_eq!</span>(left, [<span class="number">1</span>, <span class="number">0</span>]);
1028 <span class="macro">assert_eq!</span>(right, [<span class="number">3</span>, <span class="number">0</span>, <span class="number">5</span>, <span class="number">6</span>]);
1029 left[<span class="number">1</span>] = <span class="number">2</span>;
1030 right[<span class="number">1</span>] = <span class="number">4</span>;
1031 }
1032 <span class="macro">assert_eq!</span>(v, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>]);
1033
1034 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, v.split_at_mut_checked(<span class="number">7</span>));</code></pre></div>
1035 </div></details><details class="toggle method-toggle" open><summary><section id="method.split" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2180-2182">source</a></span><h4 class="code-header">pub fn <a href="#method.split" class="fn">split</a>&lt;F&gt;(&amp;self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.Split.html" title="struct core::slice::iter::Split">Split</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="Split&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1036 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over subslices separated by elements that match
1037 <code>pred</code>. The matched element is not contained in the subslices.</p>
1038 <h5 id="examples-60"><a class="doc-anchor" href="#examples-60">§</a>Examples</h5>
1039 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">33</span>, <span class="number">20</span>];
1040 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.split(|num| num % <span class="number">3 </span>== <span class="number">0</span>);
1041
1042 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>]);
1043 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">20</span>]);
1044 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
1045 <p>If the first element is matched, an empty slice will be the first item
1046 returned by the iterator. Similarly, if the last element in the slice
1047 is matched, an empty slice will be the last item returned by the
1048 iterator:</p>
1049
1050 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">33</span>];
1051 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.split(|num| num % <span class="number">3 </span>== <span class="number">0</span>);
1052
1053 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>]);
1054 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[]);
1055 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
1056 <p>If two matched elements are directly adjacent, an empty slice will be
1057 present between them:</p>
1058
1059 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="number">10</span>, <span class="number">6</span>, <span class="number">33</span>, <span class="number">20</span>];
1060 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.split(|num| num % <span class="number">3 </span>== <span class="number">0</span>);
1061
1062 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">10</span>]);
1063 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[]);
1064 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">20</span>]);
1065 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
1066 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2202-2204">source</a></span><h4 class="code-header">pub fn <a href="#method.split_mut" class="fn">split_mut</a>&lt;F&gt;(&amp;mut self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitMut.html" title="struct core::slice::iter::SplitMut">SplitMut</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="SplitMut&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1067 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over mutable subslices separated by elements that
1068 match <code>pred</code>. The matched element is not contained in the subslices.</p>
1069 <h5 id="examples-61"><a class="doc-anchor" href="#examples-61">§</a>Examples</h5>
1070 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">50</span>];
1071
1072 <span class="kw">for </span>group <span class="kw">in </span>v.split_mut(|num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1073 group[<span class="number">0</span>] = <span class="number">1</span>;
1074 }
1075 <span class="macro">assert_eq!</span>(v, [<span class="number">1</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">1</span>, <span class="number">60</span>, <span class="number">1</span>]);</code></pre></div>
1076 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_inclusive" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.51.0">1.51.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2238-2240">source</a></span><h4 class="code-header">pub fn <a href="#method.split_inclusive" class="fn">split_inclusive</a>&lt;F&gt;(&amp;self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitInclusive.html" title="struct core::slice::iter::SplitInclusive">SplitInclusive</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="SplitInclusive&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1077 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over subslices separated by elements that match
1078 <code>pred</code>. The matched element is contained in the end of the previous
1079 subslice as a terminator.</p>
1080 <h5 id="examples-62"><a class="doc-anchor" href="#examples-62">§</a>Examples</h5>
1081 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">33</span>, <span class="number">20</span>];
1082 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.split_inclusive(|num| num % <span class="number">3 </span>== <span class="number">0</span>);
1083
1084 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">33</span>]);
1085 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">20</span>]);
1086 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
1087 <p>If the last element of the slice is matched,
1088 that element will be considered the terminator of the preceding slice.
1089 That slice will be the last item returned by the iterator.</p>
1090
1091 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="number">3</span>, <span class="number">10</span>, <span class="number">40</span>, <span class="number">33</span>];
1092 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.split_inclusive(|num| num % <span class="number">3 </span>== <span class="number">0</span>);
1093
1094 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">3</span>]);
1095 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">33</span>]);
1096 <span class="macro">assert!</span>(iter.next().is_none());</code></pre></div>
1097 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_inclusive_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.51.0">1.51.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2262-2264">source</a></span><h4 class="code-header">pub fn <a href="#method.split_inclusive_mut" class="fn">split_inclusive_mut</a>&lt;F&gt;(&amp;mut self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitInclusiveMut.html" title="struct core::slice::iter::SplitInclusiveMut">SplitInclusiveMut</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="SplitInclusiveMut&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1098 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over mutable subslices separated by elements that
1099 match <code>pred</code>. The matched element is contained in the previous
1100 subslice as a terminator.</p>
1101 <h5 id="examples-63"><a class="doc-anchor" href="#examples-63">§</a>Examples</h5>
1102 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">50</span>];
1103
1104 <span class="kw">for </span>group <span class="kw">in </span>v.split_inclusive_mut(|num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1105 <span class="kw">let </span>terminator_idx = group.len()-<span class="number">1</span>;
1106 group[terminator_idx] = <span class="number">1</span>;
1107 }
1108 <span class="macro">assert_eq!</span>(v, [<span class="number">10</span>, <span class="number">40</span>, <span class="number">1</span>, <span class="number">20</span>, <span class="number">1</span>, <span class="number">1</span>]);</code></pre></div>
1109 </div></details><details class="toggle method-toggle" open><summary><section id="method.rsplit" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2298-2300">source</a></span><h4 class="code-header">pub fn <a href="#method.rsplit" class="fn">rsplit</a>&lt;F&gt;(&amp;self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplit.html" title="struct core::slice::iter::RSplit">RSplit</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="RSplit&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1110 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over subslices separated by elements that match
1111 <code>pred</code>, starting at the end of the slice and working backwards.
1112 The matched element is not contained in the subslices.</p>
1113 <h5 id="examples-64"><a class="doc-anchor" href="#examples-64">§</a>Examples</h5>
1114 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>slice = [<span class="number">11</span>, <span class="number">22</span>, <span class="number">33</span>, <span class="number">0</span>, <span class="number">44</span>, <span class="number">55</span>];
1115 <span class="kw">let </span><span class="kw-2">mut </span>iter = slice.rsplit(|num| <span class="kw-2">*</span>num == <span class="number">0</span>);
1116
1117 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">44</span>, <span class="number">55</span>]);
1118 <span class="macro">assert_eq!</span>(iter.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">11</span>, <span class="number">22</span>, <span class="number">33</span>]);
1119 <span class="macro">assert_eq!</span>(iter.next(), <span class="prelude-val">None</span>);</code></pre></div>
1120 <p>As with <code>split()</code>, if the first or last element is matched, an empty
1121 slice will be the first (or last) item returned by the iterator.</p>
1122
1123 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>];
1124 <span class="kw">let </span><span class="kw-2">mut </span>it = v.rsplit(|n| <span class="kw-2">*</span>n % <span class="number">2 </span>== <span class="number">0</span>);
1125 <span class="macro">assert_eq!</span>(it.next().unwrap(), <span class="kw-2">&amp;</span>[]);
1126 <span class="macro">assert_eq!</span>(it.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">5</span>]);
1127 <span class="macro">assert_eq!</span>(it.next().unwrap(), <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">1</span>]);
1128 <span class="macro">assert_eq!</span>(it.next().unwrap(), <span class="kw-2">&amp;</span>[]);
1129 <span class="macro">assert_eq!</span>(it.next(), <span class="prelude-val">None</span>);</code></pre></div>
1130 </div></details><details class="toggle method-toggle" open><summary><section id="method.rsplit_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2324-2326">source</a></span><h4 class="code-header">pub fn <a href="#method.rsplit_mut" class="fn">rsplit_mut</a>&lt;F&gt;(&amp;mut self, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitMut.html" title="struct core::slice::iter::RSplitMut">RSplitMut</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="RSplitMut&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1131 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over mutable subslices separated by elements that
1132 match <code>pred</code>, starting at the end of the slice and working
1133 backwards. The matched element is not contained in the subslices.</p>
1134 <h5 id="examples-65"><a class="doc-anchor" href="#examples-65">§</a>Examples</h5>
1135 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">100</span>, <span class="number">400</span>, <span class="number">300</span>, <span class="number">200</span>, <span class="number">600</span>, <span class="number">500</span>];
1136
1137 <span class="kw">let </span><span class="kw-2">mut </span>count = <span class="number">0</span>;
1138 <span class="kw">for </span>group <span class="kw">in </span>v.rsplit_mut(|num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1139 count += <span class="number">1</span>;
1140 group[<span class="number">0</span>] = count;
1141 }
1142 <span class="macro">assert_eq!</span>(v, [<span class="number">3</span>, <span class="number">400</span>, <span class="number">300</span>, <span class="number">2</span>, <span class="number">600</span>, <span class="number">1</span>]);</code></pre></div>
1143 </div></details><details class="toggle method-toggle" open><summary><section id="method.splitn" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2352-2354">source</a></span><h4 class="code-header">pub fn <a href="#method.splitn" class="fn">splitn</a>&lt;F&gt;(&amp;self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitN.html" title="struct core::slice::iter::SplitN">SplitN</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="SplitN&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1144 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over subslices separated by elements that match
1145 <code>pred</code>, limited to returning at most <code>n</code> items. The matched element is
1146 not contained in the subslices.</p>
1147 <p>The last element returned, if any, will contain the remainder of the
1148 slice.</p>
1149 <h5 id="examples-66"><a class="doc-anchor" href="#examples-66">§</a>Examples</h5>
1150 <p>Print the slice split once by numbers divisible by 3 (i.e., <code>[10, 40]</code>,
1151 <code>[20, 60, 50]</code>):</p>
1152
1153 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">50</span>];
1154
1155 <span class="kw">for </span>group <span class="kw">in </span>v.splitn(<span class="number">2</span>, |num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1156 <span class="macro">println!</span>(<span class="string">"{group:?}"</span>);
1157 }</code></pre></div>
1158 </div></details><details class="toggle method-toggle" open><summary><section id="method.splitn_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2378-2380">source</a></span><h4 class="code-header">pub fn <a href="#method.splitn_mut" class="fn">splitn_mut</a>&lt;F&gt;(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitNMut.html" title="struct core::slice::iter::SplitNMut">SplitNMut</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="SplitNMut&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1159 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over mutable subslices separated by elements that match
1160 <code>pred</code>, limited to returning at most <code>n</code> items. The matched element is
1161 not contained in the subslices.</p>
1162 <p>The last element returned, if any, will contain the remainder of the
1163 slice.</p>
1164 <h5 id="examples-67"><a class="doc-anchor" href="#examples-67">§</a>Examples</h5>
1165 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">50</span>];
1166
1167 <span class="kw">for </span>group <span class="kw">in </span>v.splitn_mut(<span class="number">2</span>, |num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1168 group[<span class="number">0</span>] = <span class="number">1</span>;
1169 }
1170 <span class="macro">assert_eq!</span>(v, [<span class="number">1</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">1</span>, <span class="number">60</span>, <span class="number">50</span>]);</code></pre></div>
1171 </div></details><details class="toggle method-toggle" open><summary><section id="method.rsplitn" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2407-2409">source</a></span><h4 class="code-header">pub fn <a href="#method.rsplitn" class="fn">rsplitn</a>&lt;F&gt;(&amp;self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitN.html" title="struct core::slice::iter::RSplitN">RSplitN</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="RSplitN&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1172 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over subslices separated by elements that match
1173 <code>pred</code> limited to returning at most <code>n</code> items. This starts at the end of
1174 the slice and works backwards. The matched element is not contained in
1175 the subslices.</p>
1176 <p>The last element returned, if any, will contain the remainder of the
1177 slice.</p>
1178 <h5 id="examples-68"><a class="doc-anchor" href="#examples-68">§</a>Examples</h5>
1179 <p>Print the slice split once, starting from the end, by numbers divisible
1180 by 3 (i.e., <code>[50]</code>, <code>[10, 40, 30, 20]</code>):</p>
1181
1182 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">50</span>];
1183
1184 <span class="kw">for </span>group <span class="kw">in </span>v.rsplitn(<span class="number">2</span>, |num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1185 <span class="macro">println!</span>(<span class="string">"{group:?}"</span>);
1186 }</code></pre></div>
1187 </div></details><details class="toggle method-toggle" open><summary><section id="method.rsplitn_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2434-2436">source</a></span><h4 class="code-header">pub fn <a href="#method.rsplitn_mut" class="fn">rsplitn_mut</a>&lt;F&gt;(&amp;mut self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, pred: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitNMut.html" title="struct core::slice::iter::RSplitNMut">RSplitNMut</a>&lt;'_, T, F&gt; <a href="#" class="tooltip" data-notable-ty="RSplitNMut&lt;&#39;_, T, F&gt;">ⓘ</a><div class="where">where
1188 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns an iterator over subslices separated by elements that match
1189 <code>pred</code> limited to returning at most <code>n</code> items. This starts at the end of
1190 the slice and works backwards. The matched element is not contained in
1191 the subslices.</p>
1192 <p>The last element returned, if any, will contain the remainder of the
1193 slice.</p>
1194 <h5 id="examples-69"><a class="doc-anchor" href="#examples-69">§</a>Examples</h5>
1195 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>s = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">50</span>];
1196
1197 <span class="kw">for </span>group <span class="kw">in </span>s.rsplitn_mut(<span class="number">2</span>, |num| <span class="kw-2">*</span>num % <span class="number">3 </span>== <span class="number">0</span>) {
1198 group[<span class="number">0</span>] = <span class="number">1</span>;
1199 }
1200 <span class="macro">assert_eq!</span>(s, [<span class="number">1</span>, <span class="number">40</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">60</span>, <span class="number">1</span>]);</code></pre></div>
1201 </div></details><details class="toggle method-toggle" open><summary><section id="method.split_once" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2461-2463">source</a><h4 class="code-header">pub fn <a href="#method.split_once" class="fn">split_once</a>&lt;F&gt;(&amp;self, pred: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;<div class="where">where
1202 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_split_once</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice on the first element that matches the specified
1203 predicate.</p>
1204 <p>If any matching elements are present in the slice, returns the prefix
1205 before the match and suffix after. The matching element itself is not
1206 included. If no elements match, returns <code>None</code>.</p>
1207 <h5 id="examples-70"><a class="doc-anchor" href="#examples-70">§</a>Examples</h5>
1208 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_split_once)]
1209 </span><span class="kw">let </span>s = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">4</span>];
1210 <span class="macro">assert_eq!</span>(s.split_once(|<span class="kw-2">&amp;</span>x| x == <span class="number">2</span>), <span class="prelude-val">Some</span>((
1211 <span class="kw-2">&amp;</span>[<span class="number">1</span>][..],
1212 <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">2</span>, <span class="number">4</span>][..]
1213 )));
1214 <span class="macro">assert_eq!</span>(s.split_once(|<span class="kw-2">&amp;</span>x| x == <span class="number">0</span>), <span class="prelude-val">None</span>);</code></pre></div>
1215 </div></details><details class="toggle method-toggle" open><summary><section id="method.rsplit_once" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2489-2491">source</a><h4 class="code-header">pub fn <a href="#method.rsplit_once" class="fn">rsplit_once</a>&lt;F&gt;(&amp;self, pred: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)&gt;<div class="where">where
1216 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_split_once</code>)</span></div></span></summary><div class="docblock"><p>Splits the slice on the last element that matches the specified
1217 predicate.</p>
1218 <p>If any matching elements are present in the slice, returns the prefix
1219 before the match and suffix after. The matching element itself is not
1220 included. If no elements match, returns <code>None</code>.</p>
1221 <h5 id="examples-71"><a class="doc-anchor" href="#examples-71">§</a>Examples</h5>
1222 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_split_once)]
1223 </span><span class="kw">let </span>s = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">4</span>];
1224 <span class="macro">assert_eq!</span>(s.rsplit_once(|<span class="kw-2">&amp;</span>x| x == <span class="number">2</span>), <span class="prelude-val">Some</span>((
1225 <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>][..],
1226 <span class="kw-2">&amp;</span>[<span class="number">4</span>][..]
1227 )));
1228 <span class="macro">assert_eq!</span>(s.rsplit_once(|<span class="kw-2">&amp;</span>x| x == <span class="number">0</span>), <span class="prelude-val">None</span>);</code></pre></div>
1229 </div></details><details class="toggle method-toggle" open><summary><section id="method.contains" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2525-2527">source</a></span><h4 class="code-header">pub fn <a href="#method.contains" class="fn">contains</a>(&amp;self, x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
1230 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if the slice contains an element with the given value.</p>
1231 <p>This operation is <em>O</em>(<em>n</em>).</p>
1232 <p>Note that if you have a sorted slice, <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search" title="method slice::binary_search"><code>binary_search</code></a> may be faster.</p>
1233 <h5 id="examples-72"><a class="doc-anchor" href="#examples-72">§</a>Examples</h5>
1234 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1235 <span class="macro">assert!</span>(v.contains(<span class="kw-2">&amp;</span><span class="number">30</span>));
1236 <span class="macro">assert!</span>(!v.contains(<span class="kw-2">&amp;</span><span class="number">50</span>));</code></pre></div>
1237 <p>If you do not have a <code>&amp;T</code>, but some other value that you can compare
1238 with one (for example, <code>String</code> implements <code>PartialEq&lt;str&gt;</code>), you can
1239 use <code>iter().any</code>:</p>
1240
1241 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [String::from(<span class="string">"hello"</span>), String::from(<span class="string">"world"</span>)]; <span class="comment">// slice of `String`
1242 </span><span class="macro">assert!</span>(v.iter().any(|e| e == <span class="string">"hello"</span>)); <span class="comment">// search with `&amp;str`
1243 </span><span class="macro">assert!</span>(!v.iter().any(|e| e == <span class="string">"hi"</span>));</code></pre></div>
1244 </div></details><details class="toggle method-toggle" open><summary><section id="method.starts_with" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2555-2557">source</a></span><h4 class="code-header">pub fn <a href="#method.starts_with" class="fn">starts_with</a>(&amp;self, needle: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
1245 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if <code>needle</code> is a prefix of the slice or equal to the slice.</p>
1246 <h5 id="examples-73"><a class="doc-anchor" href="#examples-73">§</a>Examples</h5>
1247 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1248 <span class="macro">assert!</span>(v.starts_with(<span class="kw-2">&amp;</span>[<span class="number">10</span>]));
1249 <span class="macro">assert!</span>(v.starts_with(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>]));
1250 <span class="macro">assert!</span>(v.starts_with(<span class="kw-2">&amp;</span>v));
1251 <span class="macro">assert!</span>(!v.starts_with(<span class="kw-2">&amp;</span>[<span class="number">50</span>]));
1252 <span class="macro">assert!</span>(!v.starts_with(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">50</span>]));</code></pre></div>
1253 <p>Always returns <code>true</code> if <code>needle</code> is an empty slice:</p>
1254
1255 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1256 <span class="macro">assert!</span>(v.starts_with(<span class="kw-2">&amp;</span>[]));
1257 <span class="kw">let </span>v: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[];
1258 <span class="macro">assert!</span>(v.starts_with(<span class="kw-2">&amp;</span>[]));</code></pre></div>
1259 </div></details><details class="toggle method-toggle" open><summary><section id="method.ends_with" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2586-2588">source</a></span><h4 class="code-header">pub fn <a href="#method.ends_with" class="fn">ends_with</a>(&amp;self, needle: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
1260 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if <code>needle</code> is a suffix of the slice or equal to the slice.</p>
1261 <h5 id="examples-74"><a class="doc-anchor" href="#examples-74">§</a>Examples</h5>
1262 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1263 <span class="macro">assert!</span>(v.ends_with(<span class="kw-2">&amp;</span>[<span class="number">30</span>]));
1264 <span class="macro">assert!</span>(v.ends_with(<span class="kw-2">&amp;</span>[<span class="number">40</span>, <span class="number">30</span>]));
1265 <span class="macro">assert!</span>(v.ends_with(<span class="kw-2">&amp;</span>v));
1266 <span class="macro">assert!</span>(!v.ends_with(<span class="kw-2">&amp;</span>[<span class="number">50</span>]));
1267 <span class="macro">assert!</span>(!v.ends_with(<span class="kw-2">&amp;</span>[<span class="number">50</span>, <span class="number">30</span>]));</code></pre></div>
1268 <p>Always returns <code>true</code> if <code>needle</code> is an empty slice:</p>
1269
1270 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1271 <span class="macro">assert!</span>(v.ends_with(<span class="kw-2">&amp;</span>[]));
1272 <span class="kw">let </span>v: <span class="kw-2">&amp;</span>[u8] = <span class="kw-2">&amp;</span>[];
1273 <span class="macro">assert!</span>(v.ends_with(<span class="kw-2">&amp;</span>[]));</code></pre></div>
1274 </div></details><details class="toggle method-toggle" open><summary><section id="method.strip_prefix" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.51.0">1.51.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2618-2620">source</a></span><h4 class="code-header">pub fn <a href="#method.strip_prefix" class="fn">strip_prefix</a>&lt;P&gt;(&amp;self, prefix: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;P</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;<div class="where">where
1275 P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/trait.SlicePattern.html" title="trait core::slice::SlicePattern">SlicePattern</a>&lt;Item = T&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
1276 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section></summary><div class="docblock"><p>Returns a subslice with the prefix removed.</p>
1277 <p>If the slice starts with <code>prefix</code>, returns the subslice after the prefix, wrapped in <code>Some</code>.
1278 If <code>prefix</code> is empty, simply returns the original slice. If <code>prefix</code> is equal to the
1279 original slice, returns an empty slice.</p>
1280 <p>If the slice does not start with <code>prefix</code>, returns <code>None</code>.</p>
1281 <h5 id="examples-75"><a class="doc-anchor" href="#examples-75">§</a>Examples</h5>
1282 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1283 <span class="macro">assert_eq!</span>(v.strip_prefix(<span class="kw-2">&amp;</span>[<span class="number">10</span>]), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">40</span>, <span class="number">30</span>][..]));
1284 <span class="macro">assert_eq!</span>(v.strip_prefix(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>]), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">30</span>][..]));
1285 <span class="macro">assert_eq!</span>(v.strip_prefix(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>]), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[][..]));
1286 <span class="macro">assert_eq!</span>(v.strip_prefix(<span class="kw-2">&amp;</span>[<span class="number">50</span>]), <span class="prelude-val">None</span>);
1287 <span class="macro">assert_eq!</span>(v.strip_prefix(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">50</span>]), <span class="prelude-val">None</span>);
1288
1289 <span class="kw">let </span>prefix : <span class="kw-2">&amp;</span>str = <span class="string">"he"</span>;
1290 <span class="macro">assert_eq!</span>(<span class="string">b"hello"</span>.strip_prefix(prefix.as_bytes()),
1291 <span class="prelude-val">Some</span>(<span class="string">b"llo"</span>.as_ref()));</code></pre></div>
1292 </div></details><details class="toggle method-toggle" open><summary><section id="method.strip_suffix" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.51.0">1.51.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2654-2656">source</a></span><h4 class="code-header">pub fn <a href="#method.strip_suffix" class="fn">strip_suffix</a>&lt;P&gt;(&amp;self, suffix: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;P</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;<div class="where">where
1293 P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/slice/trait.SlicePattern.html" title="trait core::slice::SlicePattern">SlicePattern</a>&lt;Item = T&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
1294 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section></summary><div class="docblock"><p>Returns a subslice with the suffix removed.</p>
1295 <p>If the slice ends with <code>suffix</code>, returns the subslice before the suffix, wrapped in <code>Some</code>.
1296 If <code>suffix</code> is empty, simply returns the original slice. If <code>suffix</code> is equal to the
1297 original slice, returns an empty slice.</p>
1298 <p>If the slice does not end with <code>suffix</code>, returns <code>None</code>.</p>
1299 <h5 id="examples-76"><a class="doc-anchor" href="#examples-76">§</a>Examples</h5>
1300 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
1301 <span class="macro">assert_eq!</span>(v.strip_suffix(<span class="kw-2">&amp;</span>[<span class="number">30</span>]), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>][..]));
1302 <span class="macro">assert_eq!</span>(v.strip_suffix(<span class="kw-2">&amp;</span>[<span class="number">40</span>, <span class="number">30</span>]), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[<span class="number">10</span>][..]));
1303 <span class="macro">assert_eq!</span>(v.strip_suffix(<span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>]), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span>[][..]));
1304 <span class="macro">assert_eq!</span>(v.strip_suffix(<span class="kw-2">&amp;</span>[<span class="number">50</span>]), <span class="prelude-val">None</span>);
1305 <span class="macro">assert_eq!</span>(v.strip_suffix(<span class="kw-2">&amp;</span>[<span class="number">50</span>, <span class="number">30</span>]), <span class="prelude-val">None</span>);</code></pre></div>
1306 </div></details><details class="toggle method-toggle" open><summary><section id="method.binary_search" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2740-2742">source</a></span><h4 class="code-header">pub fn <a href="#method.binary_search" class="fn">binary_search</a>(&amp;self, x: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;<div class="where">where
1307 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Binary searches this slice for a given element.
1308 If the slice is not sorted, the returned result is unspecified and
1309 meaningless.</p>
1310 <p>If the value is found then <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html#variant.Ok" title="variant core::result::Result::Ok"><code>Result::Ok</code></a> is returned, containing the
1311 index of the matching element. If there are multiple matches, then any
1312 one of the matches could be returned. The index is chosen
1313 deterministically, but is subject to change in future versions of Rust.
1314 If the value is not found then <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html#variant.Err" title="variant core::result::Result::Err"><code>Result::Err</code></a> is returned, containing
1315 the index where a matching element could be inserted while maintaining
1316 sorted order.</p>
1317 <p>See also <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search_by" title="method slice::binary_search_by"><code>binary_search_by</code></a>, <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search_by_key" title="method slice::binary_search_by_key"><code>binary_search_by_key</code></a>, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.partition_point" title="method slice::partition_point"><code>partition_point</code></a>.</p>
1318 <h5 id="examples-77"><a class="doc-anchor" href="#examples-77">§</a>Examples</h5>
1319 <p>Looks up a series of four elements. The first is found, with a
1320 uniquely determined position; the second and third are not
1321 found; the fourth could match any position in <code>[1, 4]</code>.</p>
1322
1323 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>s = [<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">55</span>];
1324
1325 <span class="macro">assert_eq!</span>(s.binary_search(<span class="kw-2">&amp;</span><span class="number">13</span>), <span class="prelude-val">Ok</span>(<span class="number">9</span>));
1326 <span class="macro">assert_eq!</span>(s.binary_search(<span class="kw-2">&amp;</span><span class="number">4</span>), <span class="prelude-val">Err</span>(<span class="number">7</span>));
1327 <span class="macro">assert_eq!</span>(s.binary_search(<span class="kw-2">&amp;</span><span class="number">100</span>), <span class="prelude-val">Err</span>(<span class="number">13</span>));
1328 <span class="kw">let </span>r = s.binary_search(<span class="kw-2">&amp;</span><span class="number">1</span>);
1329 <span class="macro">assert!</span>(<span class="kw">match </span>r { <span class="prelude-val">Ok</span>(<span class="number">1</span>..=<span class="number">4</span>) =&gt; <span class="bool-val">true</span>, <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>, });</code></pre></div>
1330 <p>If you want to find that whole <em>range</em> of matching items, rather than
1331 an arbitrary matching one, that can be done using <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.partition_point" title="method slice::partition_point"><code>partition_point</code></a>:</p>
1332
1333 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>s = [<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">55</span>];
1334
1335 <span class="kw">let </span>low = s.partition_point(|x| x &lt; <span class="kw-2">&amp;</span><span class="number">1</span>);
1336 <span class="macro">assert_eq!</span>(low, <span class="number">1</span>);
1337 <span class="kw">let </span>high = s.partition_point(|x| x &lt;= <span class="kw-2">&amp;</span><span class="number">1</span>);
1338 <span class="macro">assert_eq!</span>(high, <span class="number">5</span>);
1339 <span class="kw">let </span>r = s.binary_search(<span class="kw-2">&amp;</span><span class="number">1</span>);
1340 <span class="macro">assert!</span>((low..high).contains(<span class="kw-2">&amp;</span>r.unwrap()));
1341
1342 <span class="macro">assert!</span>(s[..low].iter().all(|<span class="kw-2">&amp;</span>x| x &lt; <span class="number">1</span>));
1343 <span class="macro">assert!</span>(s[low..high].iter().all(|<span class="kw-2">&amp;</span>x| x == <span class="number">1</span>));
1344 <span class="macro">assert!</span>(s[high..].iter().all(|<span class="kw-2">&amp;</span>x| x &gt; <span class="number">1</span>));
1345
1346 <span class="comment">// For something not found, the "range" of equal items is empty
1347 </span><span class="macro">assert_eq!</span>(s.partition_point(|x| x &lt; <span class="kw-2">&amp;</span><span class="number">11</span>), <span class="number">9</span>);
1348 <span class="macro">assert_eq!</span>(s.partition_point(|x| x &lt;= <span class="kw-2">&amp;</span><span class="number">11</span>), <span class="number">9</span>);
1349 <span class="macro">assert_eq!</span>(s.binary_search(<span class="kw-2">&amp;</span><span class="number">11</span>), <span class="prelude-val">Err</span>(<span class="number">9</span>));</code></pre></div>
1350 <p>If you want to insert an item to a sorted vector, while maintaining
1351 sort order, consider using <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.partition_point" title="method slice::partition_point"><code>partition_point</code></a>:</p>
1352
1353 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>s = <span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">55</span>];
1354 <span class="kw">let </span>num = <span class="number">42</span>;
1355 <span class="kw">let </span>idx = s.partition_point(|<span class="kw-2">&amp;</span>x| x &lt;= num);
1356 <span class="comment">// If `num` is unique, `s.partition_point(|&amp;x| x &lt; num)` (with `&lt;`) is equivalent to
1357 // `s.binary_search(&amp;num).unwrap_or_else(|x| x)`, but using `&lt;=` will allow `insert`
1358 // to shift less elements.
1359 </span>s.insert(idx, num);
1360 <span class="macro">assert_eq!</span>(s, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">42</span>, <span class="number">55</span>]);</code></pre></div>
1361 </div></details><details class="toggle method-toggle" open><summary><section id="method.binary_search_by" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2791-2793">source</a></span><h4 class="code-header">pub fn <a href="#method.binary_search_by" class="fn">binary_search_by</a>&lt;'a, F&gt;(&amp;'a self, f: F) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;<div class="where">where
1362 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class="docblock"><p>Binary searches this slice with a comparator function.</p>
1363 <p>The comparator function should return an order code that indicates
1364 whether its argument is <code>Less</code>, <code>Equal</code> or <code>Greater</code> the desired
1365 target.
1366 If the slice is not sorted or if the comparator function does not
1367 implement an order consistent with the sort order of the underlying
1368 slice, the returned result is unspecified and meaningless.</p>
1369 <p>If the value is found then <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html#variant.Ok" title="variant core::result::Result::Ok"><code>Result::Ok</code></a> is returned, containing the
1370 index of the matching element. If there are multiple matches, then any
1371 one of the matches could be returned. The index is chosen
1372 deterministically, but is subject to change in future versions of Rust.
1373 If the value is not found then <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html#variant.Err" title="variant core::result::Result::Err"><code>Result::Err</code></a> is returned, containing
1374 the index where a matching element could be inserted while maintaining
1375 sorted order.</p>
1376 <p>See also <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search" title="method slice::binary_search"><code>binary_search</code></a>, <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search_by_key" title="method slice::binary_search_by_key"><code>binary_search_by_key</code></a>, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.partition_point" title="method slice::partition_point"><code>partition_point</code></a>.</p>
1377 <h5 id="examples-78"><a class="doc-anchor" href="#examples-78">§</a>Examples</h5>
1378 <p>Looks up a series of four elements. The first is found, with a
1379 uniquely determined position; the second and third are not
1380 found; the fourth could match any position in <code>[1, 4]</code>.</p>
1381
1382 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>s = [<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">55</span>];
1383
1384 <span class="kw">let </span>seek = <span class="number">13</span>;
1385 <span class="macro">assert_eq!</span>(s.binary_search_by(|probe| probe.cmp(<span class="kw-2">&amp;</span>seek)), <span class="prelude-val">Ok</span>(<span class="number">9</span>));
1386 <span class="kw">let </span>seek = <span class="number">4</span>;
1387 <span class="macro">assert_eq!</span>(s.binary_search_by(|probe| probe.cmp(<span class="kw-2">&amp;</span>seek)), <span class="prelude-val">Err</span>(<span class="number">7</span>));
1388 <span class="kw">let </span>seek = <span class="number">100</span>;
1389 <span class="macro">assert_eq!</span>(s.binary_search_by(|probe| probe.cmp(<span class="kw-2">&amp;</span>seek)), <span class="prelude-val">Err</span>(<span class="number">13</span>));
1390 <span class="kw">let </span>seek = <span class="number">1</span>;
1391 <span class="kw">let </span>r = s.binary_search_by(|probe| probe.cmp(<span class="kw-2">&amp;</span>seek));
1392 <span class="macro">assert!</span>(<span class="kw">match </span>r { <span class="prelude-val">Ok</span>(<span class="number">1</span>..=<span class="number">4</span>) =&gt; <span class="bool-val">true</span>, <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>, });</code></pre></div>
1393 </div></details><details class="toggle method-toggle" open><summary><section id="method.binary_search_by_key" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.10.0">1.10.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2879-2882">source</a></span><h4 class="code-header">pub fn <a href="#method.binary_search_by_key" class="fn">binary_search_by_key</a>&lt;'a, B, F&gt;(
1394 &amp;'a self,
1395 b: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;B</a>,
1396 f: F
1397 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;<div class="where">where
1398 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>) -&gt; B,
1399 B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Binary searches this slice with a key extraction function.</p>
1400 <p>Assumes that the slice is sorted by the key, for instance with
1401 <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_by_key" title="method slice::sort_by_key"><code>sort_by_key</code></a> using the same key extraction function.
1402 If the slice is not sorted by the key, the returned result is
1403 unspecified and meaningless.</p>
1404 <p>If the value is found then <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html#variant.Ok" title="variant core::result::Result::Ok"><code>Result::Ok</code></a> is returned, containing the
1405 index of the matching element. If there are multiple matches, then any
1406 one of the matches could be returned. The index is chosen
1407 deterministically, but is subject to change in future versions of Rust.
1408 If the value is not found then <a href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html#variant.Err" title="variant core::result::Result::Err"><code>Result::Err</code></a> is returned, containing
1409 the index where a matching element could be inserted while maintaining
1410 sorted order.</p>
1411 <p>See also <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search" title="method slice::binary_search"><code>binary_search</code></a>, <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search_by" title="method slice::binary_search_by"><code>binary_search_by</code></a>, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.partition_point" title="method slice::partition_point"><code>partition_point</code></a>.</p>
1412 <h5 id="examples-79"><a class="doc-anchor" href="#examples-79">§</a>Examples</h5>
1413 <p>Looks up a series of four elements in a slice of pairs sorted by
1414 their second elements. The first is found, with a uniquely
1415 determined position; the second and third are not found; the
1416 fourth could match any position in <code>[1, 4]</code>.</p>
1417
1418 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>s = [(<span class="number">0</span>, <span class="number">0</span>), (<span class="number">2</span>, <span class="number">1</span>), (<span class="number">4</span>, <span class="number">1</span>), (<span class="number">5</span>, <span class="number">1</span>), (<span class="number">3</span>, <span class="number">1</span>),
1419 (<span class="number">1</span>, <span class="number">2</span>), (<span class="number">2</span>, <span class="number">3</span>), (<span class="number">4</span>, <span class="number">5</span>), (<span class="number">5</span>, <span class="number">8</span>), (<span class="number">3</span>, <span class="number">13</span>),
1420 (<span class="number">1</span>, <span class="number">21</span>), (<span class="number">2</span>, <span class="number">34</span>), (<span class="number">4</span>, <span class="number">55</span>)];
1421
1422 <span class="macro">assert_eq!</span>(s.binary_search_by_key(<span class="kw-2">&amp;</span><span class="number">13</span>, |<span class="kw-2">&amp;</span>(a, b)| b), <span class="prelude-val">Ok</span>(<span class="number">9</span>));
1423 <span class="macro">assert_eq!</span>(s.binary_search_by_key(<span class="kw-2">&amp;</span><span class="number">4</span>, |<span class="kw-2">&amp;</span>(a, b)| b), <span class="prelude-val">Err</span>(<span class="number">7</span>));
1424 <span class="macro">assert_eq!</span>(s.binary_search_by_key(<span class="kw-2">&amp;</span><span class="number">100</span>, |<span class="kw-2">&amp;</span>(a, b)| b), <span class="prelude-val">Err</span>(<span class="number">13</span>));
1425 <span class="kw">let </span>r = s.binary_search_by_key(<span class="kw-2">&amp;</span><span class="number">1</span>, |<span class="kw-2">&amp;</span>(a, b)| b);
1426 <span class="macro">assert!</span>(<span class="kw">match </span>r { <span class="prelude-val">Ok</span>(<span class="number">1</span>..=<span class="number">4</span>) =&gt; <span class="bool-val">true</span>, <span class="kw">_ </span>=&gt; <span class="bool-val">false</span>, });</code></pre></div>
1427 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_unstable" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.20.0">1.20.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2915-2917">source</a></span><h4 class="code-header">pub fn <a href="#method.sort_unstable" class="fn">sort_unstable</a>(&amp;mut self)<div class="where">where
1428 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice, but might not preserve the order of equal elements.</p>
1429 <p>This sort is unstable (i.e., may reorder equal elements), in-place
1430 (i.e., does not allocate), and <em>O</em>(<em>n</em> * log(<em>n</em>)) worst-case.</p>
1431 <h5 id="current-implementation-2"><a class="doc-anchor" href="#current-implementation-2">§</a>Current implementation</h5>
1432 <p>The current algorithm is based on <a href="https://github.com/orlp/pdqsort">pattern-defeating quicksort</a> by Orson Peters,
1433 which combines the fast average case of randomized quicksort with the fast worst case of
1434 heapsort, while achieving linear time on slices with certain patterns. It uses some
1435 randomization to avoid degenerate cases, but with a fixed seed to always provide
1436 deterministic behavior.</p>
1437 <p>It is typically faster than stable sorting, except in a few special cases, e.g., when the
1438 slice consists of several concatenated sorted sequences.</p>
1439 <h5 id="examples-80"><a class="doc-anchor" href="#examples-80">§</a>Examples</h5>
1440 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">3</span>, <span class="number">2</span>];
1441
1442 v.sort_unstable();
1443 <span class="macro">assert!</span>(v == [-<span class="number">5</span>, -<span class="number">3</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>]);</code></pre></div>
1444 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_unstable_by" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.20.0">1.20.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#2970-2972">source</a></span><h4 class="code-header">pub fn <a href="#method.sort_unstable_by" class="fn">sort_unstable_by</a>&lt;F&gt;(&amp;mut self, compare: F)<div class="where">where
1445 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice with a comparator function, but might not preserve the order of equal
1446 elements.</p>
1447 <p>This sort is unstable (i.e., may reorder equal elements), in-place
1448 (i.e., does not allocate), and <em>O</em>(<em>n</em> * log(<em>n</em>)) worst-case.</p>
1449 <p>The comparator function must define a total ordering for the elements in the slice. If
1450 the ordering is not total, the order of the elements is unspecified. An order is a
1451 total order if it is (for all <code>a</code>, <code>b</code> and <code>c</code>):</p>
1452 <ul>
1453 <li>total and antisymmetric: exactly one of <code>a &lt; b</code>, <code>a == b</code> or <code>a &gt; b</code> is true, and</li>
1454 <li>transitive, <code>a &lt; b</code> and <code>b &lt; c</code> implies <code>a &lt; c</code>. The same must hold for both <code>==</code> and <code>&gt;</code>.</li>
1455 </ul>
1456 <p>For example, while <a href="https://doc.rust-lang.org/nightly/std/primitive.f64.html" title="primitive f64"><code>f64</code></a> doesn’t implement <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord"><code>Ord</code></a> because <code>NaN != NaN</code>, we can use
1457 <code>partial_cmp</code> as our sort function when we know the slice doesn’t contain a <code>NaN</code>.</p>
1458
1459 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>floats = [<span class="number">5f64</span>, <span class="number">4.0</span>, <span class="number">1.0</span>, <span class="number">3.0</span>, <span class="number">2.0</span>];
1460 floats.sort_unstable_by(|a, b| a.partial_cmp(b).unwrap());
1461 <span class="macro">assert_eq!</span>(floats, [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>, <span class="number">4.0</span>, <span class="number">5.0</span>]);</code></pre></div>
1462 <h5 id="current-implementation-3"><a class="doc-anchor" href="#current-implementation-3">§</a>Current implementation</h5>
1463 <p>The current algorithm is based on <a href="https://github.com/orlp/pdqsort">pattern-defeating quicksort</a> by Orson Peters,
1464 which combines the fast average case of randomized quicksort with the fast worst case of
1465 heapsort, while achieving linear time on slices with certain patterns. It uses some
1466 randomization to avoid degenerate cases, but with a fixed seed to always provide
1467 deterministic behavior.</p>
1468 <p>It is typically faster than stable sorting, except in a few special cases, e.g., when the
1469 slice consists of several concatenated sorted sequences.</p>
1470 <h5 id="examples-81"><a class="doc-anchor" href="#examples-81">§</a>Examples</h5>
1471 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">5</span>, <span class="number">4</span>, <span class="number">1</span>, <span class="number">3</span>, <span class="number">2</span>];
1472 v.sort_unstable_by(|a, b| a.cmp(b));
1473 <span class="macro">assert!</span>(v == [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
1474
1475 <span class="comment">// reverse sorting
1476 </span>v.sort_unstable_by(|a, b| b.cmp(a));
1477 <span class="macro">assert!</span>(v == [<span class="number">5</span>, <span class="number">4</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>]);</code></pre></div>
1478 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_unstable_by_key" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.20.0">1.20.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3008-3011">source</a></span><h4 class="code-header">pub fn <a href="#method.sort_unstable_by_key" class="fn">sort_unstable_by_key</a>&lt;K, F&gt;(&amp;mut self, f: F)<div class="where">where
1479 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; K,
1480 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice with a key extraction function, but might not preserve the order of equal
1481 elements.</p>
1482 <p>This sort is unstable (i.e., may reorder equal elements), in-place
1483 (i.e., does not allocate), and <em>O</em>(<em>m</em> * <em>n</em> * log(<em>n</em>)) worst-case, where the key function is
1484 <em>O</em>(<em>m</em>).</p>
1485 <h5 id="current-implementation-4"><a class="doc-anchor" href="#current-implementation-4">§</a>Current implementation</h5>
1486 <p>The current algorithm is based on <a href="https://github.com/orlp/pdqsort">pattern-defeating quicksort</a> by Orson Peters,
1487 which combines the fast average case of randomized quicksort with the fast worst case of
1488 heapsort, while achieving linear time on slices with certain patterns. It uses some
1489 randomization to avoid degenerate cases, but with a fixed seed to always provide
1490 deterministic behavior.</p>
1491 <p>Due to its key calling strategy, <a href="#method.sort_unstable_by_key"><code>sort_unstable_by_key</code></a>
1492 is likely to be slower than <a href="#method.sort_by_cached_key"><code>sort_by_cached_key</code></a> in
1493 cases where the key function is expensive.</p>
1494 <h5 id="examples-82"><a class="doc-anchor" href="#examples-82">§</a>Examples</h5>
1495 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5i32</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">3</span>, <span class="number">2</span>];
1496
1497 v.sort_unstable_by_key(|k| k.abs());
1498 <span class="macro">assert!</span>(v == [<span class="number">1</span>, <span class="number">2</span>, -<span class="number">3</span>, <span class="number">4</span>, -<span class="number">5</span>]);</code></pre></div>
1499 </div></details><details class="toggle method-toggle" open><summary><section id="method.select_nth_unstable" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.49.0">1.49.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3063-3065">source</a></span><h4 class="code-header">pub fn <a href="#method.select_nth_unstable" class="fn">select_nth_unstable</a>(
1500 &amp;mut self,
1501 index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
1502 ) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1503 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Reorder the slice such that the element at <code>index</code> after the reordering is at its final sorted position.</p>
1504 <p>This reordering has the additional property that any value at position <code>i &lt; index</code> will be
1505 less than or equal to any value at a position <code>j &gt; index</code>. Additionally, this reordering is
1506 unstable (i.e. any number of equal elements may end up at position <code>index</code>), in-place
1507 (i.e. does not allocate), and runs in <em>O</em>(<em>n</em>) time.
1508 This function is also known as “kth element” in other libraries.</p>
1509 <p>It returns a triplet of the following from the reordered slice:
1510 the subslice prior to <code>index</code>, the element at <code>index</code>, and the subslice after <code>index</code>;
1511 accordingly, the values in those two subslices will respectively all be less-than-or-equal-to
1512 and greater-than-or-equal-to the value of the element at <code>index</code>.</p>
1513 <h5 id="current-implementation-5"><a class="doc-anchor" href="#current-implementation-5">§</a>Current implementation</h5>
1514 <p>The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also
1515 the basis for <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable" title="method slice::sort_unstable"><code>sort_unstable</code></a>. The fallback algorithm is Median of Medians using Tukey’s Ninther for
1516 pivot selection, which guarantees linear runtime for all inputs.</p>
1517 <h5 id="panics-21"><a class="doc-anchor" href="#panics-21">§</a>Panics</h5>
1518 <p>Panics when <code>index &gt;= len()</code>, meaning it always panics on empty slices.</p>
1519 <h5 id="examples-83"><a class="doc-anchor" href="#examples-83">§</a>Examples</h5>
1520 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5i32</span>, <span class="number">4</span>, <span class="number">2</span>, -<span class="number">3</span>, <span class="number">1</span>];
1521
1522 <span class="comment">// Find the items less than or equal to the median, the median, and greater than or equal to
1523 // the median.
1524 </span><span class="kw">let </span>(lesser, median, greater) = v.select_nth_unstable(<span class="number">2</span>);
1525
1526 <span class="macro">assert!</span>(lesser == [-<span class="number">3</span>, -<span class="number">5</span>] || lesser == [-<span class="number">5</span>, -<span class="number">3</span>]);
1527 <span class="macro">assert_eq!</span>(median, <span class="kw-2">&amp;mut </span><span class="number">1</span>);
1528 <span class="macro">assert!</span>(greater == [<span class="number">4</span>, <span class="number">2</span>] || greater == [<span class="number">2</span>, <span class="number">4</span>]);
1529
1530 <span class="comment">// We are only guaranteed the slice will be one of the following, based on the way we sort
1531 // about the specified index.
1532 </span><span class="macro">assert!</span>(v == [-<span class="number">3</span>, -<span class="number">5</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>] ||
1533 v == [-<span class="number">5</span>, -<span class="number">3</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>] ||
1534 v == [-<span class="number">3</span>, -<span class="number">5</span>, <span class="number">1</span>, <span class="number">4</span>, <span class="number">2</span>] ||
1535 v == [-<span class="number">5</span>, -<span class="number">3</span>, <span class="number">1</span>, <span class="number">4</span>, <span class="number">2</span>]);</code></pre></div>
1536 </div></details><details class="toggle method-toggle" open><summary><section id="method.select_nth_unstable_by" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.49.0">1.49.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3119-3125">source</a></span><h4 class="code-header">pub fn <a href="#method.select_nth_unstable_by" class="fn">select_nth_unstable_by</a>&lt;F&gt;(
1537 &amp;mut self,
1538 index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
1539 compare: F
1540 ) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1541 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class="docblock"><p>Reorder the slice with a comparator function such that the element at <code>index</code> after the reordering is at
1542 its final sorted position.</p>
1543 <p>This reordering has the additional property that any value at position <code>i &lt; index</code> will be
1544 less than or equal to any value at a position <code>j &gt; index</code> using the comparator function.
1545 Additionally, this reordering is unstable (i.e. any number of equal elements may end up at
1546 position <code>index</code>), in-place (i.e. does not allocate), and runs in <em>O</em>(<em>n</em>) time.
1547 This function is also known as “kth element” in other libraries.</p>
1548 <p>It returns a triplet of the following from
1549 the slice reordered according to the provided comparator function: the subslice prior to
1550 <code>index</code>, the element at <code>index</code>, and the subslice after <code>index</code>; accordingly, the values in
1551 those two subslices will respectively all be less-than-or-equal-to and greater-than-or-equal-to
1552 the value of the element at <code>index</code>.</p>
1553 <h5 id="current-implementation-6"><a class="doc-anchor" href="#current-implementation-6">§</a>Current implementation</h5>
1554 <p>The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also
1555 the basis for <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable" title="method slice::sort_unstable"><code>sort_unstable</code></a>. The fallback algorithm is Median of Medians using Tukey’s Ninther for
1556 pivot selection, which guarantees linear runtime for all inputs.</p>
1557 <h5 id="panics-22"><a class="doc-anchor" href="#panics-22">§</a>Panics</h5>
1558 <p>Panics when <code>index &gt;= len()</code>, meaning it always panics on empty slices.</p>
1559 <h5 id="examples-84"><a class="doc-anchor" href="#examples-84">§</a>Examples</h5>
1560 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5i32</span>, <span class="number">4</span>, <span class="number">2</span>, -<span class="number">3</span>, <span class="number">1</span>];
1561
1562 <span class="comment">// Find the items less than or equal to the median, the median, and greater than or equal to
1563 // the median as if the slice were sorted in descending order.
1564 </span><span class="kw">let </span>(lesser, median, greater) = v.select_nth_unstable_by(<span class="number">2</span>, |a, b| b.cmp(a));
1565
1566 <span class="macro">assert!</span>(lesser == [<span class="number">4</span>, <span class="number">2</span>] || lesser == [<span class="number">2</span>, <span class="number">4</span>]);
1567 <span class="macro">assert_eq!</span>(median, <span class="kw-2">&amp;mut </span><span class="number">1</span>);
1568 <span class="macro">assert!</span>(greater == [-<span class="number">3</span>, -<span class="number">5</span>] || greater == [-<span class="number">5</span>, -<span class="number">3</span>]);
1569
1570 <span class="comment">// We are only guaranteed the slice will be one of the following, based on the way we sort
1571 // about the specified index.
1572 </span><span class="macro">assert!</span>(v == [<span class="number">2</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">5</span>, -<span class="number">3</span>] ||
1573 v == [<span class="number">2</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">3</span>, -<span class="number">5</span>] ||
1574 v == [<span class="number">4</span>, <span class="number">2</span>, <span class="number">1</span>, -<span class="number">5</span>, -<span class="number">3</span>] ||
1575 v == [<span class="number">4</span>, <span class="number">2</span>, <span class="number">1</span>, -<span class="number">3</span>, -<span class="number">5</span>]);</code></pre></div>
1576 </div></details><details class="toggle method-toggle" open><summary><section id="method.select_nth_unstable_by_key" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.49.0">1.49.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3179-3186">source</a></span><h4 class="code-header">pub fn <a href="#method.select_nth_unstable_by_key" class="fn">select_nth_unstable_by_key</a>&lt;K, F&gt;(
1577 &amp;mut self,
1578 index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
1579 f: F
1580 ) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1581 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; K,
1582 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Reorder the slice with a key extraction function such that the element at <code>index</code> after the reordering is
1583 at its final sorted position.</p>
1584 <p>This reordering has the additional property that any value at position <code>i &lt; index</code> will be
1585 less than or equal to any value at a position <code>j &gt; index</code> using the key extraction function.
1586 Additionally, this reordering is unstable (i.e. any number of equal elements may end up at
1587 position <code>index</code>), in-place (i.e. does not allocate), and runs in <em>O</em>(<em>n</em>) time.
1588 This function is also known as “kth element” in other libraries.</p>
1589 <p>It returns a triplet of the following from
1590 the slice reordered according to the provided key extraction function: the subslice prior to
1591 <code>index</code>, the element at <code>index</code>, and the subslice after <code>index</code>; accordingly, the values in
1592 those two subslices will respectively all be less-than-or-equal-to and greater-than-or-equal-to
1593 the value of the element at <code>index</code>.</p>
1594 <h5 id="current-implementation-7"><a class="doc-anchor" href="#current-implementation-7">§</a>Current implementation</h5>
1595 <p>The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also
1596 the basis for <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable" title="method slice::sort_unstable"><code>sort_unstable</code></a>. The fallback algorithm is Median of Medians using Tukey’s Ninther for
1597 pivot selection, which guarantees linear runtime for all inputs.</p>
1598 <h5 id="panics-23"><a class="doc-anchor" href="#panics-23">§</a>Panics</h5>
1599 <p>Panics when <code>index &gt;= len()</code>, meaning it always panics on empty slices.</p>
1600 <h5 id="examples-85"><a class="doc-anchor" href="#examples-85">§</a>Examples</h5>
1601 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5i32</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">3</span>, <span class="number">2</span>];
1602
1603 <span class="comment">// Find the items less than or equal to the median, the median, and greater than or equal to
1604 // the median as if the slice were sorted according to absolute value.
1605 </span><span class="kw">let </span>(lesser, median, greater) = v.select_nth_unstable_by_key(<span class="number">2</span>, |a| a.abs());
1606
1607 <span class="macro">assert!</span>(lesser == [<span class="number">1</span>, <span class="number">2</span>] || lesser == [<span class="number">2</span>, <span class="number">1</span>]);
1608 <span class="macro">assert_eq!</span>(median, <span class="kw-2">&amp;mut </span>-<span class="number">3</span>);
1609 <span class="macro">assert!</span>(greater == [<span class="number">4</span>, -<span class="number">5</span>] || greater == [-<span class="number">5</span>, <span class="number">4</span>]);
1610
1611 <span class="comment">// We are only guaranteed the slice will be one of the following, based on the way we sort
1612 // about the specified index.
1613 </span><span class="macro">assert!</span>(v == [<span class="number">1</span>, <span class="number">2</span>, -<span class="number">3</span>, <span class="number">4</span>, -<span class="number">5</span>] ||
1614 v == [<span class="number">1</span>, <span class="number">2</span>, -<span class="number">3</span>, -<span class="number">5</span>, <span class="number">4</span>] ||
1615 v == [<span class="number">2</span>, <span class="number">1</span>, -<span class="number">3</span>, <span class="number">4</span>, -<span class="number">5</span>] ||
1616 v == [<span class="number">2</span>, <span class="number">1</span>, -<span class="number">3</span>, -<span class="number">5</span>, <span class="number">4</span>]);</code></pre></div>
1617 </div></details><details class="toggle method-toggle" open><summary><section id="method.partition_dedup" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3213-3215">source</a><h4 class="code-header">pub fn <a href="#method.partition_dedup" class="fn">partition_dedup</a>(&amp;mut self) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1618 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_partition_dedup</code>)</span></div></span></summary><div class="docblock"><p>Moves all consecutive repeated elements to the end of the slice according to the
1619 <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq"><code>PartialEq</code></a> trait implementation.</p>
1620 <p>Returns two slices. The first contains no consecutive repeated elements.
1621 The second contains all the duplicates in no specified order.</p>
1622 <p>If the slice is sorted, the first returned slice contains no duplicates.</p>
1623 <h5 id="examples-86"><a class="doc-anchor" href="#examples-86">§</a>Examples</h5>
1624 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_partition_dedup)]
1625
1626 </span><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">1</span>];
1627
1628 <span class="kw">let </span>(dedup, duplicates) = slice.partition_dedup();
1629
1630 <span class="macro">assert_eq!</span>(dedup, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>]);
1631 <span class="macro">assert_eq!</span>(duplicates, [<span class="number">2</span>, <span class="number">3</span>, <span class="number">1</span>]);</code></pre></div>
1632 </div></details><details class="toggle method-toggle" open><summary><section id="method.partition_dedup_by" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3247-3249">source</a><h4 class="code-header">pub fn <a href="#method.partition_dedup_by" class="fn">partition_dedup_by</a>&lt;F&gt;(&amp;mut self, same_bucket: F) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1633 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_partition_dedup</code>)</span></div></span></summary><div class="docblock"><p>Moves all but the first of consecutive elements to the end of the slice satisfying
1634 a given equality relation.</p>
1635 <p>Returns two slices. The first contains no consecutive repeated elements.
1636 The second contains all the duplicates in no specified order.</p>
1637 <p>The <code>same_bucket</code> function is passed references to two elements from the slice and
1638 must determine if the elements compare equal. The elements are passed in opposite order
1639 from their order in the slice, so if <code>same_bucket(a, b)</code> returns <code>true</code>, <code>a</code> is moved
1640 at the end of the slice.</p>
1641 <p>If the slice is sorted, the first returned slice contains no duplicates.</p>
1642 <h5 id="examples-87"><a class="doc-anchor" href="#examples-87">§</a>Examples</h5>
1643 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_partition_dedup)]
1644
1645 </span><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="string">"foo"</span>, <span class="string">"Foo"</span>, <span class="string">"BAZ"</span>, <span class="string">"Bar"</span>, <span class="string">"bar"</span>, <span class="string">"baz"</span>, <span class="string">"BAZ"</span>];
1646
1647 <span class="kw">let </span>(dedup, duplicates) = slice.partition_dedup_by(|a, b| a.eq_ignore_ascii_case(b));
1648
1649 <span class="macro">assert_eq!</span>(dedup, [<span class="string">"foo"</span>, <span class="string">"BAZ"</span>, <span class="string">"Bar"</span>, <span class="string">"baz"</span>]);
1650 <span class="macro">assert_eq!</span>(duplicates, [<span class="string">"bar"</span>, <span class="string">"Foo"</span>, <span class="string">"BAZ"</span>]);</code></pre></div>
1651 </div></details><details class="toggle method-toggle" open><summary><section id="method.partition_dedup_by_key" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3373-3376">source</a><h4 class="code-header">pub fn <a href="#method.partition_dedup_by_key" class="fn">partition_dedup_by_key</a>&lt;K, F&gt;(&amp;mut self, key: F) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1652 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>) -&gt; K,
1653 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_partition_dedup</code>)</span></div></span></summary><div class="docblock"><p>Moves all but the first of consecutive elements to the end of the slice that resolve
1654 to the same key.</p>
1655 <p>Returns two slices. The first contains no consecutive repeated elements.
1656 The second contains all the duplicates in no specified order.</p>
1657 <p>If the slice is sorted, the first returned slice contains no duplicates.</p>
1658 <h5 id="examples-88"><a class="doc-anchor" href="#examples-88">§</a>Examples</h5>
1659 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_partition_dedup)]
1660
1661 </span><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">10</span>, <span class="number">20</span>, <span class="number">21</span>, <span class="number">30</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">11</span>, <span class="number">13</span>];
1662
1663 <span class="kw">let </span>(dedup, duplicates) = slice.partition_dedup_by_key(|i| <span class="kw-2">*</span>i / <span class="number">10</span>);
1664
1665 <span class="macro">assert_eq!</span>(dedup, [<span class="number">10</span>, <span class="number">20</span>, <span class="number">30</span>, <span class="number">20</span>, <span class="number">11</span>]);
1666 <span class="macro">assert_eq!</span>(duplicates, [<span class="number">21</span>, <span class="number">30</span>, <span class="number">13</span>]);</code></pre></div>
1667 </div></details><details class="toggle method-toggle" open><summary><section id="method.rotate_left" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.26.0">1.26.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3412">source</a></span><h4 class="code-header">pub fn <a href="#method.rotate_left" class="fn">rotate_left</a>(&amp;mut self, mid: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Rotates the slice in-place such that the first <code>mid</code> elements of the
1668 slice move to the end while the last <code>self.len() - mid</code> elements move to
1669 the front. After calling <code>rotate_left</code>, the element previously at index
1670 <code>mid</code> will become the first element in the slice.</p>
1671 <h5 id="panics-24"><a class="doc-anchor" href="#panics-24">§</a>Panics</h5>
1672 <p>This function will panic if <code>mid</code> is greater than the length of the
1673 slice. Note that <code>mid == self.len()</code> does <em>not</em> panic and is a no-op
1674 rotation.</p>
1675 <h5 id="complexity"><a class="doc-anchor" href="#complexity">§</a>Complexity</h5>
1676 <p>Takes linear (in <code>self.len()</code>) time.</p>
1677 <h5 id="examples-89"><a class="doc-anchor" href="#examples-89">§</a>Examples</h5>
1678 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = [<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'e'</span>, <span class="string">'f'</span>];
1679 a.rotate_left(<span class="number">2</span>);
1680 <span class="macro">assert_eq!</span>(a, [<span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'e'</span>, <span class="string">'f'</span>, <span class="string">'a'</span>, <span class="string">'b'</span>]);</code></pre></div>
1681 <p>Rotating a subslice:</p>
1682
1683 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = [<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'e'</span>, <span class="string">'f'</span>];
1684 a[<span class="number">1</span>..<span class="number">5</span>].rotate_left(<span class="number">1</span>);
1685 <span class="macro">assert_eq!</span>(a, [<span class="string">'a'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'e'</span>, <span class="string">'b'</span>, <span class="string">'f'</span>]);</code></pre></div>
1686 </div></details><details class="toggle method-toggle" open><summary><section id="method.rotate_right" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.26.0">1.26.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3455">source</a></span><h4 class="code-header">pub fn <a href="#method.rotate_right" class="fn">rotate_right</a>(&amp;mut self, k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</h4></section></summary><div class="docblock"><p>Rotates the slice in-place such that the first <code>self.len() - k</code>
1687 elements of the slice move to the end while the last <code>k</code> elements move
1688 to the front. After calling <code>rotate_right</code>, the element previously at
1689 index <code>self.len() - k</code> will become the first element in the slice.</p>
1690 <h5 id="panics-25"><a class="doc-anchor" href="#panics-25">§</a>Panics</h5>
1691 <p>This function will panic if <code>k</code> is greater than the length of the
1692 slice. Note that <code>k == self.len()</code> does <em>not</em> panic and is a no-op
1693 rotation.</p>
1694 <h5 id="complexity-1"><a class="doc-anchor" href="#complexity-1">§</a>Complexity</h5>
1695 <p>Takes linear (in <code>self.len()</code>) time.</p>
1696 <h5 id="examples-90"><a class="doc-anchor" href="#examples-90">§</a>Examples</h5>
1697 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = [<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'e'</span>, <span class="string">'f'</span>];
1698 a.rotate_right(<span class="number">2</span>);
1699 <span class="macro">assert_eq!</span>(a, [<span class="string">'e'</span>, <span class="string">'f'</span>, <span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>]);</code></pre></div>
1700 <p>Rotating a subslice:</p>
1701
1702 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>a = [<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'e'</span>, <span class="string">'f'</span>];
1703 a[<span class="number">1</span>..<span class="number">5</span>].rotate_right(<span class="number">1</span>);
1704 <span class="macro">assert_eq!</span>(a, [<span class="string">'a'</span>, <span class="string">'e'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>, <span class="string">'f'</span>]);</code></pre></div>
1705 </div></details><details class="toggle method-toggle" open><summary><section id="method.fill" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3478-3480">source</a></span><h4 class="code-header">pub fn <a href="#method.fill" class="fn">fill</a>(&amp;mut self, value: T)<div class="where">where
1706 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class="docblock"><p>Fills <code>self</code> with elements by cloning <code>value</code>.</p>
1707 <h5 id="examples-91"><a class="doc-anchor" href="#examples-91">§</a>Examples</h5>
1708 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>buf = <span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">10</span>];
1709 buf.fill(<span class="number">1</span>);
1710 <span class="macro">assert_eq!</span>(buf, <span class="macro">vec!</span>[<span class="number">1</span>; <span class="number">10</span>]);</code></pre></div>
1711 </div></details><details class="toggle method-toggle" open><summary><section id="method.fill_with" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.51.0">1.51.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3502-3504">source</a></span><h4 class="code-header">pub fn <a href="#method.fill_with" class="fn">fill_with</a>&lt;F&gt;(&amp;mut self, f: F)<div class="where">where
1712 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>() -&gt; T,</div></h4></section></summary><div class="docblock"><p>Fills <code>self</code> with elements returned by calling a closure repeatedly.</p>
1713 <p>This method uses a closure to create new values. If you’d rather
1714 <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone"><code>Clone</code></a> a given value, use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.fill" title="method slice::fill"><code>fill</code></a>. If you want to use the <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default"><code>Default</code></a>
1715 trait to generate values, you can pass <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" title="associated function core::default::Default::default"><code>Default::default</code></a> as the
1716 argument.</p>
1717 <h5 id="examples-92"><a class="doc-anchor" href="#examples-92">§</a>Examples</h5>
1718 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>buf = <span class="macro">vec!</span>[<span class="number">1</span>; <span class="number">10</span>];
1719 buf.fill_with(Default::default);
1720 <span class="macro">assert_eq!</span>(buf, <span class="macro">vec!</span>[<span class="number">0</span>; <span class="number">10</span>]);</code></pre></div>
1721 </div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from_slice" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.7.0">1.7.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3565-3567">source</a></span><h4 class="code-header">pub fn <a href="#method.clone_from_slice" class="fn">clone_from_slice</a>(&amp;mut self, src: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1722 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class="docblock"><p>Copies the elements from <code>src</code> into <code>self</code>.</p>
1723 <p>The length of <code>src</code> must be the same as <code>self</code>.</p>
1724 <h5 id="panics-26"><a class="doc-anchor" href="#panics-26">§</a>Panics</h5>
1725 <p>This function will panic if the two slices have different lengths.</p>
1726 <h5 id="examples-93"><a class="doc-anchor" href="#examples-93">§</a>Examples</h5>
1727 <p>Cloning two elements from a slice into another:</p>
1728
1729 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>src = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
1730 <span class="kw">let </span><span class="kw-2">mut </span>dst = [<span class="number">0</span>, <span class="number">0</span>];
1731
1732 <span class="comment">// Because the slices have to be the same length,
1733 // we slice the source slice from four elements
1734 // to two. It will panic if we don't do this.
1735 </span>dst.clone_from_slice(<span class="kw-2">&amp;</span>src[<span class="number">2</span>..]);
1736
1737 <span class="macro">assert_eq!</span>(src, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
1738 <span class="macro">assert_eq!</span>(dst, [<span class="number">3</span>, <span class="number">4</span>]);</code></pre></div>
1739 <p>Rust enforces that there can only be one mutable reference with no
1740 immutable references to a particular piece of data in a particular
1741 scope. Because of this, attempting to use <code>clone_from_slice</code> on a
1742 single slice will result in a compile failure:</p>
1743
1744 <div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
1745
1746 slice[..<span class="number">2</span>].clone_from_slice(<span class="kw-2">&amp;</span>slice[<span class="number">3</span>..]); <span class="comment">// compile fail!</span></code></pre></div>
1747 <p>To work around this, we can use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at_mut" title="method slice::split_at_mut"><code>split_at_mut</code></a> to create two distinct
1748 sub-slices from a slice:</p>
1749
1750 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
1751
1752 {
1753 <span class="kw">let </span>(left, right) = slice.split_at_mut(<span class="number">2</span>);
1754 left.clone_from_slice(<span class="kw-2">&amp;</span>right[<span class="number">1</span>..]);
1755 }
1756
1757 <span class="macro">assert_eq!</span>(slice, [<span class="number">4</span>, <span class="number">5</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
1758 </div></details><details class="toggle method-toggle" open><summary><section id="method.copy_from_slice" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.9.0">1.9.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3629-3631">source</a></span><h4 class="code-header">pub fn <a href="#method.copy_from_slice" class="fn">copy_from_slice</a>(&amp;mut self, src: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1759 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</div></h4></section></summary><div class="docblock"><p>Copies all elements from <code>src</code> into <code>self</code>, using a memcpy.</p>
1760 <p>The length of <code>src</code> must be the same as <code>self</code>.</p>
1761 <p>If <code>T</code> does not implement <code>Copy</code>, use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.clone_from_slice" title="method slice::clone_from_slice"><code>clone_from_slice</code></a>.</p>
1762 <h5 id="panics-27"><a class="doc-anchor" href="#panics-27">§</a>Panics</h5>
1763 <p>This function will panic if the two slices have different lengths.</p>
1764 <h5 id="examples-94"><a class="doc-anchor" href="#examples-94">§</a>Examples</h5>
1765 <p>Copying two elements from a slice into another:</p>
1766
1767 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>src = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
1768 <span class="kw">let </span><span class="kw-2">mut </span>dst = [<span class="number">0</span>, <span class="number">0</span>];
1769
1770 <span class="comment">// Because the slices have to be the same length,
1771 // we slice the source slice from four elements
1772 // to two. It will panic if we don't do this.
1773 </span>dst.copy_from_slice(<span class="kw-2">&amp;</span>src[<span class="number">2</span>..]);
1774
1775 <span class="macro">assert_eq!</span>(src, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
1776 <span class="macro">assert_eq!</span>(dst, [<span class="number">3</span>, <span class="number">4</span>]);</code></pre></div>
1777 <p>Rust enforces that there can only be one mutable reference with no
1778 immutable references to a particular piece of data in a particular
1779 scope. Because of this, attempting to use <code>copy_from_slice</code> on a
1780 single slice will result in a compile failure:</p>
1781
1782 <div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
1783
1784 slice[..<span class="number">2</span>].copy_from_slice(<span class="kw-2">&amp;</span>slice[<span class="number">3</span>..]); <span class="comment">// compile fail!</span></code></pre></div>
1785 <p>To work around this, we can use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at_mut" title="method slice::split_at_mut"><code>split_at_mut</code></a> to create two distinct
1786 sub-slices from a slice:</p>
1787
1788 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
1789
1790 {
1791 <span class="kw">let </span>(left, right) = slice.split_at_mut(<span class="number">2</span>);
1792 left.copy_from_slice(<span class="kw-2">&amp;</span>right[<span class="number">1</span>..]);
1793 }
1794
1795 <span class="macro">assert_eq!</span>(slice, [<span class="number">4</span>, <span class="number">5</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);</code></pre></div>
1796 </div></details><details class="toggle method-toggle" open><summary><section id="method.copy_within" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.37.0">1.37.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3683-3685">source</a></span><h4 class="code-header">pub fn <a href="#method.copy_within" class="fn">copy_within</a>&lt;R&gt;(&amp;mut self, src: R, dest: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)<div class="where">where
1797 R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.RangeBounds.html" title="trait core::ops::range::RangeBounds">RangeBounds</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;,
1798 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</div></h4></section></summary><div class="docblock"><p>Copies elements from one part of the slice to another part of itself,
1799 using a memmove.</p>
1800 <p><code>src</code> is the range within <code>self</code> to copy from. <code>dest</code> is the starting
1801 index of the range within <code>self</code> to copy to, which will have the same
1802 length as <code>src</code>. The two ranges may overlap. The ends of the two ranges
1803 must be less than or equal to <code>self.len()</code>.</p>
1804 <h5 id="panics-28"><a class="doc-anchor" href="#panics-28">§</a>Panics</h5>
1805 <p>This function will panic if either range exceeds the end of the slice,
1806 or if the end of <code>src</code> is before the start.</p>
1807 <h5 id="examples-95"><a class="doc-anchor" href="#examples-95">§</a>Examples</h5>
1808 <p>Copying four bytes within a slice:</p>
1809
1810 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>bytes = <span class="kw-2">*</span><span class="string">b"Hello, World!"</span>;
1811
1812 bytes.copy_within(<span class="number">1</span>..<span class="number">5</span>, <span class="number">8</span>);
1813
1814 <span class="macro">assert_eq!</span>(<span class="kw-2">&amp;</span>bytes, <span class="string">b"Hello, Wello!"</span>);</code></pre></div>
1815 </div></details><details class="toggle method-toggle" open><summary><section id="method.swap_with_slice" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.27.0">1.27.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3750">source</a></span><h4 class="code-header">pub fn <a href="#method.swap_with_slice" class="fn">swap_with_slice</a>(&amp;mut self, other: &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Swaps all elements in <code>self</code> with those in <code>other</code>.</p>
1816 <p>The length of <code>other</code> must be the same as <code>self</code>.</p>
1817 <h5 id="panics-29"><a class="doc-anchor" href="#panics-29">§</a>Panics</h5>
1818 <p>This function will panic if the two slices have different lengths.</p>
1819 <h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
1820 <p>Swapping two elements across slices:</p>
1821
1822 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice1 = [<span class="number">0</span>, <span class="number">0</span>];
1823 <span class="kw">let </span><span class="kw-2">mut </span>slice2 = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>];
1824
1825 slice1.swap_with_slice(<span class="kw-2">&amp;mut </span>slice2[<span class="number">2</span>..]);
1826
1827 <span class="macro">assert_eq!</span>(slice1, [<span class="number">3</span>, <span class="number">4</span>]);
1828 <span class="macro">assert_eq!</span>(slice2, [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">0</span>]);</code></pre></div>
1829 <p>Rust enforces that there can only be one mutable reference to a
1830 particular piece of data in a particular scope. Because of this,
1831 attempting to use <code>swap_with_slice</code> on a single slice will result in
1832 a compile failure:</p>
1833
1834 <div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
1835 slice[..<span class="number">2</span>].swap_with_slice(<span class="kw-2">&amp;mut </span>slice[<span class="number">3</span>..]); <span class="comment">// compile fail!</span></code></pre></div>
1836 <p>To work around this, we can use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.split_at_mut" title="method slice::split_at_mut"><code>split_at_mut</code></a> to create two distinct
1837 mutable sub-slices from a slice:</p>
1838
1839 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>slice = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>];
1840
1841 {
1842 <span class="kw">let </span>(left, right) = slice.split_at_mut(<span class="number">2</span>);
1843 left.swap_with_slice(<span class="kw-2">&amp;mut </span>right[<span class="number">1</span>..]);
1844 }
1845
1846 <span class="macro">assert_eq!</span>(slice, [<span class="number">4</span>, <span class="number">5</span>, <span class="number">3</span>, <span class="number">1</span>, <span class="number">2</span>]);</code></pre></div>
1847 </div></details><details class="toggle method-toggle" open><summary><section id="method.align_to" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3827">source</a></span><h4 class="code-header">pub unsafe fn <a href="#method.align_to" class="fn">align_to</a>&lt;U&gt;(&amp;self) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[U]</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Transmute the slice to a slice of another type, ensuring alignment of the types is
1848 maintained.</p>
1849 <p>This method splits the slice into three distinct slices: prefix, correctly aligned middle
1850 slice of a new type, and the suffix slice. The middle part will be as big as possible under
1851 the given alignment constraint and element size.</p>
1852 <p>This method has no purpose when either input element <code>T</code> or output element <code>U</code> are
1853 zero-sized and will return the original slice without splitting anything.</p>
1854 <h5 id="safety-7"><a class="doc-anchor" href="#safety-7">§</a>Safety</h5>
1855 <p>This method is essentially a <code>transmute</code> with respect to the elements in the returned
1856 middle slice, so all the usual caveats pertaining to <code>transmute::&lt;T, U&gt;</code> also apply here.</p>
1857 <h5 id="examples-96"><a class="doc-anchor" href="#examples-96">§</a>Examples</h5>
1858 <p>Basic usage:</p>
1859
1860 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">unsafe </span>{
1861 <span class="kw">let </span>bytes: [u8; <span class="number">7</span>] = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>];
1862 <span class="kw">let </span>(prefix, shorts, suffix) = bytes.align_to::&lt;u16&gt;();
1863 <span class="comment">// less_efficient_algorithm_for_bytes(prefix);
1864 // more_efficient_algorithm_for_aligned_shorts(shorts);
1865 // less_efficient_algorithm_for_bytes(suffix);
1866 </span>}</code></pre></div>
1867 </div></details><details class="toggle method-toggle" open><summary><section id="method.align_to_mut" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3892">source</a></span><h4 class="code-header">pub unsafe fn <a href="#method.align_to_mut" class="fn">align_to_mut</a>&lt;U&gt;(&amp;mut self) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[U]</a>, &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)</h4></section></summary><div class="docblock"><p>Transmute the mutable slice to a mutable slice of another type, ensuring alignment of the
1868 types is maintained.</p>
1869 <p>This method splits the slice into three distinct slices: prefix, correctly aligned middle
1870 slice of a new type, and the suffix slice. The middle part will be as big as possible under
1871 the given alignment constraint and element size.</p>
1872 <p>This method has no purpose when either input element <code>T</code> or output element <code>U</code> are
1873 zero-sized and will return the original slice without splitting anything.</p>
1874 <h5 id="safety-8"><a class="doc-anchor" href="#safety-8">§</a>Safety</h5>
1875 <p>This method is essentially a <code>transmute</code> with respect to the elements in the returned
1876 middle slice, so all the usual caveats pertaining to <code>transmute::&lt;T, U&gt;</code> also apply here.</p>
1877 <h5 id="examples-97"><a class="doc-anchor" href="#examples-97">§</a>Examples</h5>
1878 <p>Basic usage:</p>
1879
1880 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">unsafe </span>{
1881 <span class="kw">let </span><span class="kw-2">mut </span>bytes: [u8; <span class="number">7</span>] = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>];
1882 <span class="kw">let </span>(prefix, shorts, suffix) = bytes.align_to_mut::&lt;u16&gt;();
1883 <span class="comment">// less_efficient_algorithm_for_bytes(prefix);
1884 // more_efficient_algorithm_for_aligned_shorts(shorts);
1885 // less_efficient_algorithm_for_bytes(suffix);
1886 </span>}</code></pre></div>
1887 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_simd" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#3992-3996">source</a><h4 class="code-header">pub fn <a href="#method.as_simd" class="fn">as_simd</a>&lt;const LANES: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(&amp;self) -&gt; (&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;[<a class="struct" href="https://doc.rust-lang.org/nightly/core/core_simd/vector/struct.Simd.html" title="struct core::core_simd::vector::Simd">Simd</a>&lt;T, LANES&gt;], &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1888 <a class="struct" href="https://doc.rust-lang.org/nightly/core/core_simd/vector/struct.Simd.html" title="struct core::core_simd::vector::Simd">Simd</a>&lt;T, LANES&gt;: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; LANES]</a>&gt;,
1889 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/core_simd/vector/trait.SimdElement.html" title="trait core::core_simd::vector::SimdElement">SimdElement</a>,
1890 <a class="struct" href="https://doc.rust-lang.org/nightly/core/core_simd/lane_count/struct.LaneCount.html" title="struct core::core_simd::lane_count::LaneCount">LaneCount</a>&lt;LANES&gt;: <a class="trait" href="https://doc.rust-lang.org/nightly/core/core_simd/lane_count/trait.SupportedLaneCount.html" title="trait core::core_simd::lane_count::SupportedLaneCount">SupportedLaneCount</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>portable_simd</code>)</span></div></span></summary><div class="docblock"><p>Split a slice into a prefix, a middle of aligned SIMD types, and a suffix.</p>
1891 <p>This is a safe wrapper around <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.align_to" title="method slice::align_to"><code>slice::align_to</code></a>, so has the same weak
1892 postconditions as that method. You’re only assured that
1893 <code>self.len() == prefix.len() + middle.len() * LANES + suffix.len()</code>.</p>
1894 <p>Notably, all of the following are possible:</p>
1895 <ul>
1896 <li><code>prefix.len() &gt;= LANES</code>.</li>
1897 <li><code>middle.is_empty()</code> despite <code>self.len() &gt;= 3 * LANES</code>.</li>
1898 <li><code>suffix.len() &gt;= LANES</code>.</li>
1899 </ul>
1900 <p>That said, this is a safe method, so if you’re only writing safe code,
1901 then this can at most cause incorrect logic, not unsoundness.</p>
1902 <h5 id="panics-30"><a class="doc-anchor" href="#panics-30">§</a>Panics</h5>
1903 <p>This will panic if the size of the SIMD type is different from
1904 <code>LANES</code> times that of the scalar.</p>
1905 <p>At the time of writing, the trait restrictions on <code>Simd&lt;T, LANES&gt;</code> keeps
1906 that from ever happening, as only power-of-two numbers of lanes are
1907 supported. It’s possible that, in the future, those restrictions might
1908 be lifted in a way that would make it possible to see panics from this
1909 method for something like <code>LANES == 3</code>.</p>
1910 <h5 id="examples-98"><a class="doc-anchor" href="#examples-98">§</a>Examples</h5>
1911 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(portable_simd)]
1912 </span><span class="kw">use </span>core::simd::prelude::<span class="kw-2">*</span>;
1913
1914 <span class="kw">let </span>short = <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
1915 <span class="kw">let </span>(prefix, middle, suffix) = short.as_simd::&lt;<span class="number">4</span>&gt;();
1916 <span class="macro">assert_eq!</span>(middle, []); <span class="comment">// Not enough elements for anything in the middle
1917
1918 // They might be split in any possible way between prefix and suffix
1919 </span><span class="kw">let </span>it = prefix.iter().chain(suffix).copied();
1920 <span class="macro">assert_eq!</span>(it.collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;(), <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
1921
1922 <span class="kw">fn </span>basic_simd_sum(x: <span class="kw-2">&amp;</span>[f32]) -&gt; f32 {
1923 <span class="kw">use </span>std::ops::Add;
1924 <span class="kw">let </span>(prefix, middle, suffix) = x.as_simd();
1925 <span class="kw">let </span>sums = f32x4::from_array([
1926 prefix.iter().copied().sum(),
1927 <span class="number">0.0</span>,
1928 <span class="number">0.0</span>,
1929 suffix.iter().copied().sum(),
1930 ]);
1931 <span class="kw">let </span>sums = middle.iter().copied().fold(sums, f32x4::add);
1932 sums.reduce_sum()
1933 }
1934
1935 <span class="kw">let </span>numbers: Vec&lt;f32&gt; = (<span class="number">1</span>..<span class="number">101</span>).map(|x| x <span class="kw">as _</span>).collect();
1936 <span class="macro">assert_eq!</span>(basic_simd_sum(<span class="kw-2">&amp;</span>numbers[<span class="number">1</span>..<span class="number">99</span>]), <span class="number">4949.0</span>);</code></pre></div>
1937 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_simd_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4037-4041">source</a><h4 class="code-header">pub fn <a href="#method.as_simd_mut" class="fn">as_simd_mut</a>&lt;const LANES: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(
1938 &amp;mut self
1939 ) -&gt; (&amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, &amp;mut [<a class="struct" href="https://doc.rust-lang.org/nightly/core/core_simd/vector/struct.Simd.html" title="struct core::core_simd::vector::Simd">Simd</a>&lt;T, LANES&gt;], &amp;mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>)<div class="where">where
1940 <a class="struct" href="https://doc.rust-lang.org/nightly/core/core_simd/vector/struct.Simd.html" title="struct core::core_simd::vector::Simd">Simd</a>&lt;T, LANES&gt;: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[T; LANES]</a>&gt;,
1941 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/core_simd/vector/trait.SimdElement.html" title="trait core::core_simd::vector::SimdElement">SimdElement</a>,
1942 <a class="struct" href="https://doc.rust-lang.org/nightly/core/core_simd/lane_count/struct.LaneCount.html" title="struct core::core_simd::lane_count::LaneCount">LaneCount</a>&lt;LANES&gt;: <a class="trait" href="https://doc.rust-lang.org/nightly/core/core_simd/lane_count/trait.SupportedLaneCount.html" title="trait core::core_simd::lane_count::SupportedLaneCount">SupportedLaneCount</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>portable_simd</code>)</span></div></span></summary><div class="docblock"><p>Split a mutable slice into a mutable prefix, a middle of aligned SIMD types,
1943 and a mutable suffix.</p>
1944 <p>This is a safe wrapper around <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.align_to_mut" title="method slice::align_to_mut"><code>slice::align_to_mut</code></a>, so has the same weak
1945 postconditions as that method. You’re only assured that
1946 <code>self.len() == prefix.len() + middle.len() * LANES + suffix.len()</code>.</p>
1947 <p>Notably, all of the following are possible:</p>
1948 <ul>
1949 <li><code>prefix.len() &gt;= LANES</code>.</li>
1950 <li><code>middle.is_empty()</code> despite <code>self.len() &gt;= 3 * LANES</code>.</li>
1951 <li><code>suffix.len() &gt;= LANES</code>.</li>
1952 </ul>
1953 <p>That said, this is a safe method, so if you’re only writing safe code,
1954 then this can at most cause incorrect logic, not unsoundness.</p>
1955 <p>This is the mutable version of <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.as_simd" title="method slice::as_simd"><code>slice::as_simd</code></a>; see that for examples.</p>
1956 <h5 id="panics-31"><a class="doc-anchor" href="#panics-31">§</a>Panics</h5>
1957 <p>This will panic if the size of the SIMD type is different from
1958 <code>LANES</code> times that of the scalar.</p>
1959 <p>At the time of writing, the trait restrictions on <code>Simd&lt;T, LANES&gt;</code> keeps
1960 that from ever happening, as only power-of-two numbers of lanes are
1961 supported. It’s possible that, in the future, those restrictions might
1962 be lifted in a way that would make it possible to see panics from this
1963 method for something like <code>LANES == 3</code>.</p>
1964 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4077-4079">source</a><h4 class="code-header">pub fn <a href="#method.is_sorted" class="fn">is_sorted</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
1965 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span></summary><div class="docblock"><p>Checks if the elements of this slice are sorted.</p>
1966 <p>That is, for each element <code>a</code> and its following element <code>b</code>, <code>a &lt;= b</code> must hold. If the
1967 slice yields exactly zero or one element, <code>true</code> is returned.</p>
1968 <p>Note that if <code>Self::Item</code> is only <code>PartialOrd</code>, but not <code>Ord</code>, the above definition
1969 implies that this function returns <code>false</code> if any two consecutive items are not
1970 comparable.</p>
1971 <h5 id="examples-99"><a class="doc-anchor" href="#examples-99">§</a>Examples</h5>
1972 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(is_sorted)]
1973 </span><span class="kw">let </span>empty: [i32; <span class="number">0</span>] = [];
1974
1975 <span class="macro">assert!</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">9</span>].is_sorted());
1976 <span class="macro">assert!</span>(![<span class="number">1</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">4</span>].is_sorted());
1977 <span class="macro">assert!</span>([<span class="number">0</span>].is_sorted());
1978 <span class="macro">assert!</span>(empty.is_sorted());
1979 <span class="macro">assert!</span>(![<span class="number">0.0</span>, <span class="number">1.0</span>, f32::NAN].is_sorted());</code></pre></div>
1980 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted_by" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4106-4108">source</a><h4 class="code-header">pub fn <a href="#method.is_sorted_by" class="fn">is_sorted_by</a>&lt;'a, F&gt;(&amp;'a self, compare: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
1981 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span></summary><div class="docblock"><p>Checks if the elements of this slice are sorted using the given comparator function.</p>
1982 <p>Instead of using <code>PartialOrd::partial_cmp</code>, this function uses the given <code>compare</code>
1983 function to determine whether two elements are to be considered in sorted order.</p>
1984 <h5 id="examples-100"><a class="doc-anchor" href="#examples-100">§</a>Examples</h5>
1985 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(is_sorted)]
1986
1987 </span><span class="macro">assert!</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">9</span>].is_sorted_by(|a, b| a &lt;= b));
1988 <span class="macro">assert!</span>(![<span class="number">1</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">9</span>].is_sorted_by(|a, b| a &lt; b));
1989
1990 <span class="macro">assert!</span>([<span class="number">0</span>].is_sorted_by(|a, b| <span class="bool-val">true</span>));
1991 <span class="macro">assert!</span>([<span class="number">0</span>].is_sorted_by(|a, b| <span class="bool-val">false</span>));
1992
1993 <span class="kw">let </span>empty: [i32; <span class="number">0</span>] = [];
1994 <span class="macro">assert!</span>(empty.is_sorted_by(|a, b| <span class="bool-val">false</span>));
1995 <span class="macro">assert!</span>(empty.is_sorted_by(|a, b| <span class="bool-val">true</span>));</code></pre></div>
1996 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_sorted_by_key" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4132-4135">source</a><h4 class="code-header">pub fn <a href="#method.is_sorted_by_key" class="fn">is_sorted_by_key</a>&lt;'a, F, K&gt;(&amp;'a self, f: F) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><div class="where">where
1997 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>) -&gt; K,
1998 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>is_sorted</code>)</span></div></span></summary><div class="docblock"><p>Checks if the elements of this slice are sorted using the given key extraction function.</p>
1999 <p>Instead of comparing the slice’s elements directly, this function compares the keys of the
2000 elements, as determined by <code>f</code>. Apart from that, it’s equivalent to <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_sorted" title="method slice::is_sorted"><code>is_sorted</code></a>; see its
2001 documentation for more information.</p>
2002 <h5 id="examples-101"><a class="doc-anchor" href="#examples-101">§</a>Examples</h5>
2003 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(is_sorted)]
2004
2005 </span><span class="macro">assert!</span>([<span class="string">"c"</span>, <span class="string">"bb"</span>, <span class="string">"aaa"</span>].is_sorted_by_key(|s| s.len()));
2006 <span class="macro">assert!</span>(![-<span class="number">2i32</span>, -<span class="number">1</span>, <span class="number">0</span>, <span class="number">3</span>].is_sorted_by_key(|n| n.abs()));</code></pre></div>
2007 </div></details><details class="toggle method-toggle" open><summary><section id="method.partition_point" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.52.0">1.52.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4191-4193">source</a></span><h4 class="code-header">pub fn <a href="#method.partition_point" class="fn">partition_point</a>&lt;P&gt;(&amp;self, pred: P) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><div class="where">where
2008 P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Returns the index of the partition point according to the given predicate
2009 (the index of the first element of the second partition).</p>
2010 <p>The slice is assumed to be partitioned according to the given predicate.
2011 This means that all elements for which the predicate returns true are at the start of the slice
2012 and all elements for which the predicate returns false are at the end.
2013 For example, <code>[7, 15, 3, 5, 4, 12, 6]</code> is partitioned under the predicate <code>x % 2 != 0</code>
2014 (all odd numbers are at the start, all even at the end).</p>
2015 <p>If this slice is not partitioned, the returned result is unspecified and meaningless,
2016 as this method performs a kind of binary search.</p>
2017 <p>See also <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search" title="method slice::binary_search"><code>binary_search</code></a>, <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search_by" title="method slice::binary_search_by"><code>binary_search_by</code></a>, and <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.binary_search_by_key" title="method slice::binary_search_by_key"><code>binary_search_by_key</code></a>.</p>
2018 <h5 id="examples-102"><a class="doc-anchor" href="#examples-102">§</a>Examples</h5>
2019 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>v = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">6</span>, <span class="number">7</span>];
2020 <span class="kw">let </span>i = v.partition_point(|<span class="kw-2">&amp;</span>x| x &lt; <span class="number">5</span>);
2021
2022 <span class="macro">assert_eq!</span>(i, <span class="number">4</span>);
2023 <span class="macro">assert!</span>(v[..i].iter().all(|<span class="kw-2">&amp;</span>x| x &lt; <span class="number">5</span>));
2024 <span class="macro">assert!</span>(v[i..].iter().all(|<span class="kw-2">&amp;</span>x| !(x &lt; <span class="number">5</span>)));</code></pre></div>
2025 <p>If all elements of the slice match the predicate, including if the slice
2026 is empty, then the length of the slice will be returned:</p>
2027
2028 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = [<span class="number">2</span>, <span class="number">4</span>, <span class="number">8</span>];
2029 <span class="macro">assert_eq!</span>(a.partition_point(|x| x &lt; <span class="kw-2">&amp;</span><span class="number">100</span>), a.len());
2030 <span class="kw">let </span>a: [i32; <span class="number">0</span>] = [];
2031 <span class="macro">assert_eq!</span>(a.partition_point(|x| x &lt; <span class="kw-2">&amp;</span><span class="number">100</span>), <span class="number">0</span>);</code></pre></div>
2032 <p>If you want to insert an item to a sorted vector, while maintaining
2033 sort order:</p>
2034
2035 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>s = <span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">55</span>];
2036 <span class="kw">let </span>num = <span class="number">42</span>;
2037 <span class="kw">let </span>idx = s.partition_point(|<span class="kw-2">&amp;</span>x| x &lt;= num);
2038 s.insert(idx, num);
2039 <span class="macro">assert_eq!</span>(s, [<span class="number">0</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">5</span>, <span class="number">8</span>, <span class="number">13</span>, <span class="number">21</span>, <span class="number">34</span>, <span class="number">42</span>, <span class="number">55</span>]);</code></pre></div>
2040 </div></details><details class="toggle method-toggle" open><summary><section id="method.take" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4249">source</a><h4 class="code-header">pub fn <a href="#method.take" class="fn">take</a>&lt;'a, R&gt;(self: &amp;mut &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, range: R) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;<div class="where">where
2041 R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.OneSidedRange.html" title="trait core::ops::range::OneSidedRange">OneSidedRange</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_take</code>)</span></div></span></summary><div class="docblock"><p>Removes the subslice corresponding to the given range
2042 and returns a reference to it.</p>
2043 <p>Returns <code>None</code> and does not modify the slice if the given
2044 range is out of bounds.</p>
2045 <p>Note that this method only accepts one-sided ranges such as
2046 <code>2..</code> or <code>..6</code>, but not <code>2..6</code>.</p>
2047 <h5 id="examples-103"><a class="doc-anchor" href="#examples-103">§</a>Examples</h5>
2048 <p>Taking the first three elements of a slice:</p>
2049
2050 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2051
2052 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;</span>[<span class="kw">_</span>] = <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2053 <span class="kw">let </span><span class="kw-2">mut </span>first_three = slice.take(..<span class="number">3</span>).unwrap();
2054
2055 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'d'</span>]);
2056 <span class="macro">assert_eq!</span>(first_three, <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>]);</code></pre></div>
2057 <p>Taking the last two elements of a slice:</p>
2058
2059 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2060
2061 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;</span>[<span class="kw">_</span>] = <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2062 <span class="kw">let </span><span class="kw-2">mut </span>tail = slice.take(<span class="number">2</span>..).unwrap();
2063
2064 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>]);
2065 <span class="macro">assert_eq!</span>(tail, <span class="kw-2">&amp;</span>[<span class="string">'c'</span>, <span class="string">'d'</span>]);</code></pre></div>
2066 <p>Getting <code>None</code> when <code>range</code> is out of bounds:</p>
2067
2068 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2069
2070 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;</span>[<span class="kw">_</span>] = <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2071
2072 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, slice.take(<span class="number">5</span>..));
2073 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, slice.take(..<span class="number">5</span>));
2074 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, slice.take(..=<span class="number">4</span>));
2075 <span class="kw">let </span>expected: <span class="kw-2">&amp;</span>[char] = <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2076 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(expected), slice.take(..<span class="number">4</span>));</code></pre></div>
2077 </div></details><details class="toggle method-toggle" open><summary><section id="method.take_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4318-4321">source</a><h4 class="code-header">pub fn <a href="#method.take_mut" class="fn">take_mut</a>&lt;'a, R&gt;(self: &amp;mut &amp;'a mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>, range: R) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>&gt;<div class="where">where
2078 R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/range/trait.OneSidedRange.html" title="trait core::ops::range::OneSidedRange">OneSidedRange</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_take</code>)</span></div></span></summary><div class="docblock"><p>Removes the subslice corresponding to the given range
2079 and returns a mutable reference to it.</p>
2080 <p>Returns <code>None</code> and does not modify the slice if the given
2081 range is out of bounds.</p>
2082 <p>Note that this method only accepts one-sided ranges such as
2083 <code>2..</code> or <code>..6</code>, but not <code>2..6</code>.</p>
2084 <h5 id="examples-104"><a class="doc-anchor" href="#examples-104">§</a>Examples</h5>
2085 <p>Taking the first three elements of a slice:</p>
2086
2087 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2088
2089 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;mut </span>[<span class="kw">_</span>] = <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2090 <span class="kw">let </span><span class="kw-2">mut </span>first_three = slice.take_mut(..<span class="number">3</span>).unwrap();
2091
2092 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;mut </span>[<span class="string">'d'</span>]);
2093 <span class="macro">assert_eq!</span>(first_three, <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>]);</code></pre></div>
2094 <p>Taking the last two elements of a slice:</p>
2095
2096 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2097
2098 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;mut </span>[<span class="kw">_</span>] = <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2099 <span class="kw">let </span><span class="kw-2">mut </span>tail = slice.take_mut(<span class="number">2</span>..).unwrap();
2100
2101 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>]);
2102 <span class="macro">assert_eq!</span>(tail, <span class="kw-2">&amp;mut </span>[<span class="string">'c'</span>, <span class="string">'d'</span>]);</code></pre></div>
2103 <p>Getting <code>None</code> when <code>range</code> is out of bounds:</p>
2104
2105 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2106
2107 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;mut </span>[<span class="kw">_</span>] = <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2108
2109 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, slice.take_mut(<span class="number">5</span>..));
2110 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, slice.take_mut(..<span class="number">5</span>));
2111 <span class="macro">assert_eq!</span>(<span class="prelude-val">None</span>, slice.take_mut(..=<span class="number">4</span>));
2112 <span class="kw">let </span>expected: <span class="kw-2">&amp;mut </span>[<span class="kw">_</span>] = <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>, <span class="string">'d'</span>];
2113 <span class="macro">assert_eq!</span>(<span class="prelude-val">Some</span>(expected), slice.take_mut(..<span class="number">4</span>));</code></pre></div>
2114 </div></details><details class="toggle method-toggle" open><summary><section id="method.take_first" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4357">source</a><h4 class="code-header">pub fn <a href="#method.take_first" class="fn">take_first</a>&lt;'a&gt;(self: &amp;mut &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>&gt;</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_take</code>)</span></div></span></summary><div class="docblock"><p>Removes the first element of the slice and returns a reference
2115 to it.</p>
2116 <p>Returns <code>None</code> if the slice is empty.</p>
2117 <h5 id="examples-105"><a class="doc-anchor" href="#examples-105">§</a>Examples</h5>
2118 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2119
2120 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;</span>[<span class="kw">_</span>] = <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>];
2121 <span class="kw">let </span>first = slice.take_first().unwrap();
2122
2123 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'b'</span>, <span class="string">'c'</span>]);
2124 <span class="macro">assert_eq!</span>(first, <span class="kw-2">&amp;</span><span class="string">'a'</span>);</code></pre></div>
2125 </div></details><details class="toggle method-toggle" open><summary><section id="method.take_first_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4382">source</a><h4 class="code-header">pub fn <a href="#method.take_first_mut" class="fn">take_first_mut</a>&lt;'a&gt;(self: &amp;mut &amp;'a mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut T</a>&gt;</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_take</code>)</span></div></span></summary><div class="docblock"><p>Removes the first element of the slice and returns a mutable
2126 reference to it.</p>
2127 <p>Returns <code>None</code> if the slice is empty.</p>
2128 <h5 id="examples-106"><a class="doc-anchor" href="#examples-106">§</a>Examples</h5>
2129 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2130
2131 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;mut </span>[<span class="kw">_</span>] = <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>];
2132 <span class="kw">let </span>first = slice.take_first_mut().unwrap();
2133 <span class="kw-2">*</span>first = <span class="string">'d'</span>;
2134
2135 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'b'</span>, <span class="string">'c'</span>]);
2136 <span class="macro">assert_eq!</span>(first, <span class="kw-2">&amp;</span><span class="string">'d'</span>);</code></pre></div>
2137 </div></details><details class="toggle method-toggle" open><summary><section id="method.take_last" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4406">source</a><h4 class="code-header">pub fn <a href="#method.take_last" class="fn">take_last</a>&lt;'a&gt;(self: &amp;mut &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a T</a>&gt;</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_take</code>)</span></div></span></summary><div class="docblock"><p>Removes the last element of the slice and returns a reference
2138 to it.</p>
2139 <p>Returns <code>None</code> if the slice is empty.</p>
2140 <h5 id="examples-107"><a class="doc-anchor" href="#examples-107">§</a>Examples</h5>
2141 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2142
2143 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;</span>[<span class="kw">_</span>] = <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>];
2144 <span class="kw">let </span>last = slice.take_last().unwrap();
2145
2146 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>]);
2147 <span class="macro">assert_eq!</span>(last, <span class="kw-2">&amp;</span><span class="string">'c'</span>);</code></pre></div>
2148 </div></details><details class="toggle method-toggle" open><summary><section id="method.take_last_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4431">source</a><h4 class="code-header">pub fn <a href="#method.take_last_mut" class="fn">take_last_mut</a>&lt;'a&gt;(self: &amp;mut &amp;'a mut <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;'a mut T</a>&gt;</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>slice_take</code>)</span></div></span></summary><div class="docblock"><p>Removes the last element of the slice and returns a mutable
2149 reference to it.</p>
2150 <p>Returns <code>None</code> if the slice is empty.</p>
2151 <h5 id="examples-108"><a class="doc-anchor" href="#examples-108">§</a>Examples</h5>
2152 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(slice_take)]
2153
2154 </span><span class="kw">let </span><span class="kw-2">mut </span>slice: <span class="kw-2">&amp;mut </span>[<span class="kw">_</span>] = <span class="kw-2">&amp;mut </span>[<span class="string">'a'</span>, <span class="string">'b'</span>, <span class="string">'c'</span>];
2155 <span class="kw">let </span>last = slice.take_last_mut().unwrap();
2156 <span class="kw-2">*</span>last = <span class="string">'d'</span>;
2157
2158 <span class="macro">assert_eq!</span>(slice, <span class="kw-2">&amp;</span>[<span class="string">'a'</span>, <span class="string">'b'</span>]);
2159 <span class="macro">assert_eq!</span>(last, <span class="kw-2">&amp;</span><span class="string">'d'</span>);</code></pre></div>
2160 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_many_unchecked_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4465-4468">source</a><h4 class="code-header">pub unsafe fn <a href="#method.get_many_unchecked_mut" class="fn">get_many_unchecked_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(
2161 &amp;mut self,
2162 indices: [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>]
2163 ) -&gt; [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>]</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>get_many_mut</code>)</span></div></span></summary><div class="docblock"><p>Returns mutable references to many indices at once, without doing any checks.</p>
2164 <p>For a safe alternative see <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.get_many_mut" title="method slice::get_many_mut"><code>get_many_mut</code></a>.</p>
2165 <h5 id="safety-9"><a class="doc-anchor" href="#safety-9">§</a>Safety</h5>
2166 <p>Calling this method with overlapping or out-of-bounds indices is <em><a href="https://doc.rust-lang.org/reference/behavior-considered-undefined.html">undefined behavior</a></em>
2167 even if the resulting references are not used.</p>
2168 <h5 id="examples-109"><a class="doc-anchor" href="#examples-109">§</a>Examples</h5>
2169 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(get_many_mut)]
2170
2171 </span><span class="kw">let </span>x = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>];
2172
2173 <span class="kw">unsafe </span>{
2174 <span class="kw">let </span>[a, b] = x.get_many_unchecked_mut([<span class="number">0</span>, <span class="number">2</span>]);
2175 <span class="kw-2">*</span>a <span class="kw-2">*</span>= <span class="number">10</span>;
2176 <span class="kw-2">*</span>b <span class="kw-2">*</span>= <span class="number">100</span>;
2177 }
2178 <span class="macro">assert_eq!</span>(x, <span class="kw-2">&amp;</span>[<span class="number">10</span>, <span class="number">2</span>, <span class="number">400</span>]);</code></pre></div>
2179 </div></details><details class="toggle method-toggle" open><summary><section id="method.get_many_mut" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/mod.rs.html#4507-4510">source</a><h4 class="code-header">pub fn <a href="#method.get_many_mut" class="fn">get_many_mut</a>&lt;const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;(
2180 &amp;mut self,
2181 indices: [<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>]
2182 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">N</a>], <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/struct.GetManyMutError.html" title="struct core::slice::GetManyMutError">GetManyMutError</a>&lt;N&gt;&gt;</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>get_many_mut</code>)</span></div></span></summary><div class="docblock"><p>Returns mutable references to many indices at once.</p>
2183 <p>Returns an error if any index is out-of-bounds, or if the same index was
2184 passed more than once.</p>
2185 <h5 id="examples-110"><a class="doc-anchor" href="#examples-110">§</a>Examples</h5>
2186 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(get_many_mut)]
2187
2188 </span><span class="kw">let </span>v = <span class="kw-2">&amp;mut </span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
2189 <span class="kw">if let </span><span class="prelude-val">Ok</span>([a, b]) = v.get_many_mut([<span class="number">0</span>, <span class="number">2</span>]) {
2190 <span class="kw-2">*</span>a = <span class="number">413</span>;
2191 <span class="kw-2">*</span>b = <span class="number">612</span>;
2192 }
2193 <span class="macro">assert_eq!</span>(v, <span class="kw-2">&amp;</span>[<span class="number">413</span>, <span class="number">2</span>, <span class="number">612</span>]);</code></pre></div>
2194 </div></details><details class="toggle method-toggle" open><summary><section id="method.is_ascii" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.23.0">1.23.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#17">source</a></span><h4 class="code-header">pub fn <a href="#method.is_ascii" class="fn">is_ascii</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Checks if all bytes in this slice are within the ASCII range.</p>
2195 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_ascii" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#26">source</a><h4 class="code-header">pub fn <a href="#method.as_ascii" class="fn">as_ascii</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;[<a class="enum" href="https://doc.rust-lang.org/nightly/core/ascii/ascii_char/enum.AsciiChar.html" title="enum core::ascii::ascii_char::AsciiChar">AsciiChar</a>]&gt;</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>ascii_char</code>)</span></div></span></summary><div class="docblock"><p>If this slice <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.is_ascii" title="method slice::is_ascii"><code>is_ascii</code></a>, returns it as a slice of
2196 <a href="https://doc.rust-lang.org/nightly/core/ascii/ascii_char/enum.AsciiChar.html" title="enum core::ascii::ascii_char::AsciiChar">ASCII characters</a>, otherwise returns <code>None</code>.</p>
2197 </div></details><details class="toggle method-toggle" open><summary><section id="method.as_ascii_unchecked" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#44">source</a><h4 class="code-header">pub unsafe fn <a href="#method.as_ascii_unchecked" class="fn">as_ascii_unchecked</a>(&amp;self) -&gt; &amp;[<a class="enum" href="https://doc.rust-lang.org/nightly/core/ascii/ascii_char/enum.AsciiChar.html" title="enum core::ascii::ascii_char::AsciiChar">AsciiChar</a>]</h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>ascii_char</code>)</span></div></span></summary><div class="docblock"><p>Converts this slice of bytes into a slice of ASCII characters,
2198 without checking whether they’re valid.</p>
2199 <h5 id="safety-10"><a class="doc-anchor" href="#safety-10">§</a>Safety</h5>
2200 <p>Every byte in the slice must be in <code>0..=127</code>, or else this is UB.</p>
2201 </div></details><details class="toggle method-toggle" open><summary><section id="method.eq_ignore_ascii_case" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.23.0">1.23.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#58">source</a></span><h4 class="code-header">pub fn <a href="#method.eq_ignore_ascii_case" class="fn">eq_ignore_ascii_case</a>(&amp;self, other: &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>]) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Checks that two slices are an ASCII case-insensitive match.</p>
2202 <p>Same as <code>to_ascii_lowercase(a) == to_ascii_lowercase(b)</code>,
2203 but without allocating and copying temporaries.</p>
2204 </div></details><details class="toggle method-toggle" open><summary><section id="method.make_ascii_uppercase" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.23.0">1.23.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#73">source</a></span><h4 class="code-header">pub fn <a href="#method.make_ascii_uppercase" class="fn">make_ascii_uppercase</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Converts this slice to its ASCII upper case equivalent in-place.</p>
2205 <p>ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’,
2206 but non-ASCII letters are unchanged.</p>
2207 <p>To return a new uppercased value without modifying the existing one, use
2208 <a href="#method.to_ascii_uppercase"><code>to_ascii_uppercase</code></a>.</p>
2209 </div></details><details class="toggle method-toggle" open><summary><section id="method.make_ascii_lowercase" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.23.0">1.23.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#90">source</a></span><h4 class="code-header">pub fn <a href="#method.make_ascii_lowercase" class="fn">make_ascii_lowercase</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Converts this slice to its ASCII lower case equivalent in-place.</p>
2210 <p>ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’,
2211 but non-ASCII letters are unchanged.</p>
2212 <p>To return a new lowercased value without modifying the existing one, use
2213 <a href="#method.to_ascii_lowercase"><code>to_ascii_lowercase</code></a>.</p>
2214 </div></details><details class="toggle method-toggle" open><summary><section id="method.escape_ascii" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.60.0">1.60.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#110">source</a></span><h4 class="code-header">pub fn <a href="#method.escape_ascii" class="fn">escape_ascii</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/ascii/struct.EscapeAscii.html" title="struct core::slice::ascii::EscapeAscii">EscapeAscii</a>&lt;'_&gt; <a href="#" class="tooltip" data-notable-ty="EscapeAscii&lt;&#39;_&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns an iterator that produces an escaped version of this slice,
2215 treating it as an ASCII string.</p>
2216 <h5 id="examples-111"><a class="doc-anchor" href="#examples-111">§</a>Examples</h5>
2217 <div class="example-wrap"><pre class="rust rust-example-rendered"><code>
2218 <span class="kw">let </span>s = <span class="string">b"0\t\r\n'\"\\\x9d"</span>;
2219 <span class="kw">let </span>escaped = s.escape_ascii().to_string();
2220 <span class="macro">assert_eq!</span>(escaped, <span class="string">"0\\t\\r\\n\\'\\\"\\\\\\x9d"</span>);</code></pre></div>
2221 </div></details><details class="toggle method-toggle" open><summary><section id="method.trim_ascii_start" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.80.0">1.80.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#129">source</a></span><h4 class="code-header">pub fn <a href="#method.trim_ascii_start" class="fn">trim_ascii_start</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns a byte slice with leading ASCII whitespace bytes removed.</p>
2222 <p>‘Whitespace’ refers to the definition used by
2223 <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html#method.is_ascii_whitespace" title="method u8::is_ascii_whitespace"><code>u8::is_ascii_whitespace</code></a>.</p>
2224 <h5 id="examples-112"><a class="doc-anchor" href="#examples-112">§</a>Examples</h5>
2225 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>(<span class="string">b" \t hello world\n"</span>.trim_ascii_start(), <span class="string">b"hello world\n"</span>);
2226 <span class="macro">assert_eq!</span>(<span class="string">b" "</span>.trim_ascii_start(), <span class="string">b""</span>);
2227 <span class="macro">assert_eq!</span>(<span class="string">b""</span>.trim_ascii_start(), <span class="string">b""</span>);</code></pre></div>
2228 </div></details><details class="toggle method-toggle" open><summary><section id="method.trim_ascii_end" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.80.0">1.80.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#158">source</a></span><h4 class="code-header">pub fn <a href="#method.trim_ascii_end" class="fn">trim_ascii_end</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns a byte slice with trailing ASCII whitespace bytes removed.</p>
2229 <p>‘Whitespace’ refers to the definition used by
2230 <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html#method.is_ascii_whitespace" title="method u8::is_ascii_whitespace"><code>u8::is_ascii_whitespace</code></a>.</p>
2231 <h5 id="examples-113"><a class="doc-anchor" href="#examples-113">§</a>Examples</h5>
2232 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>(<span class="string">b"\r hello world\n "</span>.trim_ascii_end(), <span class="string">b"\r hello world"</span>);
2233 <span class="macro">assert_eq!</span>(<span class="string">b" "</span>.trim_ascii_end(), <span class="string">b""</span>);
2234 <span class="macro">assert_eq!</span>(<span class="string">b""</span>.trim_ascii_end(), <span class="string">b""</span>);</code></pre></div>
2235 </div></details><details class="toggle method-toggle" open><summary><section id="method.trim_ascii" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.80.0">1.80.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/slice/ascii.rs.html#188">source</a></span><h4 class="code-header">pub fn <a href="#method.trim_ascii" class="fn">trim_ascii</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns a byte slice with leading and trailing ASCII whitespace bytes
2236 removed.</p>
2237 <p>‘Whitespace’ refers to the definition used by
2238 <a href="https://doc.rust-lang.org/nightly/std/primitive.u8.html#method.is_ascii_whitespace" title="method u8::is_ascii_whitespace"><code>u8::is_ascii_whitespace</code></a>.</p>
2239 <h5 id="examples-114"><a class="doc-anchor" href="#examples-114">§</a>Examples</h5>
2240 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>(<span class="string">b"\r hello world\n "</span>.trim_ascii(), <span class="string">b"hello world"</span>);
2241 <span class="macro">assert_eq!</span>(<span class="string">b" "</span>.trim_ascii(), <span class="string">b""</span>);
2242 <span class="macro">assert_eq!</span>(<span class="string">b""</span>.trim_ascii(), <span class="string">b""</span>);</code></pre></div>
2243 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_ascii_uppercase" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.23.0">1.23.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#621">source</a></span><h4 class="code-header">pub fn <a href="#method.to_ascii_uppercase" class="fn">to_ascii_uppercase</a>(&amp;self) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt; <a href="#" class="tooltip" data-notable-ty="Vec&lt;u8&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns a vector containing a copy of this slice where each byte
2244 is mapped to its ASCII upper case equivalent.</p>
2245 <p>ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’,
2246 but non-ASCII letters are unchanged.</p>
2247 <p>To uppercase the value in-place, use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.make_ascii_uppercase" title="method slice::make_ascii_uppercase"><code>make_ascii_uppercase</code></a>.</p>
2248 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_ascii_lowercase" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.23.0">1.23.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#642">source</a></span><h4 class="code-header">pub fn <a href="#method.to_ascii_lowercase" class="fn">to_ascii_lowercase</a>(&amp;self) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>&gt; <a href="#" class="tooltip" data-notable-ty="Vec&lt;u8&gt;">ⓘ</a></h4></section></summary><div class="docblock"><p>Returns a vector containing a copy of this slice where each byte
2249 is mapped to its ASCII lower case equivalent.</p>
2250 <p>ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’,
2251 but non-ASCII letters are unchanged.</p>
2252 <p>To lowercase the value in-place, use <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.make_ascii_lowercase" title="method slice::make_ascii_lowercase"><code>make_ascii_lowercase</code></a>.</p>
2253 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#207-209">source</a></span><h4 class="code-header">pub fn <a href="#method.sort" class="fn">sort</a>(&amp;mut self)<div class="where">where
2254 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice.</p>
2255 <p>This sort is stable (i.e., does not reorder equal elements) and <em>O</em>(<em>n</em> * log(<em>n</em>)) worst-case.</p>
2256 <p>When applicable, unstable sorting is preferred because it is generally faster than stable
2257 sorting and it doesn’t allocate auxiliary memory.
2258 See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable" title="method slice::sort_unstable"><code>sort_unstable</code></a>.</p>
2259 <h5 id="current-implementation-8"><a class="doc-anchor" href="#current-implementation-8">§</a>Current implementation</h5>
2260 <p>The current algorithm is an adaptive, iterative merge sort inspired by
2261 <a href="https://en.wikipedia.org/wiki/Timsort">timsort</a>.
2262 It is designed to be very fast in cases where the slice is nearly sorted, or consists of
2263 two or more sorted sequences concatenated one after another.</p>
2264 <p>Also, it allocates temporary storage half the size of <code>self</code>, but for short slices a
2265 non-allocating insertion sort is used instead.</p>
2266 <h5 id="examples-115"><a class="doc-anchor" href="#examples-115">§</a>Examples</h5>
2267 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">3</span>, <span class="number">2</span>];
2268
2269 v.sort();
2270 <span class="macro">assert!</span>(v == [-<span class="number">5</span>, -<span class="number">3</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">4</span>]);</code></pre></div>
2271 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_by" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#263-265">source</a></span><h4 class="code-header">pub fn <a href="#method.sort_by" class="fn">sort_by</a>&lt;F&gt;(&amp;mut self, compare: F)<div class="where">where
2272 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice with a comparator function.</p>
2273 <p>This sort is stable (i.e., does not reorder equal elements) and <em>O</em>(<em>n</em> * log(<em>n</em>)) worst-case.</p>
2274 <p>The comparator function must define a total ordering for the elements in the slice. If
2275 the ordering is not total, the order of the elements is unspecified. An order is a
2276 total order if it is (for all <code>a</code>, <code>b</code> and <code>c</code>):</p>
2277 <ul>
2278 <li>total and antisymmetric: exactly one of <code>a &lt; b</code>, <code>a == b</code> or <code>a &gt; b</code> is true, and</li>
2279 <li>transitive, <code>a &lt; b</code> and <code>b &lt; c</code> implies <code>a &lt; c</code>. The same must hold for both <code>==</code> and <code>&gt;</code>.</li>
2280 </ul>
2281 <p>For example, while <a href="https://doc.rust-lang.org/nightly/std/primitive.f64.html" title="primitive f64"><code>f64</code></a> doesn’t implement <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord"><code>Ord</code></a> because <code>NaN != NaN</code>, we can use
2282 <code>partial_cmp</code> as our sort function when we know the slice doesn’t contain a <code>NaN</code>.</p>
2283
2284 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>floats = [<span class="number">5f64</span>, <span class="number">4.0</span>, <span class="number">1.0</span>, <span class="number">3.0</span>, <span class="number">2.0</span>];
2285 floats.sort_by(|a, b| a.partial_cmp(b).unwrap());
2286 <span class="macro">assert_eq!</span>(floats, [<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>, <span class="number">4.0</span>, <span class="number">5.0</span>]);</code></pre></div>
2287 <p>When applicable, unstable sorting is preferred because it is generally faster than stable
2288 sorting and it doesn’t allocate auxiliary memory.
2289 See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable_by" title="method slice::sort_unstable_by"><code>sort_unstable_by</code></a>.</p>
2290 <h5 id="current-implementation-9"><a class="doc-anchor" href="#current-implementation-9">§</a>Current implementation</h5>
2291 <p>The current algorithm is an adaptive, iterative merge sort inspired by
2292 <a href="https://en.wikipedia.org/wiki/Timsort">timsort</a>.
2293 It is designed to be very fast in cases where the slice is nearly sorted, or consists of
2294 two or more sorted sequences concatenated one after another.</p>
2295 <p>Also, it allocates temporary storage half the size of <code>self</code>, but for short slices a
2296 non-allocating insertion sort is used instead.</p>
2297 <h5 id="examples-116"><a class="doc-anchor" href="#examples-116">§</a>Examples</h5>
2298 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [<span class="number">5</span>, <span class="number">4</span>, <span class="number">1</span>, <span class="number">3</span>, <span class="number">2</span>];
2299 v.sort_by(|a, b| a.cmp(b));
2300 <span class="macro">assert!</span>(v == [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>, <span class="number">5</span>]);
2301
2302 <span class="comment">// reverse sorting
2303 </span>v.sort_by(|a, b| b.cmp(a));
2304 <span class="macro">assert!</span>(v == [<span class="number">5</span>, <span class="number">4</span>, <span class="number">3</span>, <span class="number">2</span>, <span class="number">1</span>]);</code></pre></div>
2305 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_by_key" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.7.0">1.7.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#305-308">source</a></span><h4 class="code-header">pub fn <a href="#method.sort_by_key" class="fn">sort_by_key</a>&lt;K, F&gt;(&amp;mut self, f: F)<div class="where">where
2306 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; K,
2307 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice with a key extraction function.</p>
2308 <p>This sort is stable (i.e., does not reorder equal elements) and <em>O</em>(<em>m</em> * <em>n</em> * log(<em>n</em>))
2309 worst-case, where the key function is <em>O</em>(<em>m</em>).</p>
2310 <p>For expensive key functions (e.g. functions that are not simple property accesses or
2311 basic operations), <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_by_cached_key" title="method slice::sort_by_cached_key"><code>sort_by_cached_key</code></a> is likely to be
2312 significantly faster, as it does not recompute element keys.</p>
2313 <p>When applicable, unstable sorting is preferred because it is generally faster than stable
2314 sorting and it doesn’t allocate auxiliary memory.
2315 See <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_unstable_by_key" title="method slice::sort_unstable_by_key"><code>sort_unstable_by_key</code></a>.</p>
2316 <h5 id="current-implementation-10"><a class="doc-anchor" href="#current-implementation-10">§</a>Current implementation</h5>
2317 <p>The current algorithm is an adaptive, iterative merge sort inspired by
2318 <a href="https://en.wikipedia.org/wiki/Timsort">timsort</a>.
2319 It is designed to be very fast in cases where the slice is nearly sorted, or consists of
2320 two or more sorted sequences concatenated one after another.</p>
2321 <p>Also, it allocates temporary storage half the size of <code>self</code>, but for short slices a
2322 non-allocating insertion sort is used instead.</p>
2323 <h5 id="examples-117"><a class="doc-anchor" href="#examples-117">§</a>Examples</h5>
2324 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5i32</span>, <span class="number">4</span>, <span class="number">1</span>, -<span class="number">3</span>, <span class="number">2</span>];
2325
2326 v.sort_by_key(|k| k.abs());
2327 <span class="macro">assert!</span>(v == [<span class="number">1</span>, <span class="number">2</span>, -<span class="number">3</span>, <span class="number">4</span>, -<span class="number">5</span>]);</code></pre></div>
2328 </div></details><details class="toggle method-toggle" open><summary><section id="method.sort_by_cached_key" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.34.0">1.34.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#352-355">source</a></span><h4 class="code-header">pub fn <a href="#method.sort_by_cached_key" class="fn">sort_by_cached_key</a>&lt;K, F&gt;(&amp;mut self, f: F)<div class="where">where
2329 F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a>) -&gt; K,
2330 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,</div></h4></section></summary><div class="docblock"><p>Sorts the slice with a key extraction function.</p>
2331 <p>During sorting, the key function is called at most once per element, by using
2332 temporary storage to remember the results of key evaluation.
2333 The order of calls to the key function is unspecified and may change in future versions
2334 of the standard library.</p>
2335 <p>This sort is stable (i.e., does not reorder equal elements) and <em>O</em>(<em>m</em> * <em>n</em> + <em>n</em> * log(<em>n</em>))
2336 worst-case, where the key function is <em>O</em>(<em>m</em>).</p>
2337 <p>For simple key functions (e.g., functions that are property accesses or
2338 basic operations), <a href="https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_by_key" title="method slice::sort_by_key"><code>sort_by_key</code></a> is likely to be
2339 faster.</p>
2340 <h5 id="current-implementation-11"><a class="doc-anchor" href="#current-implementation-11">§</a>Current implementation</h5>
2341 <p>The current algorithm is based on <a href="https://github.com/orlp/pdqsort">pattern-defeating quicksort</a> by Orson Peters,
2342 which combines the fast average case of randomized quicksort with the fast worst case of
2343 heapsort, while achieving linear time on slices with certain patterns. It uses some
2344 randomization to avoid degenerate cases, but with a fixed seed to always provide
2345 deterministic behavior.</p>
2346 <p>In the worst case, the algorithm allocates temporary storage in a <code>Vec&lt;(K, usize)&gt;</code> the
2347 length of the slice.</p>
2348 <h5 id="examples-118"><a class="doc-anchor" href="#examples-118">§</a>Examples</h5>
2349 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span><span class="kw-2">mut </span>v = [-<span class="number">5i32</span>, <span class="number">4</span>, <span class="number">32</span>, -<span class="number">3</span>, <span class="number">2</span>];
2350
2351 v.sort_by_cached_key(|k| k.to_string());
2352 <span class="macro">assert!</span>(v == [-<span class="number">3</span>, -<span class="number">5</span>, <span class="number">2</span>, <span class="number">32</span>, <span class="number">4</span>]);</code></pre></div>
2353 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_vec" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#412-414">source</a></span><h4 class="code-header">pub fn <a href="#method.to_vec" class="fn">to_vec</a>(&amp;self) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;T&gt;<div class="where">where
2354 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class="docblock"><p>Copies <code>self</code> into a new <code>Vec</code>.</p>
2355 <h5 id="examples-119"><a class="doc-anchor" href="#examples-119">§</a>Examples</h5>
2356 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>s = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
2357 <span class="kw">let </span>x = s.to_vec();
2358 <span class="comment">// Here, `s` and `x` can be modified independently.</span></code></pre></div>
2359 </div></details><details class="toggle method-toggle" open><summary><section id="method.to_vec_in" class="method"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#436-438">source</a><h4 class="code-header">pub fn <a href="#method.to_vec_in" class="fn">to_vec_in</a>&lt;A&gt;(&amp;self, alloc: A) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;T, A&gt;<div class="where">where
2360 A: <a class="trait" href="https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html" title="trait core::alloc::Allocator">Allocator</a>,
2361 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>allocator_api</code>)</span></div></span></summary><div class="docblock"><p>Copies <code>self</code> into a new <code>Vec</code> with an allocator.</p>
2362 <h5 id="examples-120"><a class="doc-anchor" href="#examples-120">§</a>Examples</h5>
2363 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="attr">#![feature(allocator_api)]
2364
2365 </span><span class="kw">use </span>std::alloc::System;
2366
2367 <span class="kw">let </span>s = [<span class="number">10</span>, <span class="number">40</span>, <span class="number">30</span>];
2368 <span class="kw">let </span>x = s.to_vec_in(System);
2369 <span class="comment">// Here, `s` and `x` can be modified independently.</span></code></pre></div>
2370 </div></details><details class="toggle method-toggle" open><summary><section id="method.repeat" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.40.0">1.40.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#489-491">source</a></span><h4 class="code-header">pub fn <a href="#method.repeat" class="fn">repeat</a>(&amp;self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;T&gt;<div class="where">where
2371 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</div></h4></section></summary><div class="docblock"><p>Creates a vector by copying a slice <code>n</code> times.</p>
2372 <h5 id="panics-32"><a class="doc-anchor" href="#panics-32">§</a>Panics</h5>
2373 <p>This function will panic if the capacity would overflow.</p>
2374 <h5 id="examples-121"><a class="doc-anchor" href="#examples-121">§</a>Examples</h5>
2375 <p>Basic usage:</p>
2376
2377 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>([<span class="number">1</span>, <span class="number">2</span>].repeat(<span class="number">3</span>), <span class="macro">vec!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">2</span>, <span class="number">1</span>, <span class="number">2</span>]);</code></pre></div>
2378 <p>A panic upon overflow:</p>
2379
2380 <div class="example-wrap should_panic"><a href="#" class="tooltip" title="This example panics">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="comment">// this will panic at runtime
2381 </span><span class="string">b"0123456789abcdef"</span>.repeat(usize::MAX);</code></pre></div>
2382 </div></details><details class="toggle method-toggle" open><summary><section id="method.concat" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#557-559">source</a></span><h4 class="code-header">pub fn <a href="#method.concat" class="fn">concat</a>&lt;Item&gt;(&amp;self) -&gt; &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Concat.html" title="trait alloc::slice::Concat">Concat</a>&lt;Item&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Concat.html#associatedtype.Output" title="type alloc::slice::Concat::Output">Output</a> <a href="#" class="tooltip" data-notable-ty="&lt;[T] as Concat&lt;Item&gt;&gt;::Output">ⓘ</a><div class="where">where
2383 <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Concat.html" title="trait alloc::slice::Concat">Concat</a>&lt;Item&gt;,
2384 Item: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class="docblock"><p>Flattens a slice of <code>T</code> into a single value <code>Self::Output</code>.</p>
2385 <h5 id="examples-122"><a class="doc-anchor" href="#examples-122">§</a>Examples</h5>
2386 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>([<span class="string">"hello"</span>, <span class="string">"world"</span>].concat(), <span class="string">"helloworld"</span>);
2387 <span class="macro">assert_eq!</span>([[<span class="number">1</span>, <span class="number">2</span>], [<span class="number">3</span>, <span class="number">4</span>]].concat(), [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);</code></pre></div>
2388 </div></details><details class="toggle method-toggle" open><summary><section id="method.join" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#576-578">source</a></span><h4 class="code-header">pub fn <a href="#method.join" class="fn">join</a>&lt;Separator&gt;(
2389 &amp;self,
2390 sep: Separator
2391 ) -&gt; &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Join.html" title="trait alloc::slice::Join">Join</a>&lt;Separator&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Join.html#associatedtype.Output" title="type alloc::slice::Join::Output">Output</a> <a href="#" class="tooltip" data-notable-ty="&lt;[T] as Join&lt;Separator&gt;&gt;::Output">ⓘ</a><div class="where">where
2392 <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Join.html" title="trait alloc::slice::Join">Join</a>&lt;Separator&gt;,</div></h4></section></summary><div class="docblock"><p>Flattens a slice of <code>T</code> into a single value <code>Self::Output</code>, placing a
2393 given separator between each.</p>
2394 <h5 id="examples-123"><a class="doc-anchor" href="#examples-123">§</a>Examples</h5>
2395 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>([<span class="string">"hello"</span>, <span class="string">"world"</span>].join(<span class="string">" "</span>), <span class="string">"hello world"</span>);
2396 <span class="macro">assert_eq!</span>([[<span class="number">1</span>, <span class="number">2</span>], [<span class="number">3</span>, <span class="number">4</span>]].join(<span class="kw-2">&amp;</span><span class="number">0</span>), [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">4</span>]);
2397 <span class="macro">assert_eq!</span>([[<span class="number">1</span>, <span class="number">2</span>], [<span class="number">3</span>, <span class="number">4</span>]].join(<span class="kw-2">&amp;</span>[<span class="number">0</span>, <span class="number">0</span>][..]), [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">4</span>]);</code></pre></div>
2398 </div></details><details class="toggle method-toggle" open><summary><section id="method.connect" class="method"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/alloc/slice.rs.html#596-598">source</a></span><h4 class="code-header">pub fn <a href="#method.connect" class="fn">connect</a>&lt;Separator&gt;(
2399 &amp;self,
2400 sep: Separator
2401 ) -&gt; &lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Join.html" title="trait alloc::slice::Join">Join</a>&lt;Separator&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Join.html#associatedtype.Output" title="type alloc::slice::Join::Output">Output</a> <a href="#" class="tooltip" data-notable-ty="&lt;[T] as Join&lt;Separator&gt;&gt;::Output">ⓘ</a><div class="where">where
2402 <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/slice/trait.Join.html" title="trait alloc::slice::Join">Join</a>&lt;Separator&gt;,</div></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.3.0: renamed to join</span></div></span></summary><div class="docblock"><p>Flattens a slice of <code>T</code> into a single value <code>Self::Output</code>, placing a
2403 given separator between each.</p>
2404 <h5 id="examples-124"><a class="doc-anchor" href="#examples-124">§</a>Examples</h5>
2405 <div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>([<span class="string">"hello"</span>, <span class="string">"world"</span>].connect(<span class="string">" "</span>), <span class="string">"hello world"</span>);
2406 <span class="macro">assert_eq!</span>([[<span class="number">1</span>, <span class="number">2</span>], [<span class="number">3</span>, <span class="number">4</span>]].connect(<span class="kw-2">&amp;</span><span class="number">0</span>), [<span class="number">1</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">3</span>, <span class="number">4</span>]);</code></pre></div>
2407 </div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-AsMut%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-AsMut%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_mut" class="method trait-impl"><a href="#method.as_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html#tymethod.as_mut" class="fn">as_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section></summary><div class='docblock'>Converts this type into a mutable reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AsRef%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-AsRef%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_ref" class="method trait-impl"><a href="#method.as_ref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fn">as_ref</a>(&amp;self) -&gt; &amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section></summary><div class='docblock'>Converts this type into a shared reference of the (usually inferred) input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Borrow%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-Borrow%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; &amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BorrowMut%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-BorrowMut%3C%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-TaprootMerkleBranch" class="impl"><a href="#impl-Clone-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-TaprootMerkleBranch" class="impl"><a href="#impl-Debug-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-TaprootMerkleBranch" class="impl"><a href="#impl-Default-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deref-for-TaprootMerkleBranch" class="impl"><a href="#impl-Deref-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Target" class="associatedtype trait-impl"><a href="#associatedtype.Target" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]</h4></section></summary><div class='docblock'>The resulting type after dereferencing.</div></details><details class="toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl"><a href="#method.deref" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fn">deref</a>(&amp;self) -&gt; &amp;&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DerefMut-for-TaprootMerkleBranch" class="impl"><a href="#impl-DerefMut-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html" title="trait core::ops::deref::DerefMut">DerefMut</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl"><a href="#method.deref_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut" class="fn">deref_mut</a>(&amp;mut self) -&gt; &amp;mut &lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></h4></section></summary><div class='docblock'>Mutably dereferences the value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-Deserialize%3C'de%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="../hashes/serde/trait.Deserialize.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="../hashes/serde/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(
2408 __deserializer: __D
2409 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>, &lt;__D as <a class="trait" href="../hashes/serde/trait.Deserializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserializer">Deserializer</a>&lt;'de&gt;&gt;::<a class="associatedtype" href="../hashes/serde/trait.Deserializer.html#associatedtype.Error" title="type bdk_chain::bitcoin::hashes::serde::Deserializer::Error">Error</a>&gt;<div class="where">where
2410 __D: <a class="trait" href="../hashes/serde/trait.Deserializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="../hashes/serde/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+0%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+0%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">0</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-89" class="method trait-impl"><a href="#method.from-89" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">0</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+1%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+1%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">1</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-41" class="method trait-impl"><a href="#method.from-41" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">1</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+10%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+10%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">10</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-118" class="method trait-impl"><a href="#method.from-118" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">10</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+100%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+100%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">100</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-92" class="method trait-impl"><a href="#method.from-92" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">100</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+101%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+101%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">101</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-103" class="method trait-impl"><a href="#method.from-103" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">101</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+102%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+102%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">102</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-62" class="method trait-impl"><a href="#method.from-62" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">102</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+103%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+103%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">103</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-32" class="method trait-impl"><a href="#method.from-32" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">103</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+104%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+104%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">104</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-40" class="method trait-impl"><a href="#method.from-40" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">104</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+105%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+105%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">105</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-43" class="method trait-impl"><a href="#method.from-43" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">105</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+106%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+106%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">106</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-122" class="method trait-impl"><a href="#method.from-122" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">106</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+107%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+107%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">107</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-70" class="method trait-impl"><a href="#method.from-70" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">107</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+108%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+108%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">108</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-63" class="method trait-impl"><a href="#method.from-63" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">108</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+109%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+109%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">109</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-81" class="method trait-impl"><a href="#method.from-81" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">109</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+11%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+11%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">11</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-116" class="method trait-impl"><a href="#method.from-116" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">11</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+110%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+110%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">110</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-101" class="method trait-impl"><a href="#method.from-101" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">110</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+111%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+111%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">111</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-26" class="method trait-impl"><a href="#method.from-26" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">111</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+112%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+112%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">112</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-110" class="method trait-impl"><a href="#method.from-110" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">112</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+113%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+113%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">113</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-18" class="method trait-impl"><a href="#method.from-18" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">113</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+114%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+114%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">114</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-80" class="method trait-impl"><a href="#method.from-80" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">114</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+115%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+115%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">115</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-109" class="method trait-impl"><a href="#method.from-109" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">115</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+116%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+116%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">116</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-29" class="method trait-impl"><a href="#method.from-29" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">116</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+117%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+117%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">117</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-94" class="method trait-impl"><a href="#method.from-94" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">117</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+118%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+118%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">118</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-119" class="method trait-impl"><a href="#method.from-119" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">118</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+119%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+119%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">119</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-97" class="method trait-impl"><a href="#method.from-97" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">119</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+12%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+12%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">12</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-27" class="method trait-impl"><a href="#method.from-27" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">12</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+120%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+120%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">120</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-105" class="method trait-impl"><a href="#method.from-105" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">120</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+121%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+121%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">121</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-34" class="method trait-impl"><a href="#method.from-34" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">121</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+122%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+122%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">122</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-96" class="method trait-impl"><a href="#method.from-96" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">122</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+123%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+123%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">123</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-44" class="method trait-impl"><a href="#method.from-44" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">123</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+124%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+124%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">124</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-76" class="method trait-impl"><a href="#method.from-76" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">124</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+125%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+125%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">125</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-10" class="method trait-impl"><a href="#method.from-10" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">125</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+126%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+126%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">126</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-12" class="method trait-impl"><a href="#method.from-12" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">126</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+127%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+127%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">127</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-115" class="method trait-impl"><a href="#method.from-115" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">127</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+128%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+128%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">128</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-13" class="method trait-impl"><a href="#method.from-13" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">128</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+13%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+13%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">13</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-8" class="method trait-impl"><a href="#method.from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">13</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+14%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+14%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">14</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">14</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+15%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+15%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">15</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-42" class="method trait-impl"><a href="#method.from-42" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">15</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+16%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+16%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">16</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-68" class="method trait-impl"><a href="#method.from-68" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">16</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+17%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+17%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">17</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-88" class="method trait-impl"><a href="#method.from-88" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">17</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+18%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+18%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">18</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-108" class="method trait-impl"><a href="#method.from-108" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">18</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+19%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+19%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">19</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-67" class="method trait-impl"><a href="#method.from-67" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">19</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+2%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+2%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">2</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-55" class="method trait-impl"><a href="#method.from-55" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">2</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+20%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+20%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">20</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-30" class="method trait-impl"><a href="#method.from-30" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">20</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+21%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+21%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">21</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-59" class="method trait-impl"><a href="#method.from-59" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">21</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+22%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+22%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">22</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-31" class="method trait-impl"><a href="#method.from-31" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">22</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+23%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+23%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">23</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-85" class="method trait-impl"><a href="#method.from-85" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">23</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+24%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+24%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">24</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-37" class="method trait-impl"><a href="#method.from-37" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">24</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+25%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+25%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">25</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-22" class="method trait-impl"><a href="#method.from-22" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">25</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+26%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+26%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">26</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-15" class="method trait-impl"><a href="#method.from-15" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">26</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+27%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+27%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">27</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-51" class="method trait-impl"><a href="#method.from-51" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">27</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+28%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+28%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">28</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-35" class="method trait-impl"><a href="#method.from-35" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">28</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+29%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+29%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">29</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-86" class="method trait-impl"><a href="#method.from-86" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">29</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+3%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+3%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">3</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-17" class="method trait-impl"><a href="#method.from-17" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">3</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+30%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+30%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">30</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-91" class="method trait-impl"><a href="#method.from-91" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">30</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+31%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+31%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">31</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-69" class="method trait-impl"><a href="#method.from-69" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">31</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+32%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+32%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-11" class="method trait-impl"><a href="#method.from-11" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">32</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+33%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+33%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">33</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-72" class="method trait-impl"><a href="#method.from-72" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">33</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+34%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+34%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">34</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">34</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+35%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+35%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">35</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">35</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+36%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+36%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">36</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-57" class="method trait-impl"><a href="#method.from-57" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">36</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+37%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+37%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">37</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">37</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+38%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+38%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">38</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-52" class="method trait-impl"><a href="#method.from-52" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">38</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+39%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+39%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">39</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-9" class="method trait-impl"><a href="#method.from-9" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">39</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+4%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+4%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">4</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-124" class="method trait-impl"><a href="#method.from-124" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">4</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+40%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+40%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">40</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-114" class="method trait-impl"><a href="#method.from-114" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">40</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+41%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+41%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">41</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-100" class="method trait-impl"><a href="#method.from-100" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">41</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+42%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+42%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">42</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-106" class="method trait-impl"><a href="#method.from-106" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">42</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+43%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+43%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">43</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-60" class="method trait-impl"><a href="#method.from-60" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">43</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+44%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+44%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">44</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-78" class="method trait-impl"><a href="#method.from-78" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">44</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+45%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+45%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">45</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-48" class="method trait-impl"><a href="#method.from-48" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">45</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+46%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+46%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">46</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-65" class="method trait-impl"><a href="#method.from-65" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">46</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+47%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+47%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">47</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-73" class="method trait-impl"><a href="#method.from-73" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">47</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+48%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+48%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">48</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-84" class="method trait-impl"><a href="#method.from-84" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">48</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+49%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+49%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">49</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-77" class="method trait-impl"><a href="#method.from-77" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">49</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+5%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+5%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">5</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-56" class="method trait-impl"><a href="#method.from-56" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">5</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+50%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+50%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">50</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-64" class="method trait-impl"><a href="#method.from-64" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">50</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+51%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+51%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">51</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-25" class="method trait-impl"><a href="#method.from-25" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">51</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+52%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+52%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">52</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-53" class="method trait-impl"><a href="#method.from-53" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">52</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+53%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+53%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">53</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-98" class="method trait-impl"><a href="#method.from-98" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">53</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+54%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+54%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">54</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-83" class="method trait-impl"><a href="#method.from-83" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">54</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+55%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+55%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">55</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-21" class="method trait-impl"><a href="#method.from-21" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">55</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+56%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+56%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">56</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-95" class="method trait-impl"><a href="#method.from-95" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">56</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+57%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+57%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">57</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-112" class="method trait-impl"><a href="#method.from-112" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">57</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+58%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+58%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">58</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-24" class="method trait-impl"><a href="#method.from-24" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">58</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+59%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+59%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">59</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-123" class="method trait-impl"><a href="#method.from-123" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">59</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+6%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+6%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">6</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-102" class="method trait-impl"><a href="#method.from-102" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">6</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+60%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+60%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">60</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-107" class="method trait-impl"><a href="#method.from-107" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">60</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+61%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+61%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">61</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-39" class="method trait-impl"><a href="#method.from-39" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">61</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+62%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+62%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">62</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">62</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+63%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+63%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">63</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">63</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+64%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+64%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">64</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-90" class="method trait-impl"><a href="#method.from-90" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">64</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+65%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+65%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">65</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-117" class="method trait-impl"><a href="#method.from-117" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">65</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+66%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+66%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">66</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-16" class="method trait-impl"><a href="#method.from-16" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">66</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+67%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+67%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">67</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-45" class="method trait-impl"><a href="#method.from-45" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">67</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+68%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+68%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">68</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-46" class="method trait-impl"><a href="#method.from-46" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">68</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+69%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+69%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">69</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-58" class="method trait-impl"><a href="#method.from-58" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">69</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+7%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+7%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">7</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-28" class="method trait-impl"><a href="#method.from-28" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">7</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+70%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+70%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">70</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-50" class="method trait-impl"><a href="#method.from-50" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">70</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+71%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+71%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">71</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-111" class="method trait-impl"><a href="#method.from-111" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">71</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+72%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+72%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">72</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-74" class="method trait-impl"><a href="#method.from-74" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">72</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+73%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+73%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">73</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-87" class="method trait-impl"><a href="#method.from-87" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">73</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+74%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+74%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">74</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-75" class="method trait-impl"><a href="#method.from-75" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">74</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+75%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+75%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">75</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-99" class="method trait-impl"><a href="#method.from-99" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">75</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+76%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+76%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">76</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-125" class="method trait-impl"><a href="#method.from-125" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">76</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+77%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+77%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">77</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-49" class="method trait-impl"><a href="#method.from-49" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">77</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+78%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+78%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">78</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-104" class="method trait-impl"><a href="#method.from-104" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">78</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+79%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+79%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">79</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-120" class="method trait-impl"><a href="#method.from-120" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">79</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+8%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+8%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">8</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">8</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+80%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+80%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">80</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-47" class="method trait-impl"><a href="#method.from-47" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">80</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+81%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+81%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">81</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-20" class="method trait-impl"><a href="#method.from-20" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">81</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+82%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+82%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">82</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-126" class="method trait-impl"><a href="#method.from-126" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">82</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+83%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+83%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">83</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-66" class="method trait-impl"><a href="#method.from-66" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">83</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+84%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+84%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">84</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-82" class="method trait-impl"><a href="#method.from-82" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">84</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+85%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+85%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">85</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-61" class="method trait-impl"><a href="#method.from-61" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">85</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+86%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+86%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">86</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-113" class="method trait-impl"><a href="#method.from-113" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">86</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+87%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+87%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">87</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-38" class="method trait-impl"><a href="#method.from-38" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">87</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+88%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+88%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">88</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">88</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+89%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+89%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">89</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-19" class="method trait-impl"><a href="#method.from-19" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">89</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+9%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+9%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">9</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-33" class="method trait-impl"><a href="#method.from-33" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">9</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+90%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+90%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">90</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-71" class="method trait-impl"><a href="#method.from-71" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">90</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+91%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+91%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">91</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-79" class="method trait-impl"><a href="#method.from-79" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">91</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+92%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+92%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">92</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-127" class="method trait-impl"><a href="#method.from-127" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">92</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+93%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+93%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">93</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-121" class="method trait-impl"><a href="#method.from-121" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">93</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+94%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+94%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">94</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-14" class="method trait-impl"><a href="#method.from-14" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">94</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+95%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+95%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">95</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-54" class="method trait-impl"><a href="#method.from-54" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">95</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+96%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+96%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">96</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-129" class="method trait-impl"><a href="#method.from-129" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">96</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+97%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+97%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">97</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-128" class="method trait-impl"><a href="#method.from-128" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">97</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+98%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+98%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">98</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-36" class="method trait-impl"><a href="#method.from-36" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">98</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BTapNodeHash;+99%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-From%3C%5BTapNodeHash;+99%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">99</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-23" class="method trait-impl"><a href="#method.from-23" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(a: [<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">99</a>]) -&gt; <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CTaprootMerkleBranch%3E-for-Vec%3CTapNodeHash%3E" class="impl"><a href="#impl-From%3CTaprootMerkleBranch%3E-for-Vec%3CTapNodeHash%3E" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>&gt; for <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-93" class="method trait-impl"><a href="#method.from-93" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(branch: <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>) -&gt; <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-TaprootMerkleBranch" class="impl"><a href="#impl-Hash-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)<div class="where">where
2411 __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#238-240">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
2412 H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
2413 Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IntoIterator-for-%26TaprootMerkleBranch" class="impl"><a href="#impl-IntoIterator-for-%26TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for &amp;'a <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.IntoIter" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.Iter.html" title="struct core::slice::iter::Iter">Iter</a>&lt;'a, <a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;</h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = &amp;'a <a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter" class="method trait-impl"><a href="#method.into_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fn">into_iter</a>(self) -&gt; &lt;&amp;'a <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></section></summary><div class='docblock'>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IntoIterator-for-%26mut+TaprootMerkleBranch" class="impl"><a href="#impl-IntoIterator-for-%26mut+TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for &amp;'a mut <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.IntoIter-1" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/iter/struct.IterMut.html" title="struct core::slice::iter::IterMut">IterMut</a>&lt;'a, <a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;</h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle" open><summary><section id="associatedtype.Item-1" class="associatedtype trait-impl"><a href="#associatedtype.Item-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = &amp;'a mut <a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter-1" class="method trait-impl"><a href="#method.into_iter-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fn">into_iter</a>(self) -&gt; &lt;&amp;'a mut <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></section></summary><div class='docblock'>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IntoIterator-for-TaprootMerkleBranch" class="impl"><a href="#impl-IntoIterator-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.IntoIter-2" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = <a class="struct" href="merkle_branch/struct.IntoIter.html" title="struct bdk_chain::bitcoin::taproot::merkle_branch::IntoIter">IntoIter</a></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle" open><summary><section id="associatedtype.Item-2" class="associatedtype trait-impl"><a href="#associatedtype.Item-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter-2" class="method trait-impl"><a href="#method.into_iter-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fn">into_iter</a>(self) -&gt; &lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></section></summary><div class='docblock'>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-TaprootMerkleBranch" class="impl"><a href="#impl-Ord-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#856-858">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
2414 Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#877-879">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
2415 Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#902-905">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
2416 Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-TaprootMerkleBranch" class="impl"><a href="#impl-PartialEq-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
2417 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#263">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
2418 sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-TaprootMerkleBranch" class="impl"><a href="#impl-PartialOrd-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1179">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1197">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
2419 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
2420 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-TaprootMerkleBranch" class="impl"><a href="#impl-Serialize-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../hashes/serde/trait.Serialize.html" title="trait bdk_chain::bitcoin::hashes::serde::Serialize">Serialize</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize-1" class="method trait-impl"><a href="#method.serialize-1" class="anchor">§</a><h4 class="code-header">fn <a href="../hashes/serde/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(
2421 &amp;self,
2422 __serializer: __S
2423 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;&lt;__S as <a class="trait" href="../hashes/serde/trait.Serializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Serializer">Serializer</a>&gt;::<a class="associatedtype" href="../hashes/serde/trait.Serializer.html#associatedtype.Ok" title="type bdk_chain::bitcoin::hashes::serde::Serializer::Ok">Ok</a>, &lt;__S as <a class="trait" href="../hashes/serde/trait.Serializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Serializer">Serializer</a>&gt;::<a class="associatedtype" href="../hashes/serde/trait.Serializer.html#associatedtype.Error" title="type bdk_chain::bitcoin::hashes::serde::Serializer::Error">Error</a>&gt;<div class="where">where
2424 __S: <a class="trait" href="../hashes/serde/trait.Serializer.html" title="trait bdk_chain::bitcoin::hashes::serde::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="../hashes/serde/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3C%26%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-TryFrom%3C%26%5BTapNodeHash%5D%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;&amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_from-2" class="method trait-impl"><a href="#method.try_from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(
2425 v: &amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]
2426 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>, &lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;&amp;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a merkle proof from list of hashes.</p>
2427 <h5 id="errors-3"><a class="doc-anchor" href="#errors-3">§</a>Errors</h5>
2428 <p>If inner proof length is more than <a href="constant.TAPROOT_CONTROL_MAX_NODE_COUNT.html" title="constant bdk_chain::bitcoin::taproot::TAPROOT_CONTROL_MAX_NODE_COUNT"><code>TAPROOT_CONTROL_MAX_NODE_COUNT</code></a> (128).</p>
2429 </div></details><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="enum.TaprootError.html" title="enum bdk_chain::bitcoin::taproot::TaprootError">TaprootError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CBox%3C%5BTapNodeHash%5D%3E%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-TryFrom%3CBox%3C%5BTapNodeHash%5D%3E%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt;&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_from-1" class="method trait-impl"><a href="#method.try_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(
2430 v: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt;
2431 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>, &lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;[<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>]&gt;&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a merkle proof from list of hashes.</p>
2432 <h5 id="errors-2"><a class="doc-anchor" href="#errors-2">§</a>Errors</h5>
2433 <p>If inner proof length is more than <a href="constant.TAPROOT_CONTROL_MAX_NODE_COUNT.html" title="constant bdk_chain::bitcoin::taproot::TAPROOT_CONTROL_MAX_NODE_COUNT"><code>TAPROOT_CONTROL_MAX_NODE_COUNT</code></a> (128).</p>
2434 </div></details><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="enum.TaprootError.html" title="enum bdk_chain::bitcoin::taproot::TaprootError">TaprootError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3CVec%3CTapNodeHash%3E%3E-for-TaprootMerkleBranch" class="impl"><a href="#impl-TryFrom%3CVec%3CTapNodeHash%3E%3E-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;&gt; for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(
2435 v: <a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;
2436 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a>, &lt;<a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="struct" href="../base58/struct.Vec.html" title="struct bdk_chain::bitcoin::base58::Vec">Vec</a>&lt;<a class="struct" href="../struct.TapNodeHash.html" title="struct bdk_chain::bitcoin::TapNodeHash">TapNodeHash</a>&gt;&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Creates a merkle proof from list of hashes.</p>
2437 <h5 id="errors-1"><a class="doc-anchor" href="#errors-1">§</a>Errors</h5>
2438 <p>If inner proof length is more than <a href="constant.TAPROOT_CONTROL_MAX_NODE_COUNT.html" title="constant bdk_chain::bitcoin::taproot::TAPROOT_CONTROL_MAX_NODE_COUNT"><code>TAPROOT_CONTROL_MAX_NODE_COUNT</code></a> (128).</p>
2439 </div></details><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="enum.TaprootError.html" title="enum bdk_chain::bitcoin::taproot::TaprootError">TaprootError</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details></div></details><section id="impl-Eq-for-TaprootMerkleBranch" class="impl"><a href="#impl-Eq-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section><section id="impl-StructuralPartialEq-for-TaprootMerkleBranch" class="impl"><a href="#impl-StructuralPartialEq-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-TaprootMerkleBranch" class="impl"><a href="#impl-Freeze-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section><section id="impl-RefUnwindSafe-for-TaprootMerkleBranch" class="impl"><a href="#impl-RefUnwindSafe-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section><section id="impl-Send-for-TaprootMerkleBranch" class="impl"><a href="#impl-Send-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section><section id="impl-Sync-for-TaprootMerkleBranch" class="impl"><a href="#impl-Sync-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section><section id="impl-Unpin-for-TaprootMerkleBranch" class="impl"><a href="#impl-Unpin-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section><section id="impl-UnwindSafe-for-TaprootMerkleBranch" class="impl"><a href="#impl-UnwindSafe-for-TaprootMerkleBranch" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.TaprootMerkleBranch.html" title="struct bdk_chain::bitcoin::taproot::TaprootMerkleBranch">TaprootMerkleBranch</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
2440 T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
2441 T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
2442 T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Q" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<div class="where">where
2443 Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
2444 K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#765">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-130" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#768">source</a><a href="#method.from-130" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
2445 </div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#748-750">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
2446 U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#758">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
2447 <p>That is, this conversion is whatever the implementation of
2448 <code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
2449 </div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
2450 T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#805-807">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
2451 U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-4" class="associatedtype trait-impl"><a href="#associatedtype.Error-4" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-3" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#812">source</a><a href="#method.try_from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#790-792">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
2452 U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#797">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<div class="where">where
2453 V: MultiLane&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-DeserializeOwned-for-T" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.214/src/serde/de/mod.rs.html#614">source</a><a href="#impl-DeserializeOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../hashes/serde/de/trait.DeserializeOwned.html" title="trait bdk_chain::bitcoin::hashes::serde::de::DeserializeOwned">DeserializeOwned</a> for T<div class="where">where
2454 T: for&lt;'de&gt; <a class="trait" href="../hashes/serde/trait.Deserialize.html" title="trait bdk_chain::bitcoin::hashes::serde::Deserialize">Deserialize</a>&lt;'de&gt;,</div></h3></section></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div>","<[T] as Concat<Item>>::Output":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for &amp;mut [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div>","<[T] as Join<Separator>>::Output":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div><div class=\"where\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for &amp;mut [<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>]</div>","ArrayChunks<'_, T, N>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayChunks.html\" title=\"struct core::slice::iter::ArrayChunks\">ArrayChunks</a>&lt;'a, T, N&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayChunks.html\" title=\"struct core::slice::iter::ArrayChunks\">ArrayChunks</a>&lt;'a, T, N&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">[T; N]</a>;</div>","ArrayChunksMut<'_, T, N>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayChunksMut.html\" title=\"struct core::slice::iter::ArrayChunksMut\">ArrayChunksMut</a>&lt;'a, T, N&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayChunksMut.html\" title=\"struct core::slice::iter::ArrayChunksMut\">ArrayChunksMut</a>&lt;'a, T, N&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">[T; N]</a>;</div>","ArrayWindows<'_, T, N>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayWindows.html\" title=\"struct core::slice::iter::ArrayWindows\">ArrayWindows</a>&lt;'a, T, N&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, const N: <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.usize.html\">usize</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ArrayWindows.html\" title=\"struct core::slice::iter::ArrayWindows\">ArrayWindows</a>&lt;'a, T, N&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.array.html\">[T; N]</a>;</div>","ChunkBy<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunkBy.html\" title=\"struct core::slice::iter::ChunkBy\">ChunkBy</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunkBy.html\" title=\"struct core::slice::iter::ChunkBy\">ChunkBy</a>&lt;'a, T, P&gt;<div class=\"where\">where\n T: 'a,\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","ChunkByMut<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunkByMut.html\" title=\"struct core::slice::iter::ChunkByMut\">ChunkByMut</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunkByMut.html\" title=\"struct core::slice::iter::ChunkByMut\">ChunkByMut</a>&lt;'a, T, P&gt;<div class=\"where\">where\n T: 'a,\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","Chunks<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Chunks.html\" title=\"struct core::slice::iter::Chunks\">Chunks</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Chunks.html\" title=\"struct core::slice::iter::Chunks\">Chunks</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","ChunksExact<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksExact.html\" title=\"struct core::slice::iter::ChunksExact\">ChunksExact</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksExact.html\" title=\"struct core::slice::iter::ChunksExact\">ChunksExact</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","ChunksExactMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksExactMut.html\" title=\"struct core::slice::iter::ChunksExactMut\">ChunksExactMut</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksExactMut.html\" title=\"struct core::slice::iter::ChunksExactMut\">ChunksExactMut</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","ChunksMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksMut.html\" title=\"struct core::slice::iter::ChunksMut\">ChunksMut</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.ChunksMut.html\" title=\"struct core::slice::iter::ChunksMut\">ChunksMut</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","EscapeAscii<'_>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/ascii/struct.EscapeAscii.html\" title=\"struct core::slice::ascii::EscapeAscii\">EscapeAscii</a>&lt;'a&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/ascii/struct.EscapeAscii.html\" title=\"struct core::slice::ascii::EscapeAscii\">EscapeAscii</a>&lt;'a&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>;</div>","Iter<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Iter.html\" title=\"struct core::slice::iter::Iter\">Iter</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Iter.html\" title=\"struct core::slice::iter::Iter\">Iter</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;'a T</a>;</div>","IterMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.IterMut.html\" title=\"struct core::slice::iter::IterMut\">IterMut</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.IterMut.html\" title=\"struct core::slice::iter::IterMut\">IterMut</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;'a mut T</a>;</div>","RChunks<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunks.html\" title=\"struct core::slice::iter::RChunks\">RChunks</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunks.html\" title=\"struct core::slice::iter::RChunks\">RChunks</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RChunksExact<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksExact.html\" title=\"struct core::slice::iter::RChunksExact\">RChunksExact</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksExact.html\" title=\"struct core::slice::iter::RChunksExact\">RChunksExact</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RChunksExactMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksExactMut.html\" title=\"struct core::slice::iter::RChunksExactMut\">RChunksExactMut</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksExactMut.html\" title=\"struct core::slice::iter::RChunksExactMut\">RChunksExactMut</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RChunksMut<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksMut.html\" title=\"struct core::slice::iter::RChunksMut\">RChunksMut</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RChunksMut.html\" title=\"struct core::slice::iter::RChunksMut\">RChunksMut</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RSplit<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplit.html\" title=\"struct core::slice::iter::RSplit\">RSplit</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplit.html\" title=\"struct core::slice::iter::RSplit\">RSplit</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RSplitMut<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitMut.html\" title=\"struct core::slice::iter::RSplitMut\">RSplitMut</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitMut.html\" title=\"struct core::slice::iter::RSplitMut\">RSplitMut</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RSplitN<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitN.html\" title=\"struct core::slice::iter::RSplitN\">RSplitN</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitN.html\" title=\"struct core::slice::iter::RSplitN\">RSplitN</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","RSplitNMut<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitNMut.html\" title=\"struct core::slice::iter::RSplitNMut\">RSplitNMut</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.RSplitNMut.html\" title=\"struct core::slice::iter::RSplitNMut\">RSplitNMut</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","Range<*const T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a>&lt;A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a>&lt;A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/range/trait.Step.html\" title=\"trait core::iter::range::Step\">Step</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = A;</div>","Range<*mut T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a>&lt;A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html\" title=\"struct core::ops::range::Range\">Range</a>&lt;A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/range/trait.Step.html\" title=\"trait core::iter::range::Step\">Step</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = A;</div>","Split<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Split.html\" title=\"struct core::slice::iter::Split\">Split</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Split.html\" title=\"struct core::slice::iter::Split\">Split</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","SplitInclusive<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitInclusive.html\" title=\"struct core::slice::iter::SplitInclusive\">SplitInclusive</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitInclusive.html\" title=\"struct core::slice::iter::SplitInclusive\">SplitInclusive</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","SplitInclusiveMut<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitInclusiveMut.html\" title=\"struct core::slice::iter::SplitInclusiveMut\">SplitInclusiveMut</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitInclusiveMut.html\" title=\"struct core::slice::iter::SplitInclusiveMut\">SplitInclusiveMut</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","SplitMut<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitMut.html\" title=\"struct core::slice::iter::SplitMut\">SplitMut</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitMut.html\" title=\"struct core::slice::iter::SplitMut\">SplitMut</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","SplitN<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitN.html\" title=\"struct core::slice::iter::SplitN\">SplitN</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitN.html\" title=\"struct core::slice::iter::SplitN\">SplitN</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","SplitNMut<'_, T, F>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitNMut.html\" title=\"struct core::slice::iter::SplitNMut\">SplitNMut</a>&lt;'a, T, P&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T, P&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.SplitNMut.html\" title=\"struct core::slice::iter::SplitNMut\">SplitNMut</a>&lt;'a, T, P&gt;<div class=\"where\">where\n P: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html\" title=\"trait core::ops::function::FnMut\">FnMut</a>(<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.reference.html\">&amp;T</a>) -&gt; <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.bool.html\">bool</a>,</div></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a mut <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>","Utf8Chunks<'_>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/lossy/struct.Utf8Chunks.html\" title=\"struct core::str::lossy::Utf8Chunks\">Utf8Chunks</a>&lt;'a&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/lossy/struct.Utf8Chunks.html\" title=\"struct core::str::lossy::Utf8Chunks\">Utf8Chunks</a>&lt;'a&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/str/lossy/struct.Utf8Chunk.html\" title=\"struct core::str::lossy::Utf8Chunk\">Utf8Chunk</a>&lt;'a&gt;;</div>","Vec<u8>":"<h3>Notable traits for <code><a class=\"struct\" href=\"../base58/struct.Vec.html\" title=\"struct bdk_chain::bitcoin::base58::Vec\">Vec</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>, A&gt;</code></h3><pre><code><div class=\"where\">impl&lt;A&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for <a class=\"struct\" href=\"../base58/struct.Vec.html\" title=\"struct bdk_chain::bitcoin::base58::Vec\">Vec</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.u8.html\">u8</a>, A&gt;<div class=\"where\">where\n A: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/alloc/trait.Allocator.html\" title=\"trait core::alloc::Allocator\">Allocator</a>,</div></div>","Windows<'_, T>":"<h3>Notable traits for <code><a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Windows.html\" title=\"struct core::slice::iter::Windows\">Windows</a>&lt;'a, T&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"https://doc.rust-lang.org/nightly/core/slice/iter/struct.Windows.html\" title=\"struct core::slice::iter::Windows\">Windows</a>&lt;'a, T&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = &amp;'a <a class=\"primitive\" href=\"https://doc.rust-lang.org/nightly/std/primitive.slice.html\">[T]</a>;</div>"}</script></section></div></main></body></html>