Compare commits

...

No commits in common. "master" and "gh-pages" have entirely different histories.

21966 changed files with 1887440 additions and 276233 deletions

View file

@ -1,3 +0,0 @@
[alias]
cli = ["run", "--release", "-p", "mentat_cli"]
debugcli = ["run", "-p", "mentat_cli"]

3
.github/FUNDING.yml vendored
View file

@ -1,3 +0,0 @@
liberapay: svartalf
patreon: svartalf
custom: ["https://svartalf.info/donate/", "https://www.buymeacoffee.com/svartalf"]

View file

@ -1,11 +0,0 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "cargo" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"

View file

@ -1,20 +0,0 @@
name: Security audit
on:
schedule:
- cron: '0 0 1 * *'
push:
paths:
- '**/Cargo.toml'
- '**/Cargo.lock'
pull_request:
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/audit-check@issue-104
with:
token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,13 +0,0 @@
on: [push, pull_request]
name: Clippy (new version test, don't use it!)
jobs:
clippy_check_ng:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: clippy
override: true
- uses: actions-rs/clippy@master

View file

@ -1,16 +0,0 @@
on: [push, pull_request]
name: Clippy check
jobs:
clippy_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: clippy
override: true
- uses: actions-rs/clippy-check@v1
with:
args: --all-targets --all-features -- -D warnings
token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,28 +0,0 @@
# We could use `@actions-rs/cargo` Action ability to automatically install `cross` tool
# in order to compile our application for some unusual targets.
on: [push, pull_request]
name: Cross-compile
jobs:
build:
name: Build
runs-on: ubuntu-latest
strategy:
matrix:
target:
- armv7-unknown-linux-gnueabihf
- powerpc64-unknown-linux-gnu
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target=${{ matrix.target }}

View file

@ -1,66 +0,0 @@
on: [push, pull_request]
name: Code coverage with grcov
jobs:
grcov:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- macOS-latest
# - windows-latest
steps:
- uses: actions/checkout@v2
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
profile: minimal
- name: Execute tests
uses: actions-rs/cargo@v1
with:
command: test
args: --all
env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests"
# Note that `actions-rs/grcov` Action can install `grcov` too,
# but can't use faster installation methods yet.
# As a temporary experiment `actions-rs/install` Action plugged in here.
# Consider **NOT** to copy that into your workflow,
# but use `actions-rs/grcov` only
- name: Pre-installing grcov
uses: actions-rs/install@v0.1
with:
crate: grcov
use-tool-cache: true
- name: Gather coverage data
id: coverage
uses: actions-rs/grcov@v0.1
with:
coveralls-token: ${{ secrets.COVERALLS_TOKEN }}
- name: Coveralls upload
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel: true
path-to-lcov: ${{ steps.coverage.outputs.report }}
grcov_finalize:
runs-on: ubuntu-latest
needs: grcov
steps:
- name: Coveralls finalization
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true

View file

@ -1,110 +0,0 @@
# Based on https://github.com/actions-rs/meta/blob/master/recipes/msrv.md
on: [push, pull_request]
name: MSRV
jobs:
check:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- 1.31.0
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Run cargo check
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: check
test:
name: Test Suite
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- 1.31.0
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Run cargo test
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: test
fmt:
name: Rustfmt
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- 1.31.0
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Install rustfmt
run: rustup component add rustfmt
- name: Run cargo fmt
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: fmt
args: --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
- 1.31.0
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- name: Install clippy
run: rustup component add clippy
- name: Run cargo clippy
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: clippy
args: -- -D warnings

View file

@ -1,78 +0,0 @@
on: [push, pull_request]
name: Nightly lints
jobs:
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install nightly toolchain with clippy available
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
components: clippy
- name: Run cargo clippy
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: clippy
args: -- -D warnings
rustfmt:
name: Format
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install nightly toolchain with rustfmt available
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
components: rustfmt
- name: Run cargo fmt
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: fmt
args: --all -- --check
combo:
name: Clippy + rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
components: rustfmt, clippy
- name: Run cargo fmt
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: fmt
args: --all -- --check
- name: Run cargo clippy
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: clippy
args: -- -D warnings

View file

@ -1,79 +0,0 @@
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md
#
# While our "example" application has the platform-specific code,
# for simplicity we are compiling and testing everything on the Ubuntu environment only.
# For multi-OS testing see the `cross.yml` workflow.
on: [push, pull_request]
name: Quickstart
jobs:
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Run cargo check
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: check
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Run cargo test
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: test
lints:
name: Lints
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Run cargo fmt
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: fmt
args: --all -- --check
- name: Run cargo clippy
uses: actions-rs/cargo@v1
continue-on-error: true # WARNING: only for this example, remove it!
with:
command: clippy
args: -- -D warnings

96
.gitignore vendored
View file

@ -1,96 +0,0 @@
*.class
*.DS_Store
*.jar
*jar
*~
**/*.rs.bk
.s*
.*.sw*
*.rs.bak
*.bak
.hg/
.hgignore
.lein-deps-sum
.lein-failures
.lein-plugins/
.lein-repl-history
.nrepl-port
.bundle/
docs/vendor/
/.lein-*
/.nrepl-port
Cargo.lock
/checkouts/
/classes/
/node_modules/
/out/
/target
pom.xml
pom.xml.asc
/.cljs_node_repl/
/.cljs_rhino_repl/
/addon/built/index.js
/addon/node_modules/
/addon/release/datomish-test.xpi
/addon/release/datomish.js
/addon/release/index.js
/release-browser/cljs/
/release-browser/cljs_promises/
/release-browser/clojure/
/release-browser/constants_table.js
/release-browser/datomish.bare.js
/release-browser/datomish.js
/release-browser/datomish/
/release-browser/goog/
/release-browser/honeysql/
/release-node/cljs/
/release-node/cljs_promises/
/release-node/clojure/
/release-node/constants_table.js
/release-node/datomish.bare.js
/release-node/datomish.js
/release-node/datomish/
/release-node/goog/
/release-node/honeysql/
/edn/target/
/fixtures/*.db-shm
/fixtures/*.db-wal
/query-parser/out/
## Build generated
/sdks/swift/Mentat/build/
/sdks/android/**/build
DerivedData
build.xcarchive
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
/sdks/swift/Mentat/*.xcodeproj/project.xcworkspace/xcuserdata
## Other
*.xccheckout
*.moved-aside
*.xcuserstate
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
/sdks/swift/Mentat/External-Dependencies
# Android & IntelliJ
**/*.iml
**/.idea
/sdks/android/**/local.properties
# Documentation
docs/_site
docs/.sass-cache
docs/.jekyll-metadata

View file

@ -1 +0,0 @@
docs/

0
.lock Executable file
View file

0
.nojekyll Normal file
View file

View file

@ -1,80 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
version: 0
allowPullRequests: public
tasks:
####################################################################################################
# Task: Pull requests
####################################################################################################
- provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
extra:
github:
env: true
events:
- pull_request.opened
- pull_request.edited
- pull_request.synchronize
- pull_request.reopened
- push
scopes:
- "queue:create-task:aws-provisioner-v1/github-worker"
- "queue:scheduler-id:taskcluster-github"
payload:
maxRunTime: 3600
deadline: "{{ '2 hours' | $fromNow }}"
image: 'mozillamobile/android-components:1.4'
command:
- /bin/bash
- '--login'
- '-cx'
- >-
export TERM=dumb
&& git fetch {{ event.head.repo.url }} {{ event.head.repo.branch }}
&& git config advice.detachedHead false
&& git checkout {{event.head.sha}}
&& python automation/taskcluster/decision_task_pull_request.py
features:
taskclusterProxy: true
metadata:
name: Mentat Android SDK - Pull Request
description: Building and testing the Mentat Android SDK - triggered by a pull request.
owner: '{{ event.head.user.email }}'
source: '{{ event.head.repo.url }}'
####################################################################################################
# Task: Release
####################################################################################################
- provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
extra:
github:
events:
- release
scopes:
- "secrets:get:project/mentat/publish"
payload:
maxRunTime: 3600
deadline: "{{ '2 hours' | $fromNow }}"
image: 'mozillamobile/mentat:1.2'
command:
- /bin/bash
- '--login'
- '-cx'
- >-
export TERM=dumb
&& git fetch origin --tags
&& git config advice.detachedHead false
&& git checkout {{ event.version }}
&& python automation/taskcluster/release/fetch-bintray-api-key.py
&& cd sdks/android/Mentat
&& ./gradlew --no-daemon clean library:assembleRelease
&& VCS_TAG=`git show-ref {{ event.version }}` ./gradlew bintrayUpload --debug -PvcsTag="$VCS_TAG"
features:
taskclusterProxy: true
metadata:
name: Mentat Android SDK - Release ({{ event.version }})
description: Building and publishing release versions.
owner: '{{ event.head.user.email }}'
source: '{{ event.head.repo.url }}'

View file

@ -1,78 +0,0 @@
language: rust
env:
- CARGO_INCREMENTAL=0
# https://bheisler.github.io/post/efficient-use-of-travis-ci-cache-for-rust/
before_cache:
# Delete loose files in the debug directory
- find ./target/debug -maxdepth 1 -type f -delete
# Delete the test and benchmark executables. Finding these all might take some
# experimentation.
- rm -rf ./target/debug/deps/criterion*
- rm -rf ./target/debug/deps/bench*
# Delete the associated metadata files for those executables
- rm -rf ./target/debug/.fingerprint/criterion*
- rm -rf ./target/debug/.fingerprint/bench*
# Note that all of the above need to be repeated for `release/` instead of
# `debug/` if your build script builds artifacts in release mode.
# This is just more metadata
- rm -f ./target/.rustc_info.json
# Also delete the saved benchmark data from the test benchmarks. If you
# have Criterion.rs benchmarks, you'll probably want to do this as well, or set
# the CRITERION_HOME environment variable to move that data out of the
# `target/` directory.
- rm -rf ./target/criterion
# Also delete cargo's registry index. This is updated on every build, but it's
# way cheaper to re-download than the whole cache is.
- rm -rf "$TRAVIS_HOME/.cargo/registry/index/"
- rm -rf "$TRAVIS_HOME/.cargo/registry/src"
cache:
directories:
- ./target
- $TRAVIS_HOME/.cache/sccache
- $TRAVIS_HOME/.cargo/
- $TRAVIS_HOME/.rustup/
before_script:
- cargo install --force cargo-audit
- cargo generate-lockfile
- rustup component add clippy-preview
script:
- cargo audit
# We use OSX so that we can get a reasonably up to date version of SQLCipher.
# (The version in Travis's default Ubuntu Trusty is much too old).
os: osx
before_install:
- brew install sqlcipher
rust:
- 1.43.0
- 1.44.0
- 1.45.0
- 1.46.0
- 1.47.0
- stable
- beta
- nightly
matrix:
allow_failures:
- rust: nightly
fast_finish: true
jobs:
include:
- stage: "Test iOS"
rust: 1.47.0
script: ./scripts/test-ios.sh
- stage: "Docs"
rust: 1.47.0
script: ./scripts/cargo-doc.sh
script:
- cargo build --verbose --all
- cargo clippy --all-targets --all-features -- -D warnings -A clippy::comparison-chain -A clippy::many-single-char-names # Check tests and non-default crate features.
- cargo test --verbose --all
- cargo test --features edn/serde_support --verbose --all
# We can't pick individual features out with `cargo test --all` (At the time of this writing, this
# works but does the wrong thing because of a bug in cargo, but its fix will be to disallow doing
# this all-together, see https://github.com/rust-lang/cargo/issues/5364 for more information). To
# work around this, we run tests individually for sub-crates that rely on `rusqlite`.
- |
for crate in "" "db" "db-traits" "ffi" "public-traits" "query-projector" "query-projector-traits" "query-pull" "sql" "tolstoy" "tolstoy-traits" "transaction" "tools/cli"; do
cargo test --manifest-path ./$crate/Cargo.toml --verbose --no-default-features --features sqlcipher
done

25
.vscode/launch.json vendored
View file

@ -1,25 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "attach",
"name": "Attach to CLI (debug)",
"program": "${workspaceFolder}/target/debug/mentat_cli"
},
{
"type": "lldb",
"request": "launch",
"name": "CLI",
"stdio": "*",
"program": "${workspaceFolder}/target/debug/mentat_cli",
"args": [],
"cwd": "${workspaceFolder}",
"internalConsoleOptions": "openOnSessionStart",
"terminal": "integrated"
},
]
}

30
.vscode/settings.json vendored
View file

@ -1,30 +0,0 @@
// Place your settings in this file to overwrite default and user settings.
{
// Newline at EOF.
"files.insertFinalNewline": true,
// Configure glob patterns for excluding files and folders.
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/.*.sw*": true, // Vim swap files.
"**/*~": true, // Vim backup files.
".cljs_*_repl": true,
".gitignore": true,
".lein*": true,
".sw*": true,
"target": true, // Top-level build output.
"*/target": true // Sub-crate build output.
},
"rust.customTestConfigurations": [
{
"title": "All Crates",
"args": [
"--all"
]
}
]
}

58
.vscode/tasks.json vendored
View file

@ -1,58 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "Test all",
"command": "cargo",
"args": [
"test",
"--all",
],
"problemMatcher": [
"$rustc"
],
"group": "test"
},
{
"type": "shell",
"label": "Run CLI",
"command": "cargo",
"args": [
"debugcli",
],
"problemMatcher": [
"$rustc"
],
"group": "test"
},
{
"type": "shell",
"label": "Build CLI",
"command": "cargo",
"args": [
"build",
"-p",
"mentat_cli",
],
"problemMatcher": [
"$rustc"
],
"group": "build"
},
{
"type": "shell",
"label": "Build Mentat",
"command": "cargo",
"args": [
"build",
],
"problemMatcher": [
"$rustc"
],
"group": "build"
}
]
}

View file

@ -1,39 +0,0 @@
# 0.11.1 (2018-08-09)
* sdks/android compiled against:
* Kotlin standard library 1.2.41
* **API changes**: Changed wording of MentatError::ConflictingAttributeDefinitions, MentatError::ExistingVocabularyTooNew, MentatError::UnexpectedCoreSchema.
* [Commits](https://github.com/mozilla/mentat/compare/v0.11.0...v0.11.1)
# 0.11 (2018-07-31)
* sdks/android compiled against:
* Kotlin standard library 1.2.41
* **sdks/android**: `Mentat()` constructor replaced with `open` factory method.
* [Commits](https://github.com/mozilla/mentat/compare/v0.10.0...v0.11.0)
# 0.10 (2018-07-26)
* sdks/android compiled against:
* Kotlin standard library 1.2.41
* **API changes**:
* `store_open{_encrypted}` now accepts an error parameter; corresponding constructors changed to be factory functions.
* [Commits](https://github.com/mozilla/mentat/compare/v0.9.0...v0.10.0)
# 0.9 (2018-07-25)
* sdks/android compiled against:
* Kotlin standard library 1.2.41
* **API changes**:
* Mentat partitions now enforce their integrity, denying entids that aren't already known.
* **sdks/android**: First version published to nalexander's personal bintray repository.
* Various bugfixes and refactorings (see commits below for details)
* [Commits](https://github.com/mozilla/mentat/compare/v0.8.1...v0.9.0)

1
CNAME Normal file
View file

@ -0,0 +1 @@
mentat.rs

View file

@ -1,118 +0,0 @@
[package]
edition = "2021"
authors = [
"Richard Newman <rnewman@twinql.com>",
"Nicholas Alexander <nalexander@mozilla.com>",
"Victor Porof <vporof@mozilla.com>",
"Jordan Santell <jsantell@mozilla.com>",
"Joe Walker <jwalker@mozilla.com>",
"Emily Toop <etoop@mozilla.com>",
"Grisha Kruglov <grigory@kruglov.ca>",
"Kit Cambridge <kit@yakshaving.ninja>",
"Edouard Oger <eoger@fastmail.com>",
"Thom Chiovoloni <tchiovoloni@mozilla.com>",
"Gregory Burd <greg@burd.me>",
]
name = "mentat"
version = "0.14.0"
build = "build/version.rs"
[features]
default = ["bundled_sqlite3", "syncable"]
bundled_sqlite3 = ["rusqlite/bundled"]
sqlcipher = ["rusqlite/sqlcipher", "mentat_db/sqlcipher"]
syncable = ["mentat_tolstoy", "tolstoy_traits", "mentat_db/syncable"]
[workspace]
members = [
"tools/cli",
"ffi", "core", "core-traits","db", "db-traits", "edn", "public-traits", "query-algebrizer",
"query-algebrizer-traits", "query-projector", "query-projector-traits","query-pull",
"query-sql", "sql", "sql-traits", "tolstoy-traits", "tolstoy", "transaction"
]
[build-dependencies]
rustc_version = "~0.4"
[dev-dependencies]
assert_approx_eq = "~1.1"
#[dev-dependencies.cargo-husky]
#version = "1"
#default-features = false # Disable features which are enabled by default
#features = ["run-for-all", "precommit-hook", "run-cargo-fmt", "run-cargo-test", "run-cargo-check", "run-cargo-clippy"]
#cargo audit
#cargo outdated
[dependencies]
chrono = "~0.4"
failure = "~0.1"
lazy_static = "~1.4"
time = "0.3.1"
log = "~0.4"
uuid = { version = "~1", features = ["v4", "serde"] }
[dependencies.rusqlite]
version = "~0.29"
features = ["limits", "bundled"]
[dependencies.edn]
path = "edn"
[dependencies.core_traits]
path = "core-traits"
[dependencies.mentat_core]
path = "core"
[dependencies.mentat_sql]
path = "sql"
[dependencies.mentat_db]
path = "db"
[dependencies.db_traits]
path = "db-traits"
[dependencies.mentat_query_algebrizer]
path = "query-algebrizer"
[dependencies.query_algebrizer_traits]
path = "query-algebrizer-traits"
[dependencies.mentat_query_projector]
path = "query-projector"
[dependencies.query_projector_traits]
path = "query-projector-traits"
[dependencies.mentat_query_pull]
path = "query-pull"
[dependencies.query_pull_traits]
path = "query-pull-traits"
[dependencies.mentat_query_sql]
path = "query-sql"
[dependencies.sql_traits]
path = "sql-traits"
[dependencies.public_traits]
path = "public-traits"
[dependencies.mentat_transaction]
path = "transaction"
[dependencies.mentat_tolstoy]
path = "tolstoy"
optional = true
[dependencies.tolstoy_traits]
path = "tolstoy-traits"
optional = true
[profile.release]
opt-level = 3
debug = false
lto = true

202
LICENSE
View file

@ -1,202 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -1,11 +0,0 @@
.PHONY: outdated fix
outdated:
for p in $(dirname $(ls Cargo.toml */Cargo.toml */*/Cargo.toml)); do echo $p; (cd $p; cargo outdated -R); done
fix:
$(for p in $(dirname $(ls Cargo.toml */Cargo.toml */*/Cargo.toml)); do echo $p; (cd $p; cargo fix --allow-dirty --broken-code --edition-idioms); done)
upgrades:
cargo upgrades

29
NOTES
View file

@ -1,29 +0,0 @@
* sqlite -> monetdb-lite-c + fts5 + bayesdb
* fts5 + regex + tre/fuzzy + codesearch/trigram filters, streaming bloom filters https://arxiv.org/abs/2001.03147
* datalog to "goblin relational engine" (gtk)
* branching distributed wal (chain replication) and CRDTs
* alf:fn query language
* datatypes via bit syntax+some code?
* pure lang?
* https://github.com/dahjelle/pouch-datalog
* https://github.com/edn-query-language/eql
* https://github.com/borkdude/jet
* https://github.com/walmartlabs/dyn-edn
* https://github.com/go-edn/edn
* https://github.com/smothers/cause
* https://github.com/oscaro/eq
* https://github.com/clojure-emacs/parseedn
* https://github.com/exoscale/seql
* https://github.com/axboe/liburing
* (EAVtf) - entity attribute value type flags
* distributed, replicated WAL
* https://github.com/mirage/irmin
* What if facts had "confidence" [0-1)?
* entity attribute value type flags
* https://github.com/probcomp/BayesDB
* https://github.com/probcomp/bayeslite
* http://probcomp.csail.mit.edu/software/bayesdb/

240
README.md
View file

@ -1,240 +0,0 @@
# Project Mentat
[![Build Status](https://travis-ci.org/qpdb/mentat.svg?branch=master)](https://travis-ci.org/qpdb/mentat)
Project Mentat is a persistent, embedded knowledge base. It draws heavily on [DataScript](https://github.com/tonsky/datascript) and [Datomic](http://datomic.com).
This project was started by Mozilla, but [is no longer being developed or actively maintained by them](https://mail.mozilla.org/pipermail/firefox-dev/2018-September/006780.html). [Their repository](https://github.com/mozilla/mentat) was marked read-only, [this fork](https://github.com/qpdb/mentat) is an attempt to revive and continue that interesting work. We owe the team at Mozilla more than words can express for inspiring us all and for this project in particular.
*Thank you*.
[Documentation](https://docs.rs/mentat)
---
## Motivation
Mentat is a flexible relational (not key-value, not document-oriented) store that makes it easy to describe, grow, and reuse your domain schema.
By abstracting away the storage schema, and by exposing change listeners outside the database (not via triggers), we hope to make domain schemas stable, and allow both the data store itself and embedding applications to use better architectures, meeting performance goals in a way that allows future evolution.
## Data storage is hard
We've observed that data storage is a particular area of difficulty for software development teams:
- It's hard to define storage schemas well. A developer must:
- Model their domain entities and relationships.
- Encode that model _efficiently_ and _correctly_ using the features available in the database.
- Plan for future extensions and performance tuning.
In a SQL database, the same schema definition defines everything from high-level domain relationships through to numeric field sizes in the same smear of keywords. It's difficult for someone unfamiliar with the domain to determine from such a schema what's a domain fact and what's an implementation concession — are all part numbers always 16 characters long, or are we trying to save space? — or, indeed, whether a missing constraint is deliberate or a bug.
The developer must think about foreign key constraints, compound uniqueness, and nullability. They must consider indexing, synchronizing, and stable identifiers. Most developers simply don't do enough work in SQL to get all of these things right. Storage thus becomes the specialty of a few individuals.
Which one of these is correct?
```edn
{:db/id :person/email
:db/valueType :db.type/string
:db/cardinality :db.cardinality/many ; People can have multiple email addresses.
:db/unique :db.unique/identity ; For our purposes, each email identifies one person.
:db/index true} ; We want fast lookups by email.
{:db/id :person/friend
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/many} ; People can have many friends.
```
```sql
CREATE TABLE people (
id INTEGER PRIMARY KEY, -- Bug: because of the primary key, each person can have no more than 1 email.
email VARCHAR(64), -- Bug?: no NOT NULL, so a person can have no email.
-- Bug: nobody will ever have a long email address, right?
);
CREATE TABLE friendships (
FOREIGN KEY person REFERENCES people(id), -- Bug?: no indexing, so lookups by friend or person will be slow.
FOREIGN KEY friend REFERENCES people(id), -- Bug: no compound uniqueness constraint, so we can have dupe friendships.
);
```
They both have limitations — the Mentat schema allows only for an open world (it's possible to declare friendships with people whose email isn't known), and requires validation code to enforce email string correctness — but we think that even such a tiny SQL example is harder to understand and obscures important domain decisions.
- Queries are intimately tied to structural storage choices. That not only hides the declarative domain-level meaning of the query — it's hard to tell what a query is trying to do when it's a 100-line mess of subqueries and `LEFT OUTER JOIN`s — but it also means a simple structural schema change requires auditing _every query_ for correctness.
- Developers often capture less event-shaped than they perhaps should, simply because their initial requirements don't warrant it. It's quite common to later want to [know when a fact was recorded](https://bugzilla.mozilla.org/show_bug.cgi?id=1341939), or _in which order_ two facts were recorded (particularly for migrations), or on which device an event took place… or even that a fact was _ever_ recorded and then deleted.
- Common queries are hard. Storing values only once, upserts, complicated joins, and group-wise maxima are all difficult for non-expert developers to get right.
- It's hard to evolve storage schemas. Writing a robust SQL schema migration is hard, particularly if a bad migration has ever escaped into the wild! Teams learn to fear and avoid schema changes, and eventually they ship a table called `metadata`, with three `TEXT` columns, so they never have to write a migration again. That decision pushes storage complexity into application code. (Or they start storing unversioned JSON blobs in the database…)
- It's hard to share storage with another component, let alone share _data_ with another component. Conway's Law applies: your software system will often grow to have one database per team.
- It's hard to build efficient storage and querying architectures. Materialized views require knowledge of triggers, or the implementation of bottleneck APIs. _Ad hoc_ caches are often wrong, are almost never formally designed (do you want a write-back, write-through, or write-around cache? Do you know the difference?), and often aren't reusable. The average developer, faced with a SQL database, has little choice but to build a simple table that tries to meet every need.
## Comparison to DataScript
DataScript asks the question: "What if creating a database were as cheap as creating a Hashmap?"
Mentat is not interested in that. Instead, it's focused on persistence and performance, with very little interest in immutable databases/databases as values or throwaway use.
One might say that Mentat's question is: "What if a database could store arbitrary relations, for arbitrary consumers, without them having to coordinate an up-front storage-level schema?"
Consider this a practical approach to facts, to knowledge its storage and access, much like SQLite is a practical RDBMS.
(Note that [domain-level schemas are very valuable](http://martinfowler.com/articles/schemaless/).)
Another possible question would be: "What if we could bake some of the concepts of [CQRS and event sourcing](http://www.baeldung.com/cqrs-event-sourced-architecture-resources) into a persistent relational store, such that the transaction log itself were of value to queries?"
Some thought has been given to how databases as values — long-term references to a snapshot of the store at an instant in time — could work in this model. It's not impossible; it simply has different performance characteristics.
Just like DataScript, Mentat speaks Datalog for querying and takes additions and retractions as input to a transaction.
Unlike DataScript, Mentat exposes free-text indexing, thanks to SQLite/FTS.
## Comparison to Datomic
Datomic is a server-side, enterprise-grade data storage system. Datomic has a beautiful conceptual model. It's intended to be backed by a storage cluster, in which it keeps index chunks forever. Index chunks are replicated to peers, allowing it to run queries at the edges. Writes are serialized through a transactor.
Many of these design decisions are inapplicable to deployed desktop software; indeed, the use of multiple JVM processes makes Datomic's use in a small desktop app, or a mobile device, prohibitive.
## Comparison to SQLite
SQLite is a traditional SQL database in most respects: schemas conflate semantic, structural, and datatype concerns, as described above; the main interface with the database is human-first textual queries; sparse and graph-structured data are 'unnatural', if not always inefficient; experimenting with and evolving data models are error-prone and complicated activities; and so on.
Mentat aims to offer many of the advantages of SQLite — single-file use, embeddability, and good performance — while building a more relaxed, reusable, and expressive data model on top.
---
## Contributing
Please note that this project is released with a Contributor Code of Conduct.
By participating in this project you agree to abide by its terms.
See [CONTRIBUTING.md](CONTRIBUTING.md) for further notes.
This project is very new, so we'll probably revise these guidelines. Please
comment on an issue before putting significant effort in if you'd like to
contribute.
---
## Building
You first need to clone the project. To build and test the project, we are using [Cargo](https://crates.io/install).
To build all of the crates in the project use:
````
cargo build
````
To run tests use:
````
# Run tests for everything.
cargo test --all
# Run tests for just the query-algebrizer folder (specify the crate, not the folder),
# printing debug output.
cargo test -p mentat_query_algebrizer -- --nocapture
````
For most `cargo` commands you can pass the `-p` argument to run the command just on that package. So, `cargo build -p mentat_query_algebrizer` will build just the "query-algebrizer" folder.
## What are all of these crates?
We use multiple sub-crates for Mentat for four reasons:
1. To improve incremental build times.
2. To encourage encapsulation; writing `extern crate` feels worse than just `use mod`.
3. To simplify the creation of targets that don't use certain features: _e.g._, a build with no syncing, or with no query system.
4. To allow for reuse (_e.g._, the EDN parser is essentially a separate library).
So what are they?
### Building blocks
#### `edn`
Our EDN parser. It uses `rust-peg` to parse [EDN](https://github.com/edn-format/edn), which is Clojure/Datomic's richer alternative to JSON. `edn`'s dependencies are all either for representing rich values (`chrono`, `uuid`, `ordered-float`) or for parsing (`serde`, `peg`).
In addition, this crate turns a stream of EDN values into a representation suitable to be transacted.
#### `mentat_core`
This is the lowest-level Mentat crate. It collects together the following things:
- Fundamental domain-specific data structures like `ValueType` and `TypedValue`.
- Fundamental SQL-related linkages like `SQLValueType`. These encode the mapping between Mentat's types and values and their representation in our SQLite format.
- Conversion to and from EDN types (_e.g._, `edn::Keyword` to `TypedValue::Keyword`).
- Common utilities (some in the `util` module, and others that should be moved there or broken out) like `Either`, `InternSet`, and `RcCounter`.
- Reusable lazy namespaced keywords (_e.g._, `DB_TYPE_DOUBLE`) that are used by `mentat_db` and EDN serialization of core structs.
### Types
#### `mentat_query`
This crate defines the structs and enums that are the output of the query parser and used by the translator and algebrizer. `SrcVar`, `NonIntegerConstant`, `FnArg`… these all live here.
#### `mentat_query_sql`
Similarly, this crate defines an abstract representation of a SQL query as understood by Mentat. This bridges between Mentat's types (_e.g._, `TypedValue`) and SQL concepts (`ColumnOrExpression`, `GroupBy`). It's produced by the algebrizer and consumed by the translator.
### Query processing
#### `mentat_query_algebrizer`
This is the biggest piece of the query engine. It takes a parsed query, which at this point is _independent of a database_, and combines it with the current state of the schema and data. This involves translating keywords into attributes, abstract values into concrete values with a known type, and producing an `AlgebraicQuery`, which is a representation of how a query's Datalog semantics can be satisfied as SQL table joins and constraints over Mentat's SQL schema. An algebrized query is tightly coupled with both the disk schema and the vocabulary present in the store when the work is done.
#### `mentat_query_projector`
A Datalog query _projects_ some of the variables in the query into data structures in the output. This crate takes an algebrized query and a projection list and figures out how to get values out of the running SQL query and into the right format for the consumer.
#### `mentat_query_translator`
This crate works with all of the above to turn the output of the algebrizer and projector into the data structures defined in `mentat_query_sql`.
#### `mentat_sql`
This simple crate turns those data structures into SQL text and bindings that can later be executed by `rusqlite`.
### The data layer: `mentat_db`
This is a big one: it implements the core storage logic on top of SQLite. This crate is responsible for bootstrapping new databases, transacting new data, maintaining the attribute cache, and building and updating in-memory representations of the storage schema.
### The main crate
The top-level main crate of Mentat assembles these component crates into something useful. It wraps up a connection to a database file and the associated metadata into a `Store`, and encapsulates an in-progress transaction (`InProgress`). It provides modules for programmatically writing (`entity_builder.rs`) and managing vocabulary (`vocabulary.rs`).
### Syncing
Sync code lives, for [referential reasons](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying), in a crate named `tolstoy`. This code is a work in progress; current state is a proof-of-concept implementation which largely relies on the internal transactor to make progress in most cases and comes with a basic support for timelines. See [Tolstoy's documentation](https://github.com/mozilla/mentat/tree/master/tolstoy/README.md) for details.
### The command-line interface
This is under `tools/cli`. It's essentially an external consumer of the main `mentat` crate. This code is ugly, but it mostly works.
---
## SQLite dependencies
Mentat uses partial indices, which are available in SQLite 3.8.0 and higher. It relies on correlation between aggregate and non-aggregate columns in the output, which was added in SQLite 3.7.11.
It also uses FTS4, which is [a compile time option](http://www.sqlite.org/fts3.html#section_2).
By default, Mentat specifies the `"bundled"` feature for `rusqlite`, which uses a relatively recent
version of SQLite. If you want to link against the system version of SQLite, omit `"bundled_sqlite3"`
from Mentat's features.
```toml
[dependencies.mentat]
version = "0.6"
# System sqlite is known to be new.
default-features = false
```
---
## License
Project Mentat is currently licensed under the Apache License v2.0. See the `LICENSE` file for details.

10
arrayvec/Array.t.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=trait.Array.html">
</head>
<body>
<p>Redirecting to <a href="trait.Array.html">trait.Array.html</a>...</p>
<script>location.replace("trait.Array.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.ArrayString.html">
</head>
<body>
<p>Redirecting to <a href="struct.ArrayString.html">struct.ArrayString.html</a>...</p>
<script>location.replace("struct.ArrayString.html" + location.search + location.hash);</script>
</body>
</html>

10
arrayvec/ArrayVec.t.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.ArrayVec.html">
</head>
<body>
<p>Redirecting to <a href="struct.ArrayVec.html">struct.ArrayVec.html</a>...</p>
<script>location.replace("struct.ArrayVec.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.CapacityError.html">
</head>
<body>
<p>Redirecting to <a href="struct.CapacityError.html">struct.CapacityError.html</a>...</p>
<script>location.replace("struct.CapacityError.html" + location.search + location.hash);</script>
</body>
</html>

10
arrayvec/Drain.t.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Drain.html">
</head>
<body>
<p>Redirecting to <a href="struct.Drain.html">struct.Drain.html</a>...</p>
<script>location.replace("struct.Drain.html" + location.search + location.hash);</script>
</body>
</html>

10
arrayvec/IntoIter.t.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.IntoIter.html">
</head>
<body>
<p>Redirecting to <a href="struct.IntoIter.html">struct.IntoIter.html</a>...</p>
<script>location.replace("struct.IntoIter.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=trait.RangeArgument.html">
</head>
<body>
<p>Redirecting to <a href="trait.RangeArgument.html">trait.RangeArgument.html</a>...</p>
<script>location.replace("trait.RangeArgument.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=trait.Array.html">
</head>
<body>
<p>Redirecting to <a href="trait.Array.html">trait.Array.html</a>...</p>
<script>location.replace("trait.Array.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../arrayvec/trait.Array.html">
</head>
<body>
<p>Redirecting to <a href="../../arrayvec/trait.Array.html">../../arrayvec/trait.Array.html</a>...</p>
<script>location.replace("../../arrayvec/trait.Array.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.ArrayString.html">
</head>
<body>
<p>Redirecting to <a href="struct.ArrayString.html">struct.ArrayString.html</a>...</p>
<script>location.replace("struct.ArrayString.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../arrayvec/struct.ArrayString.html">
</head>
<body>
<p>Redirecting to <a href="../../arrayvec/struct.ArrayString.html">../../arrayvec/struct.ArrayString.html</a>...</p>
<script>location.replace("../../arrayvec/struct.ArrayString.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.CapacityError.html">
</head>
<body>
<p>Redirecting to <a href="struct.CapacityError.html">struct.CapacityError.html</a>...</p>
<script>location.replace("struct.CapacityError.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../arrayvec/struct.CapacityError.html">
</head>
<body>
<p>Redirecting to <a href="../../arrayvec/struct.CapacityError.html">../../arrayvec/struct.CapacityError.html</a>...</p>
<script>location.replace("../../arrayvec/struct.CapacityError.html" + location.search + location.hash);</script>
</body>
</html>

219
arrayvec/index.html Normal file
View file

@ -0,0 +1,219 @@
<!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="API documentation for the Rust `arrayvec` crate.">
<meta name="keywords" content="rust, rustlang, rust-lang, arrayvec">
<title>arrayvec - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc mod">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Crate arrayvec</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'arrayvec', ty: 'mod', relpath: '../'};</script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>arrayvec</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#1-1067' title='goto source code'>[src]</a></span></h1>
<div class='docblock'><p><strong>arrayvec</strong> provides the types <code>ArrayVec</code> and <code>ArrayString</code>:
array-backed vector and string types, which store their contents inline.</p>
<p>The arrayvec package has the following cargo features:</p>
<ul>
<li>
<p><code>std</code></p>
<ul>
<li>Optional, enabled by default</li>
<li>Use libstd; disable to use <code>no_std</code> instead.</li>
</ul>
</li>
<li>
<p><code>use_union</code></p>
<ul>
<li>Optional</li>
<li>Requires Rust nightly channel</li>
<li>Experimental: This flag uses nightly so it <em>may break</em> unexpectedly
at some point; since it doesn't change API this flag may also change
to do nothing in the future.</li>
<li>Use the unstable feature untagged unions for the internal implementation,
which may have reduced space overhead</li>
</ul>
</li>
<li>
<p><code>serde-1</code></p>
<ul>
<li>Optional</li>
<li>Enable serialization for ArrayVec and ArrayString using serde 1.0</li>
</ul>
</li>
</ul>
<h2 id="rust-version" class="section-header"><a href="#rust-version">Rust Version</a></h2>
<p>This version of arrayvec requires Rust 1.13 or later.</p>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table>
<tr class=' module-item'>
<td><a class="struct" href="struct.ArrayString.html"
title='struct arrayvec::ArrayString'>ArrayString</a></td>
<td class='docblock-short'>
<p>A string with a fixed capacity.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.ArrayVec.html"
title='struct arrayvec::ArrayVec'>ArrayVec</a></td>
<td class='docblock-short'>
<p>A vector with a fixed capacity.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.CapacityError.html"
title='struct arrayvec::CapacityError'>CapacityError</a></td>
<td class='docblock-short'>
<p>Error value indicating insufficient capacity</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Drain.html"
title='struct arrayvec::Drain'>Drain</a></td>
<td class='docblock-short'>
<p>A draining iterator for <code>ArrayVec</code>.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.IntoIter.html"
title='struct arrayvec::IntoIter'>IntoIter</a></td>
<td class='docblock-short'>
<p>By-value iterator for <code>ArrayVec</code>.</p>
</td>
</tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
<table>
<tr class=' module-item'>
<td><a class="trait" href="trait.Array.html"
title='trait arrayvec::Array'>Array</a></td>
<td class='docblock-short'>
<p>Trait for fixed size arrays.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="trait" href="trait.RangeArgument.html"
title='trait arrayvec::RangeArgument'>RangeArgument</a></td>
<td class='docblock-short'>
<p><code>RangeArgument</code> is implemented by Rust's built-in range types, produced
by range syntax like <code>..</code>, <code>a..</code>, <code>..b</code> or <code>c..d</code>.</p>
</td>
</tr></table></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=trait.RangeArgument.html">
</head>
<body>
<p>Redirecting to <a href="trait.RangeArgument.html">trait.RangeArgument.html</a>...</p>
<script>location.replace("trait.RangeArgument.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../arrayvec/trait.RangeArgument.html">
</head>
<body>
<p>Redirecting to <a href="../../arrayvec/trait.RangeArgument.html">../../arrayvec/trait.RangeArgument.html</a>...</p>
<script>location.replace("../../arrayvec/trait.RangeArgument.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1 @@
initSidebarItems({"struct":[["ArrayString","A string with a fixed capacity."],["ArrayVec","A vector with a fixed capacity."],["CapacityError","Error value indicating insufficient capacity"],["Drain","A draining iterator for `ArrayVec`."],["IntoIter","By-value iterator for `ArrayVec`."]],"trait":[["Array","Trait for fixed size arrays."],["RangeArgument","`RangeArgument` is implemented by Rust's built-in range types, produced by range syntax like `..`, `a..`, `..b` or `c..d`."]]});

View file

@ -0,0 +1,401 @@
<!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="API documentation for the Rust `ArrayString` struct in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, ArrayString">
<title>arrayvec::ArrayString - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct ArrayString</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.from">from</a><a href="#method.from_byte_string">from_byte_string</a><a href="#method.capacity">capacity</a><a href="#method.is_full">is_full</a><a href="#method.push">push</a><a href="#method.try_push">try_push</a><a href="#method.push_str">push_str</a><a href="#method.try_push_str">try_push_str</a><a href="#method.pop">pop</a><a href="#method.truncate">truncate</a><a href="#method.remove">remove</a><a href="#method.clear">clear</a><a href="#method.set_len">set_len</a><a href="#method.as_str">as_str</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Copy">Copy</a><a href="#impl-Default">Default</a><a href="#impl-Deref">Deref</a><a href="#impl-DerefMut">DerefMut</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-PartialEq%3Cstr%3E">PartialEq&lt;str&gt;</a><a href="#impl-PartialEq%3CArrayString%3CA%3E%3E">PartialEq&lt;ArrayString&lt;A&gt;&gt;</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Borrow%3Cstr%3E">Borrow&lt;str&gt;</a><a href="#impl-AsRef%3Cstr%3E">AsRef&lt;str&gt;</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Write">Write</a><a href="#impl-Clone">Clone</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-PartialOrd%3Cstr%3E">PartialOrd&lt;str&gt;</a><a href="#impl-PartialOrd%3CArrayString%3CA%3E%3E">PartialOrd&lt;ArrayString&lt;A&gt;&gt;</a><a href="#impl-Ord">Ord</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'ArrayString', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>ArrayString</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/array_string.rs.html#28-31' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct ArrayString&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; { /* fields omitted */ }</pre><div class='docblock'><p>A string with a fixed capacity.</p>
<p>The <code>ArrayString</code> is a string backed by a fixed size array. It keeps track
of its length.</p>
<p>The string is a contiguous value that you can store directly on the stack
if needed.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#40-345' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>() -&gt; <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#53-60' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Create a new empty <code>ArrayString</code>.</p>
<p>Capacity is inferred from the type parameter.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">16</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">&quot;foo&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;foo&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">capacity</span>(), <span class="number">16</span>);</pre>
</div><h4 id='method.from' class="method"><span id='from.v' class='invisible'><code>pub fn <a href='#method.from' class='fnname'>from</a>(s: &amp;str) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;&amp;str&gt;&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#76-80' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Create a new <code>ArrayString</code> from a <code>str</code>.</p>
<p>Capacity is inferred from the type parameter.</p>
<p><strong>Errors</strong> if the backing array is not large enough to fit the string.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">3</span>]<span class="op">&gt;</span>::<span class="ident">from</span>(<span class="string">&quot;foo&quot;</span>).<span class="ident">unwrap</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;foo&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">len</span>(), <span class="number">3</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
</div><h4 id='method.from_byte_string' class="method"><span id='from_byte_string.v' class='invisible'><code>pub fn <a href='#method.from_byte_string' class='fnname'>from_byte_string</a>(b: &amp;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;Self, <a class="struct" href="https://doc.rust-lang.org/nightly/core/str/struct.Utf8Error.html" title="struct core::str::Utf8Error">Utf8Error</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#91-97' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Create a new <code>ArrayString</code> from a byte string literal.</p>
<p><strong>Errors</strong> if the byte string literal is not valid UTF-8.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="ident">from_byte_string</span>(<span class="string">b&quot;hello world&quot;</span>).<span class="ident">unwrap</span>();</pre>
</div><h4 id='method.capacity' class="method"><span id='capacity.v' class='invisible'><code>pub fn <a href='#method.capacity' class='fnname'>capacity</a>(&amp;self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#108' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return the capacity of the <code>ArrayString</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">3</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
</div><h4 id='method.is_full' class="method"><span id='is_full.v' class='invisible'><code>pub fn <a href='#method.is_full' class='fnname'>is_full</a>(&amp;self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#120' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return if the <code>ArrayString</code> is completely filled.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">1</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">string</span>.<span class="ident">is_full</span>());
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">&quot;A&quot;</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">string</span>.<span class="ident">is_full</span>());</pre>
</div><h4 id='method.push' class="method"><span id='push.v' class='invisible'><code>pub fn <a href='#method.push' class='fnname'>push</a>(&amp;mut self, c: char)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#136-138' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Adds the given char to the end of the string.</p>
<p><strong><em>Panics</em></strong> if the backing array is not large enough to fit the additional char.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">string</span>.<span class="ident">push</span>(<span class="string">&#39;a&#39;</span>);
<span class="ident">string</span>.<span class="ident">push</span>(<span class="string">&#39;b&#39;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;ab&quot;</span>);</pre>
</div><h4 id='method.try_push' class="method"><span id='try_push.v' class='invisible'><code>pub fn <a href='#method.try_push' class='fnname'>try_push</a>(&amp;mut self, c: char) -&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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;char&gt;&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#158-169' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Adds the given char to the end of the string.</p>
<p>Returns <code>Ok</code> if the push succeeds.</p>
<p><strong>Errors</strong> if the backing array is not large enough to fit the additional char.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">string</span>.<span class="ident">try_push</span>(<span class="string">&#39;a&#39;</span>).<span class="ident">unwrap</span>();
<span class="ident">string</span>.<span class="ident">try_push</span>(<span class="string">&#39;b&#39;</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">overflow</span> <span class="op">=</span> <span class="ident">string</span>.<span class="ident">try_push</span>(<span class="string">&#39;c&#39;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;ab&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">overflow</span>.<span class="ident">unwrap_err</span>().<span class="ident">element</span>(), <span class="string">&#39;c&#39;</span>);</pre>
</div><h4 id='method.push_str' class="method"><span id='push_str.v' class='invisible'><code>pub fn <a href='#method.push_str' class='fnname'>push_str</a>(&amp;mut self, s: &amp;str)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#185-187' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Adds the given string slice to the end of the string.</p>
<p><strong><em>Panics</em></strong> if the backing array is not large enough to fit the string.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">&quot;a&quot;</span>);
<span class="ident">string</span>.<span class="ident">push_str</span>(<span class="string">&quot;d&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;ad&quot;</span>);</pre>
</div><h4 id='method.try_push_str' class="method"><span id='try_push_str.v' class='invisible'><code>pub fn <a href='#method.try_push_str' class='fnname'>try_push_str</a>&lt;'a&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;s: &amp;'a str<br>) -&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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;&amp;'a str&gt;&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#209-221' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Adds the given string slice to the end of the string.</p>
<p>Returns <code>Ok</code> if the push succeeds.</p>
<p><strong>Errors</strong> if the backing array is not large enough to fit the string.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">&quot;a&quot;</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">overflow1</span> <span class="op">=</span> <span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">&quot;bc&quot;</span>);
<span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">&quot;d&quot;</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">overflow2</span> <span class="op">=</span> <span class="ident">string</span>.<span class="ident">try_push_str</span>(<span class="string">&quot;ef&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;ad&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">overflow1</span>.<span class="ident">unwrap_err</span>().<span class="ident">element</span>(), <span class="string">&quot;bc&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">overflow2</span>.<span class="ident">unwrap_err</span>().<span class="ident">element</span>(), <span class="string">&quot;ef&quot;</span>);</pre>
</div><h4 id='method.pop' class="method"><span id='pop.v' class='invisible'><code>pub fn <a href='#method.pop' class='fnname'>pop</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;char&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#239-249' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Removes the last character from the string and returns it.</p>
<p>Returns <code>None</code> if this <code>ArrayString</code> is empty.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">3</span>]<span class="op">&gt;</span>::<span class="ident">from</span>(<span class="string">&quot;foo&quot;</span>).<span class="ident">unwrap</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="string">&#39;o&#39;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="string">&#39;o&#39;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="string">&#39;f&#39;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">pop</span>(), <span class="prelude-val">None</span>);</pre>
</div><h4 id='method.truncate' class="method"><span id='truncate.v' class='invisible'><code>pub fn <a href='#method.truncate' class='fnname'>truncate</a>(&amp;mut self, new_len: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#268-279' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Shortens this <code>ArrayString</code> to the specified length.</p>
<p>If <code>new_len</code> is greater than the strings current length, this has no
effect.</p>
<p><strong><em>Panics</em></strong> if <code>new_len</code> does not lie on a <code>char</code> boundary.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">string</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">6</span>]<span class="op">&gt;</span>::<span class="ident">from</span>(<span class="string">&quot;foobar&quot;</span>).<span class="ident">unwrap</span>();
<span class="ident">string</span>.<span class="ident">truncate</span>(<span class="number">3</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;foo&quot;</span>);
<span class="ident">string</span>.<span class="ident">truncate</span>(<span class="number">4</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">string</span>[..], <span class="string">&quot;foo&quot;</span>);</pre>
</div><h4 id='method.remove' class="method"><span id='remove.v' class='invisible'><code>pub fn <a href='#method.remove' class='fnname'>remove</a>(&amp;mut self, idx: usize) -&gt; char</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#299-314' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Removes a <code>char</code> from this <code>ArrayString</code> at a byte position and returns it.</p>
<p>This is an <code>O(n)</code> operation, as it requires copying every element in the
array.</p>
<p><strong><em>Panics</em></strong> if <code>idx</code> is larger than or equal to the <code>ArrayString</code>s length,
or if it does not lie on a <code>char</code> boundary.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayString</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">ArrayString</span>::<span class="op">&lt;</span>[_; <span class="number">3</span>]<span class="op">&gt;</span>::<span class="ident">from</span>(<span class="string">&quot;foo&quot;</span>).<span class="ident">unwrap</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">remove</span>(<span class="number">0</span>), <span class="string">&#39;f&#39;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">remove</span>(<span class="number">1</span>), <span class="string">&#39;o&#39;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">remove</span>(<span class="number">0</span>), <span class="string">&#39;o&#39;</span>);</pre>
</div><h4 id='method.clear' class="method"><span id='clear.v' class='invisible'><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&amp;mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#317-321' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Make the string empty.</p>
</div><h4 id='method.set_len' class="method"><span id='set_len.v' class='invisible'><code>pub unsafe fn <a href='#method.set_len' class='fnname'>set_len</a>(&amp;mut self, length: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#331-334' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Set the stringss length.</p>
<p>This function is <code>unsafe</code> because it changes the notion of the
number of “valid” bytes in the string. Use with care.</p>
<p>This method uses <em>debug assertions</em> to check the validity of <code>length</code>
and may use other debug assertions.</p>
</div><h4 id='method.as_str' class="method"><span id='as_str.v' class='invisible'><code>pub fn <a href='#method.as_str' class='fnname'>as_str</a>(&amp;self) -&gt; &amp;str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#337-339' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return a string slice of the whole <code>ArrayString</code>.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Copy' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Index" title="type arrayvec::Array::Index">Index</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,&nbsp;</span></code><a href='#impl-Copy' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#27' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Default' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Default' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#33-38' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -&gt; <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#35-37' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return an empty <code>ArrayString</code></p>
</div></div><h3 id='impl-Deref' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Deref' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#347-356' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Target' class="type"><span id='Target.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target' class="type">Target</a> = str</code></span></h4>
<div class='docblock'><p>The resulting type after dereferencing.</p>
</div><h4 id='method.deref' class="method"><span id='deref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref' class='fnname'>deref</a>(&amp;self) -&gt; &amp;str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#350-355' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Dereferences the value.</p>
</div></div><h3 id='impl-DerefMut' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-DerefMut' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#358-367' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.deref_mut' class="method"><span id='deref_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut' class='fnname'>deref_mut</a>(&amp;mut self) -&gt; &amp;mut str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#360-366' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Mutably dereferences the value.</p>
</div></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#369-373' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, rhs: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#370-372' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-PartialEq%3Cstr%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;str&gt; for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-PartialEq%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#375-379' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq-1' class="method"><span id='eq.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, rhs: &amp;str) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#376-378' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne-1' class="method"><span id='ne.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-PartialEq%3CArrayString%3CA%3E%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;&gt; for str</code><a href='#impl-PartialEq%3CArrayString%3CA%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#381-385' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq-2' class="method"><span id='eq.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, rhs: &amp;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#382-384' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne-2' class="method"><span id='ne.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#387' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Hash' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Hash' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#389-393' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.hash' class="method"><span id='hash.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash' class='fnname'>hash</a>&lt;H:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, h: &amp;mut H)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#390-392' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Feeds this value into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
</div><h4 id='method.hash_slice' class="method"><span id='hash_slice.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice' class='fnname'>hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: &amp;mut H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.3.0'>1.3.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#202-208' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Feeds a slice of this type into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
</div></div><h3 id='impl-Borrow%3Cstr%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;str&gt; for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Borrow%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#395-397' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.borrow' class="method"><span id='borrow.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; &amp;str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#396' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-AsRef%3Cstr%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;str&gt; for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-AsRef%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#399-401' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.as_ref' class="method"><span id='as_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref' class='fnname'>as_ref</a>(&amp;self) -&gt; &amp;str</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#400' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#403-405' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#404' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-Display' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#407-409' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#408' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id='impl-Write' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a> for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Write' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#412-420' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p><code>Write</code> appends written data to the end of the string.</p>
</div><div class='impl-items'><h4 id='method.write_char' class="method"><span id='write_char.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_char' class='fnname'>write_char</a>(&amp;mut self, c: char) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#413-415' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Writes a [<code>char</code>] into this writer, returning whether the write succeeded. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_char">Read more</a></p>
</div><h4 id='method.write_str' class="method"><span id='write_str.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#tymethod.write_str' class='fnname'>write_str</a>(&amp;mut self, s: &amp;str) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#417-419' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Writes a slice of bytes into this writer, returning whether the write succeeded. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#tymethod.write_str">Read more</a></p>
</div><h4 id='method.write_fmt' class="method"><span id='write_fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_fmt' class='fnname'>write_fmt</a>(&amp;mut self, args: <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Arguments.html" title="struct core::fmt::Arguments">Arguments</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="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/fmt/mod.rs.html#204-227' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Glue for usage of the [<code>write!</code>] macro with implementors of this trait. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html#method.write_fmt">Read more</a></p>
</div></div><h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#422-431' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#423-425' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, rhs: &amp;Self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#426-430' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-PartialOrd' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#433-441' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&amp;self, rhs: &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="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#434-436' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&amp;self, rhs: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#437' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&amp;self, rhs: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#438' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than or equal to (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.le">Read more</a></p>
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&amp;self, rhs: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#439' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&amp;self, rhs: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#440' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than or equal to (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.ge">Read more</a></p>
</div></div><h3 id='impl-PartialOrd%3Cstr%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;str&gt; for <a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-PartialOrd%3Cstr%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#443-451' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.partial_cmp-1' class="method"><span id='partial_cmp.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&amp;self, rhs: &amp;str) -&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;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#444-446' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.lt-1' class="method"><span id='lt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&amp;self, rhs: &amp;str) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#447' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.le-1' class="method"><span id='le.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&amp;self, rhs: &amp;str) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#448' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than or equal to (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.le">Read more</a></p>
</div><h4 id='method.gt-1' class="method"><span id='gt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&amp;self, rhs: &amp;str) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#449' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.ge-1' class="method"><span id='ge.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&amp;self, rhs: &amp;str) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#450' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than or equal to (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.ge">Read more</a></p>
</div></div><h3 id='impl-PartialOrd%3CArrayString%3CA%3E%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;&gt; for str</code><a href='#impl-PartialOrd%3CArrayString%3CA%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#453-461' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.partial_cmp-2' class="method"><span id='partial_cmp.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&amp;self, rhs: &amp;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;) -&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;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#454-456' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.lt-2' class="method"><span id='lt.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&amp;self, rhs: &amp;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#457' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.le-2' class="method"><span id='le.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&amp;self, rhs: &amp;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#458' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than or equal to (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.le">Read more</a></p>
</div><h4 id='method.gt-2' class="method"><span id='gt.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&amp;self, rhs: &amp;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#459' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.ge-2' class="method"><span id='ge.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&amp;self, rhs: &amp;<a class="struct" href="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#460' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than or equal to (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.ge">Read more</a></p>
</div></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&lt;Item = u8&gt;&gt; <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="../arrayvec/struct.ArrayString.html" title="struct arrayvec::ArrayString">ArrayString</a>&lt;A&gt;</code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#463-467' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&amp;self, rhs: &amp;Self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/array_string.rs.html#464-466' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method returns an <code>Ordering</code> 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></p>
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,544 @@
<!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="API documentation for the Rust `ArrayVec` struct in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, ArrayVec">
<title>arrayvec::ArrayVec - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct ArrayVec</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.len">len</a><a href="#method.capacity">capacity</a><a href="#method.is_full">is_full</a><a href="#method.push">push</a><a href="#method.try_push">try_push</a><a href="#method.push_unchecked">push_unchecked</a><a href="#method.insert">insert</a><a href="#method.try_insert">try_insert</a><a href="#method.pop">pop</a><a href="#method.swap_remove">swap_remove</a><a href="#method.swap_pop">swap_pop</a><a href="#method.remove">remove</a><a href="#method.pop_at">pop_at</a><a href="#method.truncate">truncate</a><a href="#method.clear">clear</a><a href="#method.retain">retain</a><a href="#method.set_len">set_len</a><a href="#method.drain">drain</a><a href="#method.into_inner">into_inner</a><a href="#method.dispose">dispose</a><a href="#method.as_slice">as_slice</a><a href="#method.as_mut_slice">as_mut_slice</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Drop">Drop</a><a href="#impl-Deref">Deref</a><a href="#impl-DerefMut">DerefMut</a><a href="#impl-From%3CA%3E">From&lt;A&gt;</a><a href="#impl-IntoIterator">IntoIterator</a><a href="#impl-Extend%3CA%3A%3AItem%3E">Extend&lt;A::Item&gt;</a><a href="#impl-FromIterator%3CA%3A%3AItem%3E">FromIterator&lt;A::Item&gt;</a><a href="#impl-Clone">Clone</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-PartialEq%3C%5BA%3A%3AItem%5D%3E">PartialEq&lt;[A::Item]&gt;</a><a href="#impl-Eq">Eq</a><a href="#impl-Borrow%3C%5BA%3A%3AItem%5D%3E">Borrow&lt;[A::Item]&gt;</a><a href="#impl-BorrowMut%3C%5BA%3A%3AItem%5D%3E">BorrowMut&lt;[A::Item]&gt;</a><a href="#impl-AsRef%3C%5BA%3A%3AItem%5D%3E">AsRef&lt;[A::Item]&gt;</a><a href="#impl-AsMut%3C%5BA%3A%3AItem%5D%3E">AsMut&lt;[A::Item]&gt;</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-Ord">Ord</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'ArrayVec', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>ArrayVec</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#95-98' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct ArrayVec&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; { /* fields omitted */ }</pre><div class='docblock'><p>A vector with a fixed capacity.</p>
<p>The <code>ArrayVec</code> is a vector backed by a fixed size array. It keeps track of
the number of initialized elements.</p>
<p>The vector is a contiguous value that you can store directly on the stack
if needed.</p>
<p>It offers a simple API but also dereferences to a slice, so
that the full slice API is available.</p>
<p>ArrayVec can be converted into a by value iterator.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#117-598' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>() -&gt; <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#131-135' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Create a new empty <code>ArrayVec</code>.</p>
<p>Capacity is inferred from the type parameter.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">16</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">capacity</span>(), <span class="number">16</span>);</pre>
</div><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>pub fn <a href='#method.len' class='fnname'>len</a>(&amp;self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#147' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return the number of elements in the <code>ArrayVec</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="ident">array</span>.<span class="ident">pop</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">len</span>(), <span class="number">2</span>);</pre>
</div><h4 id='method.capacity' class="method"><span id='capacity.v' class='invisible'><code>pub fn <a href='#method.capacity' class='fnname'>capacity</a>(&amp;self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#158' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return the capacity of the <code>ArrayVec</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
</div><h4 id='method.is_full' class="method"><span id='is_full.v' class='invisible'><code>pub fn <a href='#method.is_full' class='fnname'>is_full</a>(&amp;self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#170' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return if the <code>ArrayVec</code> is completely filled.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">1</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">array</span>.<span class="ident">is_full</span>());
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">is_full</span>());</pre>
</div><h4 id='method.push' class="method"><span id='push.v' class='invisible'><code>pub fn <a href='#method.push' class='fnname'>push</a>(&amp;mut self, element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#186-188' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Push <code>element</code> to the end of the vector.</p>
<p><strong><em>Panics</em></strong> if the vector is already full.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);</pre>
</div><h4 id='method.try_push' class="method"><span id='try_push.v' class='invisible'><code>pub fn <a href='#method.try_push' class='fnname'>try_push</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a><br>) -&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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#212-221' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Push <code>element</code> to the end of the vector.</p>
<p>Return <code>Ok</code> if the push succeeds, or return an error if the vector
is already full.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="kw">let</span> <span class="ident">push1</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">try_push</span>(<span class="number">1</span>);
<span class="kw">let</span> <span class="ident">push2</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">try_push</span>(<span class="number">2</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">push1</span>.<span class="ident">is_ok</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">push2</span>.<span class="ident">is_ok</span>());
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);
<span class="kw">let</span> <span class="ident">overflow</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">try_push</span>(<span class="number">3</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">overflow</span>.<span class="ident">is_err</span>());</pre>
</div><h4 id='method.push_unchecked' class="method"><span id='push_unchecked.v' class='invisible'><code>pub unsafe fn <a href='#method.push_unchecked' class='fnname'>push_unchecked</a>(&amp;mut self, element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#246-251' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Push <code>element</code> to the end of the vector without checking the capacity.</p>
<p>It is up to the caller to ensure the capacity of the vector is
sufficiently large.</p>
<p>This method uses <em>debug assertions</em> to check that the arrayvec is not full.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="kw">if</span> <span class="ident">array</span>.<span class="ident">len</span>() <span class="op">+</span> <span class="number">2</span> <span class="op">&lt;=</span> <span class="ident">array</span>.<span class="ident">capacity</span>() {
<span class="kw">unsafe</span> {
<span class="ident">array</span>.<span class="ident">push_unchecked</span>(<span class="number">1</span>);
<span class="ident">array</span>.<span class="ident">push_unchecked</span>(<span class="number">2</span>);
}
}
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);</pre>
</div><h4 id='method.insert' class="method"><span id='insert.v' class='invisible'><code>pub fn <a href='#method.insert' class='fnname'>insert</a>(&amp;mut self, index: usize, element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#272-274' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Insert <code>element</code> at position <code>index</code>.</p>
<p>Shift up all elements after <code>index</code>.</p>
<p>It is an error if the index is greater than the length or if the
arrayvec is full.</p>
<p><strong><em>Panics</em></strong> on errors. See <code>try_result</code> for fallible version.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">array</span>.<span class="ident">insert</span>(<span class="number">0</span>, <span class="string">&quot;x&quot;</span>);
<span class="ident">array</span>.<span class="ident">insert</span>(<span class="number">0</span>, <span class="string">&quot;y&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="string">&quot;y&quot;</span>, <span class="string">&quot;x&quot;</span>]);
</pre>
</div><h4 id='method.try_insert' class="method"><span id='try_insert.v' class='invisible'><code>pub fn <a href='#method.try_insert' class='fnname'>try_insert</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;index: usize, <br>&nbsp;&nbsp;&nbsp;&nbsp;element: A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a><br>) -&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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#296-320' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Insert <code>element</code> at position <code>index</code>.</p>
<p>Shift up all elements after <code>index</code>; the <code>index</code> must be less than
or equal to the length.</p>
<p>Returns an error if vector is already at full capacity.</p>
<p><strong><em>Panics</em></strong> <code>index</code> is out of bounds.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">try_insert</span>(<span class="number">0</span>, <span class="string">&quot;x&quot;</span>).<span class="ident">is_ok</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">try_insert</span>(<span class="number">0</span>, <span class="string">&quot;y&quot;</span>).<span class="ident">is_ok</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">try_insert</span>(<span class="number">0</span>, <span class="string">&quot;z&quot;</span>).<span class="ident">is_err</span>());
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="string">&quot;y&quot;</span>, <span class="string">&quot;x&quot;</span>]);
</pre>
</div><h4 id='method.pop' class="method"><span id='pop.v' class='invisible'><code>pub fn <a href='#method.pop' class='fnname'>pop</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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#336-345' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Remove the last element in the vector and return it.</p>
<p>Return <code>Some(</code> <em>element</em> <code>)</code> if the vector is non-empty, else <code>None</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="op">&lt;</span>[_; <span class="number">2</span>]<span class="op">&gt;</span>::<span class="ident">new</span>();
<span class="ident">array</span>.<span class="ident">push</span>(<span class="number">1</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop</span>(), <span class="prelude-val">Some</span>(<span class="number">1</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop</span>(), <span class="prelude-val">None</span>);</pre>
</div><h4 id='method.swap_remove' class="method"><span id='swap_remove.v' class='invisible'><code>pub fn <a href='#method.swap_remove' class='fnname'>swap_remove</a>(&amp;mut self, index: usize) -&gt; A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#366-371' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Remove the element at <code>index</code> and swap the last element into its place.</p>
<p>This operation is O(1).</p>
<p>Return the <em>element</em> if the index is in bounds, else panic.</p>
<p><strong><em>Panics</em></strong> if the <code>index</code> is out of bounds.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">swap_remove</span>(<span class="number">0</span>), <span class="number">1</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">2</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">swap_remove</span>(<span class="number">1</span>), <span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">3</span>]);</pre>
</div><h4 id='method.swap_pop' class="method"><span id='swap_pop.v' class='invisible'><code>pub fn <a href='#method.swap_pop' class='fnname'>swap_pop</a>(&amp;mut self, index: usize) -&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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#390-397' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Remove the element at <code>index</code> and swap the last element into its place.</p>
<p>This is a checked version of <code>.swap_remove</code>.<br />
This operation is O(1).</p>
<p>Return <code>Some(</code> <em>element</em> <code>)</code> if the index is in bounds, else <code>None</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">swap_pop</span>(<span class="number">0</span>), <span class="prelude-val">Some</span>(<span class="number">1</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">3</span>, <span class="number">2</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">swap_pop</span>(<span class="number">10</span>), <span class="prelude-val">None</span>);</pre>
</div><h4 id='method.remove' class="method"><span id='remove.v' class='invisible'><code>pub fn <a href='#method.remove' class='fnname'>remove</a>(&amp;mut self, index: usize) -&gt; A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#414-419' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Remove the element at <code>index</code> and shift down the following elements.</p>
<p>The <code>index</code> must be strictly less than the length of the vector.</p>
<p><strong><em>Panics</em></strong> if the <code>index</code> is out of bounds.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="kw">let</span> <span class="ident">removed_elt</span> <span class="op">=</span> <span class="ident">array</span>.<span class="ident">remove</span>(<span class="number">0</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">removed_elt</span>, <span class="number">1</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>]);</pre>
</div><h4 id='method.pop_at' class="method"><span id='pop_at.v' class='invisible'><code>pub fn <a href='#method.pop_at' class='fnname'>pop_at</a>(&amp;mut self, index: usize) -&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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#437-443' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Remove the element at <code>index</code> and shift down the following elements.</p>
<p>This is a checked version of <code>.remove(index)</code>. Returns <code>None</code> if there
is no element at <code>index</code>. Otherwise, return the element inside <code>Some</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop_at</span>(<span class="number">0</span>).<span class="ident">is_some</span>());
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop_at</span>(<span class="number">2</span>).<span class="ident">is_none</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">pop_at</span>(<span class="number">10</span>).<span class="ident">is_none</span>());</pre>
</div><h4 id='method.truncate' class="method"><span id='truncate.v' class='invisible'><code>pub fn <a href='#method.truncate' class='fnname'>truncate</a>(&amp;mut self, len: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#460-462' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Shortens the vector, keeping the first <code>len</code> elements and dropping
the rest.</p>
<p>If <code>len</code> is greater than the vectors current length this has no
effect.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</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="ident">array</span>.<span class="ident">truncate</span>(<span class="number">3</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="ident">array</span>.<span class="ident">truncate</span>(<span class="number">4</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);</pre>
</div><h4 id='method.clear' class="method"><span id='clear.v' class='invisible'><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&amp;mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#465-467' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Remove all elements in the vector.</p>
</div><h4 id='method.retain' class="method"><span id='retain.v' class='invisible'><code>pub fn <a href='#method.retain' class='fnname'>retain</a>&lt;F&gt;(&amp;mut self, f: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;mut A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#482-501' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Retains only the elements specified by the predicate.</p>
<p>In other words, remove all elements <code>e</code> such that <code>f(&amp;mut e)</code> returns false.
This method operates in place and preserves the order of the retained
elements.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>, <span class="number">4</span>]);
<span class="ident">array</span>.<span class="ident">retain</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="kw-2">*</span><span class="ident">x</span> <span class="op">&amp;</span> <span class="number">1</span> <span class="op">!=</span> <span class="number">0</span> );
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">array</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">3</span>]);</pre>
</div><h4 id='method.set_len' class="method"><span id='set_len.v' class='invisible'><code>pub unsafe fn <a href='#method.set_len' class='fnname'>set_len</a>(&amp;mut self, length: usize)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#511-514' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Set the vectors length without dropping or moving out elements</p>
<p>This method is <code>unsafe</code> because it changes the notion of the
number of “valid” elements in the vector. Use with care.</p>
<p>This method uses <em>debug assertions</em> to check that check that <code>length</code> is
not greater than the capacity.</p>
</div><h4 id='method.drain' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a,&nbsp;</span></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>;</span></code></div></div><span id='drain.v' class='invisible'><code>pub fn <a href='#method.drain' class='fnname'>drain</a>&lt;R:&nbsp;<a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a>&gt;(&amp;mut self, range: R) -&gt; <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#535-562' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Create a draining iterator that removes the specified range in the vector
and yields the removed items from start to end. The element range is
removed even if the iterator is not consumed until the end.</p>
<p>Note: It is unspecified how many elements are removed from the vector,
if the <code>Drain</code> value is leaked.</p>
<p><strong>Panics</strong> if the starting point is greater than the end point or if
the end point is greater than the length of the vector.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">ArrayVec</span><span class="op">&lt;</span>[_; <span class="number">3</span>]<span class="op">&gt;</span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">drain</span>(<span class="number">0</span>..<span class="number">2</span>).<span class="ident">collect</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">v</span>[..], <span class="kw-2">&amp;</span>[<span class="number">3</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="kw-2">&amp;</span><span class="ident">u</span>[..], <span class="kw-2">&amp;</span>[<span class="number">1</span>, <span class="number">2</span>]);</pre>
</div><h4 id='method.into_inner' class="method"><span id='into_inner.v' class='invisible'><code>pub fn <a href='#method.into_inner' class='fnname'>into_inner</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;A, Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#571-581' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return the inner fixed size array, if it is full to its capacity.</p>
<p>Return an <code>Ok</code> value with the array if length equals capacity,
return an <code>Err</code> with self otherwise.</p>
<p><code>Note:</code> This function may incur unproportionally large overhead
to move the array out, its performance is not optimal.</p>
</div><h4 id='method.dispose' class="method"><span id='dispose.v' class='invisible'><code>pub fn <a href='#method.dispose' class='fnname'>dispose</a>(self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#584-587' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Dispose of <code>self</code> without the overwriting that is needed in Drop.</p>
</div><h4 id='method.as_slice' class="method"><span id='as_slice.v' class='invisible'><code>pub fn <a href='#method.as_slice' class='fnname'>as_slice</a>(&amp;self) -&gt; &amp;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#590-592' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return a slice containing all elements of the vector.</p>
</div><h4 id='method.as_mut_slice' class="method"><span id='as_mut_slice.v' class='invisible'><code>pub fn <a href='#method.as_mut_slice' class='fnname'>as_mut_slice</a>(&amp;mut self) -&gt; &amp;mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#595-597' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return a mutable slice containing all elements of the vector.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Drop' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-Drop' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#100-108' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.drop' class="method"><span id='drop.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&amp;mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#101-107' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></div><h3 id='impl-Deref' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-Deref' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#600-608' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Target' class="type"><span id='Target.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target' class="type">Target</a> = [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span></h4>
<div class='docblock'><p>The resulting type after dereferencing.</p>
</div><h4 id='method.deref' class="method"><span id='deref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref' class='fnname'>deref</a>(&amp;self) -&gt; &amp;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#603-607' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Dereferences the value.</p>
</div></div><h3 id='impl-DerefMut' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-DerefMut' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#610-618' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.deref_mut' class="method"><span id='deref_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/deref/trait.DerefMut.html#tymethod.deref_mut' class='fnname'>deref_mut</a>(&amp;mut self) -&gt; &amp;mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#612-617' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Mutably dereferences the value.</p>
</div></div><h3 id='impl-From%3CA%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;A&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-From%3CA%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#629-633' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Create an <code>ArrayVec</code> from an array.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">len</span>(), <span class="number">3</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">array</span>.<span class="ident">capacity</span>(), <span class="number">3</span>);</pre>
</div><div class='impl-items'><h4 id='method.from' class="method"><span id='from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(array: A) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#630-632' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Performs the conversion.</p>
</div></div><h3 id='impl-IntoIterator' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a> for &amp;'a <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-IntoIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#647-651' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Iterate the <code>ArrayVec</code> with references to each element.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="kw">for</span> <span class="ident">elt</span> <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="ident">array</span> {
<span class="comment">// ...</span>
}</pre>
</div><div class='impl-items'><h4 id='associatedtype.Item' class="type"><span id='Item.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = &amp;'a A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
<div class='docblock'><p>The type of the elements being iterated over.</p>
</div><h4 id='associatedtype.IntoIter' class="type"><span id='IntoIter.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/struct.Iter.html" title="struct core::slice::Iter">Iter</a>&lt;'a, A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span></h4>
<div class='docblock'><p>Which kind of iterator are we turning this into?</p>
</div><h4 id='method.into_iter' class="method"><span id='into_iter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter' class='fnname'>into_iter</a>(self) -&gt; Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#650' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
</div></div><h3 id='impl-IntoIterator-1' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a> for &amp;'a mut <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-IntoIterator-1' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#664-668' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Iterate the <code>ArrayVec</code> with mutable references to each element.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">array</span> <span class="op">=</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]);
<span class="kw">for</span> <span class="ident">elt</span> <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">array</span> {
<span class="comment">// ...</span>
}</pre>
</div><div class='impl-items'><h4 id='associatedtype.Item-1' class="type"><span id='Item.t-1' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = &amp;'a mut A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
<div class='docblock'><p>The type of the elements being iterated over.</p>
</div><h4 id='associatedtype.IntoIter-1' class="type"><span id='IntoIter.t-1' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = <a class="struct" href="https://doc.rust-lang.org/nightly/core/slice/struct.IterMut.html" title="struct core::slice::IterMut">IterMut</a>&lt;'a, A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span></h4>
<div class='docblock'><p>Which kind of iterator are we turning this into?</p>
</div><h4 id='method.into_iter-1' class="method"><span id='into_iter.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter' class='fnname'>into_iter</a>(self) -&gt; Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#667' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
</div></div><h3 id='impl-IntoIterator-2' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a> for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-IntoIterator-2' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#681-687' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Iterate the <code>ArrayVec</code> with each element by value.</p>
<p>The vector is consumed by this operation.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">arrayvec</span>::<span class="ident">ArrayVec</span>;
<span class="kw">for</span> <span class="ident">elt</span> <span class="kw">in</span> <span class="ident">ArrayVec</span>::<span class="ident">from</span>([<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>]) {
<span class="comment">// ...</span>
}</pre>
</div><div class='impl-items'><h4 id='associatedtype.Item-2' class="type"><span id='Item.t-2' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
<div class='docblock'><p>The type of the elements being iterated over.</p>
</div><h4 id='associatedtype.IntoIter-2' class="type"><span id='IntoIter.t-2' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter' class="type">IntoIter</a> = <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</code></span></h4>
<div class='docblock'><p>Which kind of iterator are we turning this into?</p>
</div><h4 id='method.into_iter-2' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>;</span></code></div></div><span id='into_iter.v-2' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter' class='fnname'>into_iter</a>(self) -&gt; <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#684-686' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator from a value. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#tymethod.into_iter">Read more</a></p>
</div></div><h3 id='impl-Extend%3CA%3A%3AItem%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-Extend%3CA%3A%3AItem%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#848-872' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Extend the <code>ArrayVec</code> with an iterator.</p>
<p>Does not extract more items than there is space for. No error
occurs if there are more iterator elements.</p>
</div><div class='impl-items'><h4 id='method.extend' class="method"><span id='extend.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html#tymethod.extend' class='fnname'>extend</a>&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;&gt;(&amp;mut self, iter: T)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#849-871' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html#tymethod.extend">Read more</a></p>
</div></div><h3 id='impl-FromIterator%3CA%3A%3AItem%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a>&lt;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-FromIterator%3CA%3A%3AItem%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#878-884' title='goto source code'>[src]</a></span></h3>
<div class='docblock'><p>Create an <code>ArrayVec</code> from an iterator.</p>
<p>Does not extract more items than there is space for. No error
occurs if there are more iterator elements.</p>
</div><div class='impl-items'><h4 id='method.from_iter' class="method"><span id='from_iter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html#tymethod.from_iter' class='fnname'>from_iter</a>&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;&gt;(iter: T) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#879-883' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates a value from an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html#tymethod.from_iter">Read more</a></p>
</div></div><h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#886-914' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#889-891' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, rhs: &amp;Self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#893-913' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-Hash' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,&nbsp;</span></code><a href='#impl-Hash' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#916-922' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.hash' class="method"><span id='hash.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash' class='fnname'>hash</a>&lt;H:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: &amp;mut H)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#919-921' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Feeds this value into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
</div><h4 id='method.hash_slice' class="method"><span id='hash_slice.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice' class='fnname'>hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: &amp;mut H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.3.0'>1.3.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#202-208' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Feeds a slice of this type into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
</div></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,&nbsp;</span></code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#924-930' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, other: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#927-929' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-PartialEq%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,&nbsp;</span></code><a href='#impl-PartialEq%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#932-938' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq-1' class="method"><span id='eq.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, other: &amp;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#935-937' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne-1' class="method"><span id='ne.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#121' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,&nbsp;</span></code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#940' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Borrow%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-Borrow%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#942-944' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.borrow' class="method"><span id='borrow.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; &amp;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#943' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-BorrowMut%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-BorrowMut%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#946-948' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.borrow_mut' class="method"><span id='borrow_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; &amp;mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#947' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-AsRef%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-AsRef%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#950-952' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.as_ref' class="method"><span id='as_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref' class='fnname'>as_ref</a>(&amp;self) -&gt; &amp;[A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#951' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Performs the conversion.</p>
</div></div><h3 id='impl-AsMut%3C%5BA%3A%3AItem%5D%3E' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]&gt; for <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-AsMut%3C%5BA%3A%3AItem%5D%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#954-956' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.as_mut' class="method"><span id='as_mut.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html#tymethod.as_mut' class='fnname'>as_mut</a>(&amp;mut self) -&gt; &amp;mut [A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>]</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#955' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>,&nbsp;</span></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#958-960' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#959' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-Default' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code><a href='#impl-Default' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#962-967' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -&gt; <a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#964-966' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Return an empty array</p>
</div></div><h3 id='impl-PartialOrd' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,&nbsp;</span></code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#969-994' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;) -&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;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#971-973' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&amp;self, other: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#976-978' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&amp;self, other: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#981-983' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than or equal to (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.le">Read more</a></p>
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&amp;self, other: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#986-988' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than or equal to (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.ge">Read more</a></p>
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&amp;self, other: &amp;Self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#991-993' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <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="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#996-1000' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&amp;self, other: &amp;<a class="struct" href="../arrayvec/struct.ArrayVec.html" title="struct arrayvec::ArrayVec">ArrayVec</a>&lt;A&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#997-999' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method returns an <code>Ordering</code> 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></p>
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,179 @@
<!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="API documentation for the Rust `CapacityError` struct in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, CapacityError">
<title>arrayvec::CapacityError - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct CapacityError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.element">element</a><a href="#method.simplify">simplify</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Eq">Eq</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq">PartialEq</a><a href="#impl-PartialOrd">PartialOrd</a><a href="#impl-Display">Display</a><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'CapacityError', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>CapacityError</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/errors.rs.html#9-11' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct CapacityError&lt;T&nbsp;=&nbsp;()&gt; { /* fields omitted */ }</pre><div class='docblock'><p>Error value indicating insufficient capacity</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl&lt;T&gt; <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#13-30' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>(element: T) -&gt; <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#15-19' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Create a new <code>CapacityError</code> from <code>element</code>.</p>
</div><h4 id='method.element' class="method"><span id='element.v' class='invisible'><code>pub fn <a href='#method.element' class='fnname'>element</a>(self) -&gt; T</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#22-24' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Extract the overflowing element</p>
</div><h4 id='method.simplify' class="method"><span id='simplify.v' class='invisible'><code>pub fn <a href='#method.simplify' class='fnname'>simplify</a>(self) -&gt; <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#27-29' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Convert into a <code>CapacityError</code> that does not carry an element.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: &amp;Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-Copy' class='impl'><span class='in-band'><code>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-Copy' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Eq' class='impl'><span class='in-band'><code>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>&gt; <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-Eq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Ord' class='impl'><span class='in-band'><code>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>&gt; <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-Ord' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp' class='fnname'>cmp</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method returns an <code>Ordering</code> 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></p>
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max' class='fnname'>max</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#460-463' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min' class='fnname'>min</a>(self, other: Self) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#476-479' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-PartialEq' class='impl'><span class='in-band'><code>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&gt; <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-PartialEq' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-PartialOrd' class='impl'><span class='in-band'><code>impl&lt;T:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&gt; <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-PartialOrd' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp' class='fnname'>partial_cmp</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&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;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt' class='fnname'>lt</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le' class='fnname'>le</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests less than or equal to (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.le">Read more</a></p>
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt' class='fnname'>gt</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge' class='fnname'>ge</a>(&amp;self, __arg_0: &amp;<a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#8' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>This method tests greater than or equal to (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.ge">Read more</a></p>
</div></div><h3 id='impl-Display' class='impl'><span class='in-band'><code>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#42-46' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#43-45' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl&lt;T&gt; <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="../arrayvec/struct.CapacityError.html" title="struct arrayvec::CapacityError">CapacityError</a>&lt;T&gt;</code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#48-52' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/errors.rs.html#49-51' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

259
arrayvec/struct.Drain.html Normal file
View file

@ -0,0 +1,259 @@
<!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="API documentation for the Rust `Drain` struct in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Drain">
<title>arrayvec::Drain - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct Drain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Sync">Sync</a><a href="#impl-Send">Send</a><a href="#impl-Iterator">Iterator</a><a href="#impl-DoubleEndedIterator">DoubleEndedIterator</a><a href="#impl-ExactSizeIterator">ExactSizeIterator</a><a href="#impl-Drop">Drop</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'Drain', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>Drain</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#751-762' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct Drain&lt;'a, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A: <a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a,&nbsp;</span> { /* fields omitted */ }</pre><div class='docblock'><p>A draining iterator for <code>ArrayVec</code>.</p>
</div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Sync' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>&gt; <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="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt;</code><a href='#impl-Sync' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#764' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Send' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt; <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="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt;</code><a href='#impl-Send' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#765' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'></div><h3 id='impl-Iterator' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a,&nbsp;</span></code><a href='#impl-Iterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#767-785' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Item' class="type"><span id='Item.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
<div class='docblock'><p>The type of the elements being iterated over.</p>
</div><h4 id='method.next' class="method"><span id='next.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#tymethod.next' class='fnname'>next</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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#773-779' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#tymethod.next">Read more</a></p>
</div><h4 id='method.size_hint' class="method"><span id='size_hint.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.size_hint' class='fnname'>size_hint</a>(&amp;self) -&gt; (usize, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#782-784' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.size_hint">Read more</a></p>
</div><h4 id='method.count' class="method"><span id='count.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count' class='fnname'>count</a>(self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#187-190' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count">Read more</a></p>
</div><h4 id='method.last' class="method"><span id='last.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.last' class='fnname'>last</a>(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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#213-217' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.last">Read more</a></p>
</div><h4 id='method.nth' class="method"><span id='nth.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.nth' class='fnname'>nth</a>(&amp;mut self, n: usize) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#262-268' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.nth">Read more</a></p>
</div><h4 id='method.step_by' class="method"><span id='step_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.step_by' class='fnname'>step_by</a>(self, step: usize) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.StepBy.html" title="struct core::iter::StepBy">StepBy</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#298-301' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><details><summary><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_step_by</code>)</summary><p>unstable replacement of Range::step_by</p>
</details></div></div><div class='docblock'><p>Creates an iterator starting at the same point, but stepping by the given amount at each iteration. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.step_by">Read more</a></p>
</div><h4 id='method.chain' class="method"><span id='chain.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain' class='fnname'>chain</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Chain.html" title="struct core::iter::Chain">Chain</a>&lt;Self, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#354-358' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Takes two iterators and creates a new iterator over both in sequence. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain">Read more</a></p>
</div><h4 id='method.zip' class="method"><span id='zip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip' class='fnname'>zip</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Zip.html" title="struct core::iter::Zip">Zip</a>&lt;Self, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#431-435' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>'Zips up' two iterators into a single iterator of pairs. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip">Read more</a></p>
</div><h4 id='method.map' class="method"><span id='map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map' class='fnname'>map</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Map.html" title="struct core::iter::Map">Map</a>&lt;Self, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#487-491' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Takes a closure and creates an iterator which calls that closure on each element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map">Read more</a></p>
</div><h4 id='method.for_each' class="method"><span id='for_each.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each' class='fnname'>for_each</a>&lt;F&gt;(self, f: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>),&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#530-534' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Calls a closure on each element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each">Read more</a></p>
</div><h4 id='method.filter' class="method"><span id='filter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter' class='fnname'>filter</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Filter.html" title="struct core::iter::Filter">Filter</a>&lt;Self, P&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#598-602' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which uses a closure to determine if an element should be yielded. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter">Read more</a></p>
</div><h4 id='method.filter_map' class="method"><span id='filter_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map' class='fnname'>filter_map</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FilterMap.html" title="struct core::iter::FilterMap">FilterMap</a>&lt;Self, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</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;B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#655-659' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that both filters and maps. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map">Read more</a></p>
</div><h4 id='method.enumerate' class="method"><span id='enumerate.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate' class='fnname'>enumerate</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Enumerate.html" title="struct core::iter::Enumerate">Enumerate</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#701-703' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which gives the current iteration count as well as the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate">Read more</a></p>
</div><h4 id='method.peekable' class="method"><span id='peekable.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable' class='fnname'>peekable</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Peekable.html" title="struct core::iter::Peekable">Peekable</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#747-749' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which can use <code>peek</code> to look at the next element of the iterator without consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable">Read more</a></p>
</div><h4 id='method.skip_while' class="method"><span id='skip_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while' class='fnname'>skip_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.SkipWhile.html" title="struct core::iter::SkipWhile">SkipWhile</a>&lt;Self, P&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#808-812' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that [<code>skip</code>]s elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while">Read more</a></p>
</div><h4 id='method.take_while' class="method"><span id='take_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while' class='fnname'>take_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.TakeWhile.html" title="struct core::iter::TakeWhile">TakeWhile</a>&lt;Self, P&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#888-892' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that yields elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while">Read more</a></p>
</div><h4 id='method.skip' class="method"><span id='skip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip' class='fnname'>skip</a>(self, n: usize) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Skip.html" title="struct core::iter::Skip">Skip</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#912-914' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip">Read more</a></p>
</div><h4 id='method.take' class="method"><span id='take.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take' class='fnname'>take</a>(self, n: usize) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Take.html" title="struct core::iter::Take">Take</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#944-946' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that yields its first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take">Read more</a></p>
</div><h4 id='method.scan' class="method"><span id='scan.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan' class='fnname'>scan</a>&lt;St, B, F&gt;(self, initial_state: St, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Scan.html" title="struct core::iter::Scan">Scan</a>&lt;Self, St, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;mut St, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</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;B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#987-991' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>An iterator adaptor similar to [<code>fold</code>] that holds internal state and produces a new iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan">Read more</a></p>
</div><h4 id='method.flat_map' class="method"><span id='flat_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map' class='fnname'>flat_map</a>&lt;U, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FlatMap.html" title="struct core::iter::FlatMap">FlatMap</a>&lt;Self, U, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; U,<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1021-1025' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that works like map, but flattens nested structure. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map">Read more</a></p>
</div><h4 id='method.fuse' class="method"><span id='fuse.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse' class='fnname'>fuse</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Fuse.html" title="struct core::iter::Fuse">Fuse</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1083-1085' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which ends after the first [<code>None</code>]. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse">Read more</a></p>
</div><h4 id='method.inspect' class="method"><span id='inspect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect' class='fnname'>inspect</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Inspect.html" title="struct core::iter::Inspect">Inspect</a>&lt;Self, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>),&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1136-1140' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Do something with each element of an iterator, passing the value on. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect">Read more</a></p>
</div><h4 id='method.by_ref' class="method"><span id='by_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref' class='fnname'>by_ref</a>(&amp;mut self) -&gt; &amp;mut Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1182' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref">Read more</a></p>
</div><h4 id='method.collect' class="method"><span id='collect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect' class='fnname'>collect</a>&lt;B&gt;(self) -&gt; B <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1302-1304' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect">Read more</a></p>
</div><h4 id='method.partition' class="method"><span id='partition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition' class='fnname'>partition</a>&lt;B, F&gt;(self, f: F) -&gt; (B, B) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1326-1343' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Consumes an iterator, creating two collections from it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition">Read more</a></p>
</div><h4 id='method.try_fold' class="method"><span id='try_fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold' class='fnname'>try_fold</a>&lt;B, F, R&gt;(&amp;mut self, init: B, f: F) -&gt; R <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; R,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try/trait.Try.html" title="trait core::ops::try::Try">Try</a>&lt;Ok = B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1407-1415' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>An iterator method that applies a function as long as it returns successfully, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold">Read more</a></p>
</div><h4 id='method.fold' class="method"><span id='fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fold' class='fnname'>fold</a>&lt;B, F&gt;(self, init: B, f: F) -&gt; B <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1487-1491' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>An iterator method that applies a function, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fold">Read more</a></p>
</div><h4 id='method.all' class="method"><span id='all.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all' class='fnname'>all</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1532-1539' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Tests if every element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all">Read more</a></p>
</div><h4 id='method.any' class="method"><span id='any.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any' class='fnname'>any</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1580-1588' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Tests if any element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any">Read more</a></p>
</div><h4 id='method.find' class="method"><span id='find.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find' class='fnname'>find</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1634-1642' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Searches for an element of an iterator that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find">Read more</a></p>
</div><h4 id='method.position' class="method"><span id='position.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position' class='fnname'>position</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1701-1710' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Searches for an element in an iterator, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position">Read more</a></p>
</div><h4 id='method.rposition' class="method"><span id='rposition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition' class='fnname'>rposition</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1752-1764' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Searches for an element in an iterator from the right, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition">Read more</a></p>
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max' class='fnname'>max</a>(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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1786-1794' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the maximum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max">Read more</a></p>
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min' class='fnname'>min</a>(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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1816-1824' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the minimum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min">Read more</a></p>
</div><h4 id='method.max_by_key' class="method"><span id='max_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key' class='fnname'>max_by_key</a>&lt;B, F&gt;(self, f: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1842-1851' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the maximum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key">Read more</a></p>
</div><h4 id='method.max_by' class="method"><span id='max_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by' class='fnname'>max_by</a>&lt;F&gt;(self, compare: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1869-1878' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the maximum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by">Read more</a></p>
</div><h4 id='method.min_by_key' class="method"><span id='min_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key' class='fnname'>min_by_key</a>&lt;B, F&gt;(self, f: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1895-1904' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the minimum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key">Read more</a></p>
</div><h4 id='method.min_by' class="method"><span id='min_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by' class='fnname'>min_by</a>&lt;F&gt;(self, compare: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1922-1931' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the minimum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by">Read more</a></p>
</div><h4 id='method.rev' class="method"><span id='rev.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev' class='fnname'>rev</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Rev.html" title="struct core::iter::Rev">Rev</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1959-1961' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Reverses an iterator's direction. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev">Read more</a></p>
</div><h4 id='method.unzip' class="method"><span id='unzip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip' class='fnname'>unzip</a>&lt;A, B, FromA, FromB&gt;(self) -&gt; (FromA, FromB) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;FromA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;A&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;FromB: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a>&lt;Item = (A, B)&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1986-2000' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Converts an iterator of pairs into a pair of containers. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip">Read more</a></p>
</div><h4 id='method.cloned' class="method"><span id='cloned.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned' class='fnname'>cloned</a>&lt;'a, T&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cloned.html" title="struct core::iter::Cloned">Cloned</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a>&lt;Item = &amp;'a T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2025-2029' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which [<code>clone</code>]s all of its elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned">Read more</a></p>
</div><h4 id='method.cycle' class="method"><span id='cycle.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle' class='fnname'>cycle</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cycle.html" title="struct core::iter::Cycle">Cycle</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2058-2060' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Repeats an iterator endlessly. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle">Read more</a></p>
</div><h4 id='method.sum' class="method"><span id='sum.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum' class='fnname'>sum</a>&lt;S&gt;(self) -&gt; S <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Sum.html" title="trait core::iter::traits::Sum">Sum</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2085-2090' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Sums the elements of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum">Read more</a></p>
</div><h4 id='method.product' class="method"><span id='product.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product' class='fnname'>product</a>&lt;P&gt;(self) -&gt; P <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Product.html" title="trait core::iter::traits::Product">Product</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2113-2118' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Iterates over the entire iterator, multiplying all the elements <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product">Read more</a></p>
</div><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp' class='fnname'>cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2123-2150' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp">Read more</a></p>
</div><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp' class='fnname'>partial_cmp</a>&lt;I&gt;(self, other: 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;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2155-2182' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp">Read more</a></p>
</div><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq' class='fnname'>eq</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2187-2207' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq">Read more</a></p>
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne' class='fnname'>ne</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2212-2232' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are unequal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne">Read more</a></p>
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt' class='fnname'>lt</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2237-2262' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt">Read more</a></p>
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le' class='fnname'>le</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2267-2292' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le">Read more</a></p>
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt' class='fnname'>gt</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2297-2322' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt">Read more</a></p>
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge' class='fnname'>ge</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2327-2352' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge">Read more</a></p>
</div></div><h3 id='impl-DoubleEndedIterator' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a,&nbsp;</span></code><a href='#impl-DoubleEndedIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#787-798' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.next_back' class="method"><span id='next_back.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#tymethod.next_back' class='fnname'>next_back</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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#791-797' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></p>
</div><h4 id='method.try_rfold' class="method"><span id='try_rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.try_rfold' class='fnname'>try_rfold</a>&lt;B, F, R&gt;(&amp;mut self, init: B, f: F) -&gt; R <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; R,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try/trait.Try.html" title="trait core::ops::try::Try">Try</a>&lt;Ok = B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#456-464' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>This is the reverse version of [<code>try_fold()</code>]: it takes elements starting from the back of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.try_rfold">Read more</a></p>
</div><h4 id='method.rfold' class="method"><span id='rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfold' class='fnname'>rfold</a>&lt;B, F&gt;(self, accum: B, f: F) -&gt; B <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#521-525' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfold</code>)</div></div><div class='docblock'><p>An iterator method that reduces the iterator's elements to a single, final value, starting from the back. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfold">Read more</a></p>
</div><h4 id='method.rfind' class="method"><span id='rfind.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfind' class='fnname'>rfind</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#575-583' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfind</code>)</div></div><div class='docblock'><p>Searches for an element of an iterator from the right that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfind">Read more</a></p>
</div></div><h3 id='impl-ExactSizeIterator' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a,&nbsp;</span></code><a href='#impl-ExactSizeIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#800' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len' class='fnname'>len</a>(&amp;self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#687-695' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the exact number of times the iterator will iterate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len">Read more</a></p>
</div><h4 id='method.is_empty' class="method"><span id='is_empty.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty' class='fnname'>is_empty</a>(&amp;self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#719-721' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</div></div><div class='docblock'><p>Returns whether the iterator is empty. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty">Read more</a></p>
</div></div><h3 id='impl-Drop' class='impl'><span class='in-band'><code>impl&lt;'a, A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../arrayvec/struct.Drain.html" title="struct arrayvec::Drain">Drain</a>&lt;'a, A&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>: 'a,&nbsp;</span></code><a href='#impl-Drop' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#802-824' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.drop' class="method"><span id='drop.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&amp;mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#805-823' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,257 @@
<!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="API documentation for the Rust `IntoIter` struct in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, IntoIter">
<title>arrayvec::IntoIter - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct IntoIter</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Iterator">Iterator</a><a href="#impl-DoubleEndedIterator">DoubleEndedIterator</a><a href="#impl-ExactSizeIterator">ExactSizeIterator</a><a href="#impl-Drop">Drop</a></div></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'IntoIter', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>arrayvec</a>::<wbr><a class="struct" href=''>IntoIter</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/lib.rs.html#691-694' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct IntoIter&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; { /* fields omitted */ }</pre><div class='docblock'><p>By-value iterator for <code>ArrayVec</code>.</p>
</div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Iterator' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</code><a href='#impl-Iterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#696-716' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='associatedtype.Item' class="type"><span id='Item.t' class='invisible'><code>type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = A::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a></code></span></h4>
<div class='docblock'><p>The type of the elements being iterated over.</p>
</div><h4 id='method.next' class="method"><span id='next.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#tymethod.next' class='fnname'>next</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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#700-710' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Advances the iterator and returns the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#tymethod.next">Read more</a></p>
</div><h4 id='method.size_hint' class="method"><span id='size_hint.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.size_hint' class='fnname'>size_hint</a>(&amp;self) -&gt; (usize, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt;)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#712-715' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the bounds on the remaining length of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.size_hint">Read more</a></p>
</div><h4 id='method.count' class="method"><span id='count.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count' class='fnname'>count</a>(self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#187-190' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Consumes the iterator, counting the number of iterations and returning it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.count">Read more</a></p>
</div><h4 id='method.last' class="method"><span id='last.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.last' class='fnname'>last</a>(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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#213-217' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Consumes the iterator, returning the last element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.last">Read more</a></p>
</div><h4 id='method.nth' class="method"><span id='nth.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.nth' class='fnname'>nth</a>(&amp;mut self, n: usize) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#262-268' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the <code>n</code>th element of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.nth">Read more</a></p>
</div><h4 id='method.step_by' class="method"><span id='step_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.step_by' class='fnname'>step_by</a>(self, step: usize) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.StepBy.html" title="struct core::iter::StepBy">StepBy</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#298-301' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><details><summary><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_step_by</code>)</summary><p>unstable replacement of Range::step_by</p>
</details></div></div><div class='docblock'><p>Creates an iterator starting at the same point, but stepping by the given amount at each iteration. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.step_by">Read more</a></p>
</div><h4 id='method.chain' class="method"><span id='chain.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain' class='fnname'>chain</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Chain.html" title="struct core::iter::Chain">Chain</a>&lt;Self, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#354-358' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Takes two iterators and creates a new iterator over both in sequence. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.chain">Read more</a></p>
</div><h4 id='method.zip' class="method"><span id='zip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip' class='fnname'>zip</a>&lt;U&gt;(self, other: U) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Zip.html" title="struct core::iter::Zip">Zip</a>&lt;Self, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::IntoIterator::IntoIter">IntoIter</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#431-435' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>'Zips up' two iterators into a single iterator of pairs. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.zip">Read more</a></p>
</div><h4 id='method.map' class="method"><span id='map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map' class='fnname'>map</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Map.html" title="struct core::iter::Map">Map</a>&lt;Self, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#487-491' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Takes a closure and creates an iterator which calls that closure on each element. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.map">Read more</a></p>
</div><h4 id='method.for_each' class="method"><span id='for_each.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each' class='fnname'>for_each</a>&lt;F&gt;(self, f: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>),&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.21.0'>1.21.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#530-534' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Calls a closure on each element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.for_each">Read more</a></p>
</div><h4 id='method.filter' class="method"><span id='filter.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter' class='fnname'>filter</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Filter.html" title="struct core::iter::Filter">Filter</a>&lt;Self, P&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#598-602' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which uses a closure to determine if an element should be yielded. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter">Read more</a></p>
</div><h4 id='method.filter_map' class="method"><span id='filter_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map' class='fnname'>filter_map</a>&lt;B, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FilterMap.html" title="struct core::iter::FilterMap">FilterMap</a>&lt;Self, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</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;B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#655-659' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that both filters and maps. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.filter_map">Read more</a></p>
</div><h4 id='method.enumerate' class="method"><span id='enumerate.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate' class='fnname'>enumerate</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Enumerate.html" title="struct core::iter::Enumerate">Enumerate</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#701-703' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which gives the current iteration count as well as the next value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.enumerate">Read more</a></p>
</div><h4 id='method.peekable' class="method"><span id='peekable.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable' class='fnname'>peekable</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Peekable.html" title="struct core::iter::Peekable">Peekable</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#747-749' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which can use <code>peek</code> to look at the next element of the iterator without consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.peekable">Read more</a></p>
</div><h4 id='method.skip_while' class="method"><span id='skip_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while' class='fnname'>skip_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.SkipWhile.html" title="struct core::iter::SkipWhile">SkipWhile</a>&lt;Self, P&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#808-812' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that [<code>skip</code>]s elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip_while">Read more</a></p>
</div><h4 id='method.take_while' class="method"><span id='take_while.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while' class='fnname'>take_while</a>&lt;P&gt;(self, predicate: P) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.TakeWhile.html" title="struct core::iter::TakeWhile">TakeWhile</a>&lt;Self, P&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#888-892' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that yields elements based on a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take_while">Read more</a></p>
</div><h4 id='method.skip' class="method"><span id='skip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip' class='fnname'>skip</a>(self, n: usize) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Skip.html" title="struct core::iter::Skip">Skip</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#912-914' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that skips the first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.skip">Read more</a></p>
</div><h4 id='method.take' class="method"><span id='take.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take' class='fnname'>take</a>(self, n: usize) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Take.html" title="struct core::iter::Take">Take</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#944-946' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that yields its first <code>n</code> elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.take">Read more</a></p>
</div><h4 id='method.scan' class="method"><span id='scan.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan' class='fnname'>scan</a>&lt;St, B, F&gt;(self, initial_state: St, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Scan.html" title="struct core::iter::Scan">Scan</a>&lt;Self, St, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;mut St, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</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;B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#987-991' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>An iterator adaptor similar to [<code>fold</code>] that holds internal state and produces a new iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.scan">Read more</a></p>
</div><h4 id='method.flat_map' class="method"><span id='flat_map.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map' class='fnname'>flat_map</a>&lt;U, F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.FlatMap.html" title="struct core::iter::FlatMap">FlatMap</a>&lt;Self, U, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; U,<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1021-1025' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator that works like map, but flattens nested structure. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.flat_map">Read more</a></p>
</div><h4 id='method.fuse' class="method"><span id='fuse.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse' class='fnname'>fuse</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Fuse.html" title="struct core::iter::Fuse">Fuse</a>&lt;Self&gt;</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1083-1085' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which ends after the first [<code>None</code>]. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fuse">Read more</a></p>
</div><h4 id='method.inspect' class="method"><span id='inspect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect' class='fnname'>inspect</a>&lt;F&gt;(self, f: F) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Inspect.html" title="struct core::iter::Inspect">Inspect</a>&lt;Self, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>),&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1136-1140' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Do something with each element of an iterator, passing the value on. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.inspect">Read more</a></p>
</div><h4 id='method.by_ref' class="method"><span id='by_ref.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref' class='fnname'>by_ref</a>(&amp;mut self) -&gt; &amp;mut Self</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1182' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Borrows an iterator, rather than consuming it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.by_ref">Read more</a></p>
</div><h4 id='method.collect' class="method"><span id='collect.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect' class='fnname'>collect</a>&lt;B&gt;(self) -&gt; B <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.FromIterator.html" title="trait core::iter::traits::FromIterator">FromIterator</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1302-1304' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Transforms an iterator into a collection. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.collect">Read more</a></p>
</div><h4 id='method.partition' class="method"><span id='partition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition' class='fnname'>partition</a>&lt;B, F&gt;(self, f: F) -&gt; (B, B) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1326-1343' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Consumes an iterator, creating two collections from it. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partition">Read more</a></p>
</div><h4 id='method.try_fold' class="method"><span id='try_fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold' class='fnname'>try_fold</a>&lt;B, F, R&gt;(&amp;mut self, init: B, f: F) -&gt; R <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; R,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try/trait.Try.html" title="trait core::ops::try::Try">Try</a>&lt;Ok = B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1407-1415' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>An iterator method that applies a function as long as it returns successfully, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.try_fold">Read more</a></p>
</div><h4 id='method.fold' class="method"><span id='fold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fold' class='fnname'>fold</a>&lt;B, F&gt;(self, init: B, f: F) -&gt; B <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1487-1491' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>An iterator method that applies a function, producing a single, final value. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.fold">Read more</a></p>
</div><h4 id='method.all' class="method"><span id='all.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all' class='fnname'>all</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1532-1539' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Tests if every element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.all">Read more</a></p>
</div><h4 id='method.any' class="method"><span id='any.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any' class='fnname'>any</a>&lt;F&gt;(&amp;mut self, f: F) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1580-1588' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Tests if any element of the iterator matches a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.any">Read more</a></p>
</div><h4 id='method.find' class="method"><span id='find.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find' class='fnname'>find</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1634-1642' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Searches for an element of an iterator that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.find">Read more</a></p>
</div><h4 id='method.position' class="method"><span id='position.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position' class='fnname'>position</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1701-1710' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Searches for an element in an iterator, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.position">Read more</a></p>
</div><h4 id='method.rposition' class="method"><span id='rposition.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition' class='fnname'>rposition</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;usize&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1752-1764' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Searches for an element in an iterator from the right, returning its index. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rposition">Read more</a></p>
</div><h4 id='method.max' class="method"><span id='max.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max' class='fnname'>max</a>(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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1786-1794' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the maximum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max">Read more</a></p>
</div><h4 id='method.min' class="method"><span id='min.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min' class='fnname'>min</a>(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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1816-1824' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the minimum element of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min">Read more</a></p>
</div><h4 id='method.max_by_key' class="method"><span id='max_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key' class='fnname'>max_by_key</a>&lt;B, F&gt;(self, f: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1842-1851' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the maximum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by_key">Read more</a></p>
</div><h4 id='method.max_by' class="method"><span id='max_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by' class='fnname'>max_by</a>&lt;F&gt;(self, compare: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1869-1878' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the maximum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.max_by">Read more</a></p>
</div><h4 id='method.min_by_key' class="method"><span id='min_by_key.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key' class='fnname'>min_by_key</a>&lt;B, F&gt;(self, f: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.6.0'>1.6.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1895-1904' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the minimum value from the specified function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by_key">Read more</a></p>
</div><h4 id='method.min_by' class="method"><span id='min_by.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by' class='fnname'>min_by</a>&lt;F&gt;(self, compare: 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;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>, &amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.15.0'>1.15.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1922-1931' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the element that gives the minimum value with respect to the specified comparison function. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.min_by">Read more</a></p>
</div><h4 id='method.rev' class="method"><span id='rev.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev' class='fnname'>rev</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Rev.html" title="struct core::iter::Rev">Rev</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1959-1961' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Reverses an iterator's direction. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.rev">Read more</a></p>
</div><h4 id='method.unzip' class="method"><span id='unzip.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip' class='fnname'>unzip</a>&lt;A, B, FromA, FromB&gt;(self) -&gt; (FromA, FromB) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;FromA: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;A&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;FromB: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Extend.html" title="trait core::iter::traits::Extend">Extend</a>&lt;B&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a>&lt;Item = (A, B)&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#1986-2000' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Converts an iterator of pairs into a pair of containers. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.unzip">Read more</a></p>
</div><h4 id='method.cloned' class="method"><span id='cloned.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned' class='fnname'>cloned</a>&lt;'a, T&gt;(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cloned.html" title="struct core::iter::Cloned">Cloned</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a>&lt;Item = &amp;'a T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2025-2029' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates an iterator which [<code>clone</code>]s all of its elements. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cloned">Read more</a></p>
</div><h4 id='method.cycle' class="method"><span id='cycle.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle' class='fnname'>cycle</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/iter/struct.Cycle.html" title="struct core::iter::Cycle">Cycle</a>&lt;Self&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2058-2060' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Repeats an iterator endlessly. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cycle">Read more</a></p>
</div><h4 id='method.sum' class="method"><span id='sum.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum' class='fnname'>sum</a>&lt;S&gt;(self) -&gt; S <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Sum.html" title="trait core::iter::traits::Sum">Sum</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2085-2090' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Sums the elements of an iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.sum">Read more</a></p>
</div><h4 id='method.product' class="method"><span id='product.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product' class='fnname'>product</a>&lt;P&gt;(self) -&gt; P <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.Product.html" title="trait core::iter::traits::Product">Product</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.11.0'>1.11.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2113-2118' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Iterates over the entire iterator, multiplying all the elements <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.product">Read more</a></p>
</div><h4 id='method.cmp' class="method"><span id='cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp' class='fnname'>cmp</a>&lt;I&gt;(self, other: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a> <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&lt;Item = Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2123-2150' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.cmp">Read more</a></p>
</div><h4 id='method.partial_cmp' class="method"><span id='partial_cmp.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp' class='fnname'>partial_cmp</a>&lt;I&gt;(self, other: 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;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2155-2182' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Lexicographically compares the elements of this <code>Iterator</code> with those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.partial_cmp">Read more</a></p>
</div><h4 id='method.eq' class="method"><span id='eq.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq' class='fnname'>eq</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2187-2207' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.eq">Read more</a></p>
</div><h4 id='method.ne' class="method"><span id='ne.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne' class='fnname'>ne</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2212-2232' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are unequal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ne">Read more</a></p>
</div><h4 id='method.lt' class="method"><span id='lt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt' class='fnname'>lt</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2237-2262' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.lt">Read more</a></p>
</div><h4 id='method.le' class="method"><span id='le.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le' class='fnname'>le</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2267-2292' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically less or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.le">Read more</a></p>
</div><h4 id='method.gt' class="method"><span id='gt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt' class='fnname'>gt</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2297-2322' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.gt">Read more</a></p>
</div><h4 id='method.ge' class="method"><span id='ge.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge' class='fnname'>ge</a>&lt;I&gt;(self, other: I) -&gt; bool <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;&lt;I as <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html" title="trait core::iter::traits::IntoIterator">IntoIterator</a>&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.IntoIterator.html#associatedtype.Item" title="type core::iter::traits::IntoIterator::Item">Item</a>&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.5.0'>1.5.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/iterator.rs.html#2327-2352' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Determines if the elements of this <code>Iterator</code> are lexicographically greater than or equal to those of another. <a href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#method.ge">Read more</a></p>
</div></div><h3 id='impl-DoubleEndedIterator' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html" title="trait core::iter::traits::DoubleEndedIterator">DoubleEndedIterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</code><a href='#impl-DoubleEndedIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#718-731' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.next_back' class="method"><span id='next_back.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#tymethod.next_back' class='fnname'>next_back</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::<a class="type" href="../arrayvec/trait.Array.html#associatedtype.Item" title="type arrayvec::Array::Item">Item</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#720-730' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Removes and returns an element from the end of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#tymethod.next_back">Read more</a></p>
</div><h4 id='method.try_rfold' class="method"><span id='try_rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.try_rfold' class='fnname'>try_rfold</a>&lt;B, F, R&gt;(&amp;mut self, init: B, f: F) -&gt; R <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; R,<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/try/trait.Try.html" title="trait core::ops::try::Try">Try</a>&lt;Ok = B&gt;,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#456-464' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iterator_try_fold</code>)</div></div><div class='docblock'><p>This is the reverse version of [<code>try_fold()</code>]: it takes elements starting from the back of the iterator. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.try_rfold">Read more</a></p>
</div><h4 id='method.rfold' class="method"><span id='rfold.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfold' class='fnname'>rfold</a>&lt;B, F&gt;(self, accum: B, f: F) -&gt; B <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(B, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; B,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#521-525' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfold</code>)</div></div><div class='docblock'><p>An iterator method that reduces the iterator's elements to a single, final value, starting from the back. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfold">Read more</a></p>
</div><h4 id='method.rfind' class="method"><span id='rfind.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfind' class='fnname'>rfind</a>&lt;P&gt;(&amp;mut self, predicate: P) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;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>(&amp;Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item" title="type core::iter::iterator::Iterator::Item">Item</a>) -&gt; bool,&nbsp;</span></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#575-583' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>iter_rfind</code>)</div></div><div class='docblock'><p>Searches for an element of an iterator from the right that satisfies a predicate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.DoubleEndedIterator.html#method.rfind">Read more</a></p>
</div></div><h3 id='impl-ExactSizeIterator' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html" title="trait core::iter::traits::ExactSizeIterator">ExactSizeIterator</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</code><a href='#impl-ExactSizeIterator' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#733' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.len' class="method"><span id='len.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len' class='fnname'>len</a>(&amp;self) -&gt; usize</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#687-695' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the exact number of times the iterator will iterate. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.len">Read more</a></p>
</div><h4 id='method.is_empty' class="method"><span id='is_empty.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty' class='fnname'>is_empty</a>(&amp;self) -&gt; bool</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/iter/traits.rs.html#719-721' title='goto source code'>[src]</a></span></h4>
<div class='stability'><div class='stab unstable'><span class=microscope>🔬</span> This is a nightly-only experimental API. (<code>exact_size_is_empty</code>)</div></div><div class='docblock'><p>Returns whether the iterator is empty. <a href="https://doc.rust-lang.org/nightly/core/iter/traits/trait.ExactSizeIterator.html#method.is_empty">Read more</a></p>
</div></div><h3 id='impl-Drop' class='impl'><span class='in-band'><code>impl&lt;A:&nbsp;<a class="trait" href="../arrayvec/trait.Array.html" title="trait arrayvec::Array">Array</a>&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../arrayvec/struct.IntoIter.html" title="struct arrayvec::IntoIter">IntoIter</a>&lt;A&gt;</code><a href='#impl-Drop' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#735-748' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.drop' class="method"><span id='drop.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&amp;mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/lib.rs.html#736-747' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

200
arrayvec/trait.Array.html Normal file
View file

@ -0,0 +1,200 @@
<!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="API documentation for the Rust `Array` trait in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Array">
<title>arrayvec::Array - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc trait">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Trait Array</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Item">Item</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'Array', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Trait <a href='index.html'>arrayvec</a>::<wbr><a class="trait" href=''>Array</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/array.rs.html#3-15' title='goto source code'>[src]</a></span></h1>
<pre class='rust trait'>pub unsafe trait Array {
type <a href='#associatedtype.Item' class="type">Item</a>;
}</pre><div class='docblock'><p>Trait for fixed size arrays.</p>
</div>
<h2 id='associated-types' class='small-section-header'>
Associated Types<a href='#associated-types' class='anchor'></a>
</h2>
<div class='methods'>
<h3 id='associatedtype.Item' class='method'><span id='Item.t' class='invisible'><code>type <a href='#associatedtype.Item' class="type">Item</a></code></span></h3><div class='docblock'><p>The arrays element type</p>
</div></div>
<h2 id='implementors' class='small-section-header'>
Implementors<a href='#implementors' class='anchor'></a>
</h2>
<ul class='item-list' id='implementors-list'>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 0]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 1]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 2]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 3]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 4]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 5]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 6]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 7]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 8]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 9]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 10]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 11]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 12]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 13]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 14]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 15]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 16]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 17]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 18]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 19]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 20]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 21]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 22]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 23]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 24]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 25]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 26]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 27]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 28]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 29]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 30]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 31]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 32]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 40]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 48]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 50]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 56]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 64]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 72]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 96]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 100]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 128]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 160]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 192]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 200]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 224]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u8;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 256]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 384]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 512]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 768]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 1024]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 2048]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 4096]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 8192]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 16384]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 32768]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u16;</span></code></li>
<li><div class='out-of-band'><a class='srclink' href='../src/arrayvec/array.rs.html#65-74' title='goto source code'>[src]</a></div><code>impl&lt;T&gt; Array for [T; 65536]<span class="where fmt-newline"> type <a href='#associatedtype.Item' class="type">Item</a> = T;</span><span class="where fmt-newline"> type <a href='#associatedtype.Index' class="type">Index</a> = u32;</span></code></li>
</ul><script type="text/javascript" async
src="../implementors/arrayvec/trait.Array.js">
</script></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,164 @@
<!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="API documentation for the Rust `RangeArgument` trait in crate `arrayvec`.">
<meta name="keywords" content="rust, rustlang, rust-lang, RangeArgument">
<title>arrayvec::RangeArgument - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc trait">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Trait RangeArgument</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.start">start</a><a href="#method.end">end</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-RangeArgument">RangeFull</a><a href="#impl-RangeArgument">RangeFrom&lt;usize&gt;</a><a href="#impl-RangeArgument">RangeTo&lt;usize&gt;</a><a href="#impl-RangeArgument">Range&lt;usize&gt;</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='index.html'>arrayvec</a></p><script>window.sidebarCurrent = {name: 'RangeArgument', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Trait <a href='index.html'>arrayvec</a>::<wbr><a class="trait" href=''>RangeArgument</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/arrayvec/range.rs.html#14-21' title='goto source code'>[src]</a></span></h1>
<pre class='rust trait'>pub trait RangeArgument {
fn <a href='#method.start' class='fnname'>start</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;usize&gt; { ... }
<div class='item-spacer'></div> fn <a href='#method.end' class='fnname'>end</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;usize&gt; { ... }
}</pre><div class='docblock'><p><code>RangeArgument</code> is implemented by Rust's built-in range types, produced
by range syntax like <code>..</code>, <code>a..</code>, <code>..b</code> or <code>c..d</code>.</p>
<p>Note: This is arrayvec's provisional trait, waiting for stable Rust to
provide an equivalent.</p>
</div>
<h2 id='provided-methods' class='small-section-header'>
Provided Methods<a href='#provided-methods' class='anchor'></a>
</h2>
<div class='methods'>
<h3 id='method.start' class='method'><span id='start.v' class='invisible'><code>fn <a href='#method.start' class='fnname'>start</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;usize&gt;</code></span></h3><div class='docblock'><p>Start index (inclusive)</p>
</div><h3 id='method.end' class='method'><span id='end.v' class='invisible'><code>fn <a href='#method.end' class='fnname'>end</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;usize&gt;</code></span></h3><div class='docblock'><p>End index (exclusive)</p>
</div></div>
<h2 id='foreign-impls' class='small-section-header'>
Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a>
</h2>
<h3 id='impl-RangeArgument' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.RangeFull.html" title="struct core::ops::range::RangeFull">RangeFull</a></code><a href='#impl-RangeArgument' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#24' title='goto source code'>[src]</a></span></h3>
<span class='docblock autohide'><div class='impl-items'><h4 id='method.start-1' class="method"><span id='start.v-1' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.start' class='fnname'>start</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#17' title='goto source code'>[src]</a></span></h4>
<h4 id='method.end-1' class="method"><span id='end.v-1' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.end' class='fnname'>end</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#20' title='goto source code'>[src]</a></span></h4>
</div></span><h3 id='impl-RangeArgument-1' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.RangeFrom.html" title="struct core::ops::range::RangeFrom">RangeFrom</a>&lt;usize&gt;</code><a href='#impl-RangeArgument-1' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#26-29' title='goto source code'>[src]</a></span></h3>
<span class='docblock autohide'><div class='impl-items'><h4 id='method.start-2' class="method"><span id='start.v-2' class='invisible'><code>fn <a href='#method.start' class='fnname'>start</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#28' title='goto source code'>[src]</a></span></h4>
<h4 id='method.end-2' class="method"><span id='end.v-2' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.end' class='fnname'>end</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#20' title='goto source code'>[src]</a></span></h4>
</div></span><h3 id='impl-RangeArgument-2' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.RangeTo.html" title="struct core::ops::range::RangeTo">RangeTo</a>&lt;usize&gt;</code><a href='#impl-RangeArgument-2' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#31-34' title='goto source code'>[src]</a></span></h3>
<span class='docblock autohide'><div class='impl-items'><h4 id='method.end-3' class="method"><span id='end.v-3' class='invisible'><code>fn <a href='#method.end' class='fnname'>end</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#33' title='goto source code'>[src]</a></span></h4>
<h4 id='method.start-3' class="method"><span id='start.v-3' class='invisible'><code>fn <a href='../arrayvec/trait.RangeArgument.html#method.start' class='fnname'>start</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#17' title='goto source code'>[src]</a></span></h4>
</div></span><h3 id='impl-RangeArgument-3' class='impl'><span class='in-band'><code>impl <a class="trait" href="../arrayvec/trait.RangeArgument.html" title="trait arrayvec::RangeArgument">RangeArgument</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;usize&gt;</code><a href='#impl-RangeArgument-3' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#36-41' title='goto source code'>[src]</a></span></h3>
<span class='docblock autohide'><div class='impl-items'><h4 id='method.start-4' class="method"><span id='start.v-4' class='invisible'><code>fn <a href='#method.start' class='fnname'>start</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#38' title='goto source code'>[src]</a></span></h4>
<h4 id='method.end-4' class="method"><span id='end.v-4' class='invisible'><code>fn <a href='#method.end' class='fnname'>end</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;usize&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/arrayvec/range.rs.html#40' title='goto source code'>[src]</a></span></h4>
</div></span>
<h2 id='implementors' class='small-section-header'>
Implementors<a href='#implementors' class='anchor'></a>
</h2>
<ul class='item-list' id='implementors-list'>
</ul><script type="text/javascript" async
src="../implementors/arrayvec/trait.RangeArgument.js">
</script></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "arrayvec";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -1,36 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
FROM mozillamobile/rust-component:buildtools-27.0.3-ndk-r17b-ndk-version-26-rust-stable-rust-beta
MAINTAINER Nick Alexander "nalexander@mozilla.com"
#----------------------------------------------------------------------------------------------------------------------
#-- Project -----------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------
ENV PROJECT_REPOSITORY "https://github.com/mozilla/mentat.git"
RUN git clone $PROJECT_REPOSITORY
WORKDIR /build/mentat
# Temporary.
RUN git fetch origin master && git checkout origin/generic-automation-images && git show-ref HEAD
# Populate dependencies.
RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat tasks
# Build Rust.
RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat cargoBuild
# Actually build. In the future, we might also lint (to cache additional dependencies).
RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat assemble test
#----------------------------------------------------------------------------------------------------------------------
# -- Cleanup ----------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------
# Drop built Rust artifacts.
RUN cargo clean

View file

@ -1,81 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
FROM mozillamobile/android-components:1.4
MAINTAINER Nick Alexander "nalexander@mozilla.com"
#----------------------------------------------------------------------------------------------------------------------
#-- Configuration -----------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------
ENV ANDROID_NDK_VERSION "r17b"
#----------------------------------------------------------------------------------------------------------------------
#-- System ------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------
RUN apt-get update -qq
#----------------------------------------------------------------------------------------------------------------------
#-- Android NDK (Android SDK comes from base `android-components` image) ----------------------------------------------
#----------------------------------------------------------------------------------------------------------------------
RUN mkdir -p /build
WORKDIR /build
ENV ANDROID_NDK_HOME /build/android-ndk
RUN curl -L https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip > ndk.zip \
&& unzip ndk.zip -d /build \
&& rm ndk.zip \
&& mv /build/android-ndk-${ANDROID_NDK_VERSION} ${ANDROID_NDK_HOME}
ENV ANDROID_NDK_TOOLCHAIN_DIR /build/android-ndk-toolchain
ENV ANDROID_NDK_API_VERSION 26
RUN set -eux; \
python "$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py" --arch="arm" --api="$ANDROID_NDK_API_VERSION" --install-dir="$ANDROID_NDK_TOOLCHAIN_DIR/arm-$ANDROID_NDK_API_VERSION" --force; \
python "$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py" --arch="arm64" --api="$ANDROID_NDK_API_VERSION" --install-dir="$ANDROID_NDK_TOOLCHAIN_DIR/arm64-$ANDROID_NDK_API_VERSION" --force; \
python "$ANDROID_NDK_HOME/build/tools/make_standalone_toolchain.py" --arch="x86" --api="$ANDROID_NDK_API_VERSION" --install-dir="$ANDROID_NDK_TOOLCHAIN_DIR/x86-$ANDROID_NDK_API_VERSION" --force
#----------------------------------------------------------------------------------------------------------------------
#-- Rust (cribbed from https://github.com/rust-lang-nursery/docker-rust/blob/ced83778ec6fea7f63091a484946f95eac0ee611/1.27.1/stretch/Dockerfile)
#-- Rust is after the Android NDK since Rust rolls forward more frequently. Both stable and beta for advanced consumers.
#----------------------------------------------------------------------------------------------------------------------
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH \
RUST_VERSION=1.27.1
RUN set -eux; \
rustArch='x86_64-unknown-linux-gnu'; rustupSha256='4d382e77fd6760282912d2d9beec5e260ec919efd3cb9bdb64fe1207e84b9d91'; \
url="https://static.rust-lang.org/rustup/archive/1.12.0/${rustArch}/rustup-init"; \
wget "$url"; \
echo "${rustupSha256} *rustup-init" | sha256sum -c -; \
chmod +x rustup-init; \
./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION; \
rm rustup-init; \
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
rustup --version; \
cargo --version; \
rustc --version; \
rustup target add i686-linux-android; \
rustup target add armv7-linux-androideabi; \
rustup target add aarch64-linux-android
RUN set -eux; \
rustup install beta; \
rustup target add --toolchain beta i686-linux-android; \
rustup target add --toolchain beta armv7-linux-androideabi; \
rustup target add --toolchain beta aarch64-linux-android
#----------------------------------------------------------------------------------------------------------------------
# -- Cleanup ----------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------
WORKDIR /build
RUN apt-get clean

View file

@ -1,122 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import datetime
import json
import os
import taskcluster
import re
import subprocess
import sys
"""
Decision task for pull requests
"""
TASK_ID = os.environ.get('TASK_ID')
REPO_URL = os.environ.get('GITHUB_HEAD_REPO_URL')
BRANCH = os.environ.get('GITHUB_HEAD_BRANCH')
COMMIT = os.environ.get('GITHUB_HEAD_SHA')
def fetch_module_names():
process = subprocess.Popen(["./gradlew", "--no-daemon", "printModules"], stdout=subprocess.PIPE,
cwd=os.path.join(os.getcwd(), "sdks", "android", "Mentat"))
(output, err) = process.communicate()
exit_code = process.wait()
if exit_code is not 0:
print "Gradle command returned error:", exit_code
return re.findall('module: (.*)', output, re.M)
def schedule_task(queue, taskId, task):
print "TASK", taskId
print json.dumps(task, indent=4, separators=(',', ': '))
result = queue.createTask(taskId, task)
print "RESULT", taskId
print json.dumps(result, indent=4, separators=(',', ': '))
def create_task(name, description, command):
created = datetime.datetime.now()
expires = taskcluster.fromNow('1 year')
deadline = taskcluster.fromNow('1 day')
return {
"workerType": 'github-worker',
"taskGroupId": TASK_ID,
"expires": taskcluster.stringDate(expires),
"retries": 5,
"created": taskcluster.stringDate(created),
"tags": {},
"priority": "lowest",
"schedulerId": "taskcluster-github",
"deadline": taskcluster.stringDate(deadline),
"dependencies": [ TASK_ID ],
"routes": [],
"scopes": [],
"requires": "all-completed",
"payload": {
"features": {},
"maxRunTime": 7200,
"image": "mozillamobile/mentat:1.2",
"command": [
"/bin/bash",
"--login",
"-cx",
"export TERM=dumb && git fetch %s %s && git config advice.detachedHead false && git checkout %s && cd sdks/android/Mentat && ./gradlew --no-daemon clean %s" % (REPO_URL, BRANCH, COMMIT, command)
],
"artifacts": {},
"deadline": taskcluster.stringDate(deadline)
},
"provisionerId": "aws-provisioner-v1",
"metadata": {
"name": name,
"description": description,
"owner": "nalexander@mozilla.com",
"source": "https://github.com/mozilla/mentat"
}
}
def create_module_task(module):
return create_task(
name='Mentat Android SDK - Module ' + module,
description='Building and testing module ' + module,
command=" ".join(map(lambda x: module + ":" + x, ['assemble', 'test', 'lint'])))
# def create_detekt_task():
# return create_task(
# name='Android Components - detekt',
# description='Running detekt over all modules',
# command='detektCheck')
# def create_ktlint_task():
# return create_task(
# name='Android Components - ktlint',
# description='Running ktlint over all modules',
# command='ktlint')
if __name__ == "__main__":
queue = taskcluster.Queue({ 'baseUrl': 'http://taskcluster/queue/v1' })
modules = fetch_module_names()
if len(modules) == 0:
print "Could not get module names from gradle"
sys.exit(2)
for module in modules:
task = create_module_task(module)
task_id = taskcluster.slugId()
schedule_task(queue, task_id, task)
# schedule_task(queue, taskcluster.slugId(), create_detekt_task())
# schedule_task(queue, taskcluster.slugId(), create_ktlint_task())

View file

@ -1,28 +0,0 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import taskcluster
SECRET_NAME = 'project/mentat/publish'
TASKCLUSTER_BASE_URL = 'http://taskcluster/secrets/v1'
def fetch_publish_secrets(secret_name):
"""Fetch and return secrets from taskcluster's secret service"""
secrets = taskcluster.Secrets({'baseUrl': TASKCLUSTER_BASE_URL})
return secrets.get(secret_name)
def main():
"""Fetch the bintray user and api key from taskcluster's secret service
and save it to local.properties in the project root directory.
"""
data = fetch_publish_secrets(SECRET_NAME)
properties_file_path = os.path.join(os.path.dirname(__file__), '../../../sdks/android/Mentat/local.properties')
with open(properties_file_path, 'w') as properties_file:
properties_file.write("bintray.user=%s\n" % data['secret']['bintray_user'])
properties_file.write("bintray.apikey=%s\n" % data['secret']['bintray_apikey'])
if __name__ == "__main__":
main()

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Backtrace.html">
</head>
<body>
<p>Redirecting to <a href="struct.Backtrace.html">struct.Backtrace.html</a>...</p>
<script>location.replace("struct.Backtrace.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.BacktraceFrame.html">
</head>
<body>
<p>Redirecting to <a href="struct.BacktraceFrame.html">struct.BacktraceFrame.html</a>...</p>
<script>location.replace("struct.BacktraceFrame.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.BacktraceSymbol.html">
</head>
<body>
<p>Redirecting to <a href="struct.BacktraceSymbol.html">struct.BacktraceSymbol.html</a>...</p>
<script>location.replace("struct.BacktraceSymbol.html" + location.search + location.hash);</script>
</body>
</html>

10
backtrace/Frame.t.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Frame.html">
</head>
<body>
<p>Redirecting to <a href="struct.Frame.html">struct.Frame.html</a>...</p>
<script>location.replace("struct.Frame.html" + location.search + location.hash);</script>
</body>
</html>

10
backtrace/Symbol.t.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Symbol.html">
</head>
<body>
<p>Redirecting to <a href="struct.Symbol.html">struct.Symbol.html</a>...</p>
<script>location.replace("struct.Symbol.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.SymbolName.html">
</head>
<body>
<p>Redirecting to <a href="struct.SymbolName.html">struct.SymbolName.html</a>...</p>
<script>location.replace("struct.SymbolName.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Frame.html">
</head>
<body>
<p>Redirecting to <a href="struct.Frame.html">struct.Frame.html</a>...</p>
<script>location.replace("struct.Frame.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../backtrace/fn.trace.html">
</head>
<body>
<p>Redirecting to <a href="../../backtrace/fn.trace.html">../../backtrace/fn.trace.html</a>...</p>
<script>location.replace("../../backtrace/fn.trace.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.Frame.html">
</head>
<body>
<p>Redirecting to <a href="../../backtrace/struct.Frame.html">../../backtrace/struct.Frame.html</a>...</p>
<script>location.replace("../../backtrace/struct.Frame.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=fn.trace.html">
</head>
<body>
<p>Redirecting to <a href="fn.trace.html">fn.trace.html</a>...</p>
<script>location.replace("fn.trace.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Backtrace.html">
</head>
<body>
<p>Redirecting to <a href="struct.Backtrace.html">struct.Backtrace.html</a>...</p>
<script>location.replace("struct.Backtrace.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.BacktraceFrame.html">
</head>
<body>
<p>Redirecting to <a href="struct.BacktraceFrame.html">struct.BacktraceFrame.html</a>...</p>
<script>location.replace("struct.BacktraceFrame.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.BacktraceSymbol.html">
</head>
<body>
<p>Redirecting to <a href="struct.BacktraceSymbol.html">struct.BacktraceSymbol.html</a>...</p>
<script>location.replace("struct.BacktraceSymbol.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.Backtrace.html">
</head>
<body>
<p>Redirecting to <a href="../../backtrace/struct.Backtrace.html">../../backtrace/struct.Backtrace.html</a>...</p>
<script>location.replace("../../backtrace/struct.Backtrace.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.BacktraceFrame.html">
</head>
<body>
<p>Redirecting to <a href="../../backtrace/struct.BacktraceFrame.html">../../backtrace/struct.BacktraceFrame.html</a>...</p>
<script>location.replace("../../backtrace/struct.BacktraceFrame.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../backtrace/struct.BacktraceSymbol.html">
</head>
<body>
<p>Redirecting to <a href="../../backtrace/struct.BacktraceSymbol.html">../../backtrace/struct.BacktraceSymbol.html</a>...</p>
<script>location.replace("../../backtrace/struct.BacktraceSymbol.html" + location.search + location.hash);</script>
</body>
</html>

151
backtrace/fn.resolve.html Normal file
View file

@ -0,0 +1,151 @@
<!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="API documentation for the Rust `resolve` fn in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, resolve">
<title>backtrace::resolve - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc fn">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'resolve', ty: 'fn', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Function <a href='index.html'>backtrace</a>::<wbr><a class="fn" href=''>resolve</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#39-41' title='goto source code'>[src]</a></span></h1>
<pre class='rust fn'>pub fn resolve&lt;F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;<a class="struct" href="../backtrace/struct.Symbol.html" title="struct backtrace::Symbol">Symbol</a>)&gt;(addr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a>, cb: F)</pre><div class='docblock'><p>Resolve an address to a symbol, passing the symbol to the specified
closure.</p>
<p>This function will look up the given address in areas such as the local
symbol table, dynamic symbol table, or DWARF debug info (depending on the
activated implementation) to find symbols to yield.</p>
<p>The closure may not be called if resolution could not be performed, and it
also may be called more than once in the case of inlined functions.</p>
<p>Symbols yielded represent the execution at the specified <code>addr</code>, returning
file/line pairs for that address (if available).</p>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<pre class="rust rust-example-rendered">
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">backtrace</span>;
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="ident">backtrace</span>::<span class="ident">trace</span>(<span class="op">|</span><span class="ident">frame</span><span class="op">|</span> {
<span class="kw">let</span> <span class="ident">ip</span> <span class="op">=</span> <span class="ident">frame</span>.<span class="ident">ip</span>();
<span class="ident">backtrace</span>::<span class="ident">resolve</span>(<span class="ident">ip</span>, <span class="op">|</span><span class="ident">symbol</span><span class="op">|</span> {
<span class="comment">// ...</span>
});
<span class="bool-val">false</span> <span class="comment">// only look at the top frame</span>
});
}</pre>
</div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

154
backtrace/fn.trace.html Normal file
View file

@ -0,0 +1,154 @@
<!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="API documentation for the Rust `trace` fn in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, trace">
<title>backtrace::trace - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc fn">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'trace', ty: 'fn', relpath: ''};</script><script defer src="sidebar-items.js"></script>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Function <a href='index.html'>backtrace</a>::<wbr><a class="fn" href=''>trace</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#41-43' title='goto source code'>[src]</a></span></h1>
<pre class='rust fn'>pub fn trace&lt;F:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;<a class="struct" href="../backtrace/struct.Frame.html" title="struct backtrace::Frame">Frame</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>&gt;(cb: F)</pre><div class='docblock'><p>Inspects the current call-stack, passing all active frames into the closure
provided to calculate a stack trace.</p>
<p>This function is the workhorse of this library in calculating the stack
traces for a program. The given closure <code>cb</code> is yielded instances of a
<code>Frame</code> which represent information about that call frame on the stack. The
closure is yielded frames in a top-down fashion (most recently called
functions first).</p>
<p>The closure's return value is an indication of whether the backtrace should
continue. A return value of <code>false</code> will terminate the backtrace and return
immediately.</p>
<p>Once a <code>Frame</code> is acquired you will likely want to call <code>backtrace::resolve</code>
to convert the <code>ip</code> (instruction pointer) or symbol address to a <code>Symbol</code>
through which the name and/or filename/line number can be learned.</p>
<p>Note that this is a relatively low-level function and if you'd like to, for
example, capture a backtrace to be inspected later, then the <code>Backtrace</code>
type may be more appropriate.</p>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<pre class="rust rust-example-rendered">
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">backtrace</span>;
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="ident">backtrace</span>::<span class="ident">trace</span>(<span class="op">|</span><span class="ident">frame</span><span class="op">|</span> {
<span class="comment">// ...</span>
<span class="bool-val">true</span> <span class="comment">// continue the backtrace</span>
});
}</pre>
</div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

249
backtrace/index.html Normal file
View file

@ -0,0 +1,249 @@
<!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="API documentation for the Rust `backtrace` crate.">
<meta name="keywords" content="rust, rustlang, rust-lang, backtrace">
<title>backtrace - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc mod">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Crate backtrace</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'backtrace', ty: 'mod', relpath: '../'};</script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Crate <a class="mod" href=''>backtrace</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/lib.rs.html#1-178' title='goto source code'>[src]</a></span></h1>
<div class='docblock'><p>A library for acquiring a backtrace at runtime</p>
<p>This library is meant to supplement the <code>RUST_BACKTRACE=1</code> support of the
standard library by allowing an acquisition of a backtrace at runtime
programmatically. The backtraces generated by this library do not need to be
parsed, for example, and expose the functionality of multiple backend
implementations.</p>
<h1 id="implementation" class="section-header"><a href="#implementation">Implementation</a></h1>
<p>This library makes use of a number of strategies for actually acquiring a
backtrace. For example unix uses libgcc's libunwind bindings by default to
acquire a backtrace, but coresymbolication or dladdr is used on OSX to
acquire symbol names while linux uses gcc's libbacktrace.</p>
<p>When using the default feature set of this library the &quot;most reasonable&quot; set
of defaults is chosen for the current platform, but the features activated
can also be controlled at a finer granularity.</p>
<h1 id="platform-support" class="section-header"><a href="#platform-support">Platform Support</a></h1>
<p>Currently this library is verified to work on Linux, OSX, and Windows, but
it may work on other platforms as well. Note that the quality of the
backtrace may vary across platforms.</p>
<h1 id="api-principles" class="section-header"><a href="#api-principles">API Principles</a></h1>
<p>This library attempts to be as flexible as possible to accommodate different
backend implementations of acquiring a backtrace. Consequently the currently
exported functions are closure-based as opposed to the likely expected
iterator-based versions. This is done due to limitations of the underlying
APIs used from the system.</p>
<h1 id="usage" class="section-header"><a href="#usage">Usage</a></h1>
<p>First, add this to your Cargo.toml</p>
<pre><code class="language-toml">[dependencies]
backtrace = &quot;0.2&quot;
</code></pre>
<p>Next:</p>
<pre class="rust rust-example-rendered">
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">backtrace</span>;
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="ident">backtrace</span>::<span class="ident">trace</span>(<span class="op">|</span><span class="ident">frame</span><span class="op">|</span> {
<span class="kw">let</span> <span class="ident">ip</span> <span class="op">=</span> <span class="ident">frame</span>.<span class="ident">ip</span>();
<span class="kw">let</span> <span class="ident">symbol_address</span> <span class="op">=</span> <span class="ident">frame</span>.<span class="ident">symbol_address</span>();
<span class="comment">// Resolve this instruction pointer to a symbol name</span>
<span class="ident">backtrace</span>::<span class="ident">resolve</span>(<span class="ident">ip</span>, <span class="op">|</span><span class="ident">symbol</span><span class="op">|</span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">name</span>) <span class="op">=</span> <span class="ident">symbol</span>.<span class="ident">name</span>() {
<span class="comment">// ...</span>
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">filename</span>) <span class="op">=</span> <span class="ident">symbol</span>.<span class="ident">filename</span>() {
<span class="comment">// ...</span>
}
});
<span class="bool-val">true</span> <span class="comment">// keep going to the next frame</span>
});
}</pre>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table>
<tr class=' module-item'>
<td><a class="struct" href="struct.Backtrace.html"
title='struct backtrace::Backtrace'>Backtrace</a></td>
<td class='docblock-short'>
<p>Representation of an owned and self-contained backtrace.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.BacktraceFrame.html"
title='struct backtrace::BacktraceFrame'>BacktraceFrame</a></td>
<td class='docblock-short'>
<p>Captured version of a frame in a backtrace.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.BacktraceSymbol.html"
title='struct backtrace::BacktraceSymbol'>BacktraceSymbol</a></td>
<td class='docblock-short'>
<p>Captured version of a symbol in a backtrace.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Frame.html"
title='struct backtrace::Frame'>Frame</a></td>
<td class='docblock-short'>
<p>A trait representing one frame of a backtrace, yielded to the <code>trace</code>
function of this crate.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Symbol.html"
title='struct backtrace::Symbol'>Symbol</a></td>
<td class='docblock-short'>
<p>A trait representing the resolution of a symbol in a file.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.SymbolName.html"
title='struct backtrace::SymbolName'>SymbolName</a></td>
<td class='docblock-short'>
<p>A wrapper around a symbol name to provide ergonomic accessors to the
demangled name, the raw bytes, the raw string, etc.</p>
</td>
</tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table>
<tr class=' module-item'>
<td><a class="fn" href="fn.resolve.html"
title='fn backtrace::resolve'>resolve</a></td>
<td class='docblock-short'>
<p>Resolve an address to a symbol, passing the symbol to the specified
closure.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="fn" href="fn.trace.html"
title='fn backtrace::trace'>trace</a></td>
<td class='docblock-short'>
<p>Inspects the current call-stack, passing all active frames into the closure
provided to calculate a stack trace.</p>
</td>
</tr></table></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

10
backtrace/resolve.v.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=fn.resolve.html">
</head>
<body>
<p>Redirecting to <a href="fn.resolve.html">fn.resolve.html</a>...</p>
<script>location.replace("fn.resolve.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1 @@
initSidebarItems({"fn":[["resolve","Resolve an address to a symbol, passing the symbol to the specified closure."],["trace","Inspects the current call-stack, passing all active frames into the closure provided to calculate a stack trace."]],"struct":[["Backtrace","Representation of an owned and self-contained backtrace."],["BacktraceFrame","Captured version of a frame in a backtrace."],["BacktraceSymbol","Captured version of a symbol in a backtrace."],["Frame","A trait representing one frame of a backtrace, yielded to the `trace` function of this crate."],["Symbol","A trait representing the resolution of a symbol in a file."],["SymbolName","A wrapper around a symbol name to provide ergonomic accessors to the demangled name, the raw bytes, the raw string, etc."]]});

View file

@ -0,0 +1,193 @@
<!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="API documentation for the Rust `Backtrace` struct in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Backtrace">
<title>backtrace::Backtrace - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct Backtrace</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.new_unresolved">new_unresolved</a><a href="#method.frames">frames</a><a href="#method.resolve">resolve</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-From%3CVec%3CBacktraceFrame%3E%3E">From&lt;Vec&lt;BacktraceFrame&gt;&gt;</a><a href="#impl-Into%3CVec%3CBacktraceFrame%3E%3E">Into&lt;Vec&lt;BacktraceFrame&gt;&gt;</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'Backtrace', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>Backtrace</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/capture.rs.html#15-17' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct Backtrace { /* fields omitted */ }</pre><div class='docblock'><p>Representation of an owned and self-contained backtrace.</p>
<p>This structure can be used to capture a backtrace at various points in a
program and later used to inspect what the backtrace was at that time.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#46-128' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>() -&gt; <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#62-66' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Captures a backtrace at the callsite of this function, returning an
owned representation.</p>
<p>This function is useful for representing a backtrace as an object in
Rust. This returned value can be sent across threads and printed
elsewhere, and the purpose of this value is to be entirely self
contained.</p>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">backtrace</span>::<span class="ident">Backtrace</span>;
<span class="kw">let</span> <span class="ident">current_backtrace</span> <span class="op">=</span> <span class="ident">Backtrace</span>::<span class="ident">new</span>();</pre>
</div><h4 id='method.new_unresolved' class="method"><span id='new_unresolved.v' class='invisible'><code>pub fn <a href='#method.new_unresolved' class='fnname'>new_unresolved</a>() -&gt; <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#86-98' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Similar to <code>new</code> except that this does not resolve any symbols, this
simply captures the backtrace as a list of addresses.</p>
<p>At a later time the <code>resolve</code> function can be called to resolve this
backtrace's symbols into readable names. This function exists because
the resolution process can sometimes take a significant amount of time
whereas any one backtrace may only be rarely printed.</p>
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">backtrace</span>::<span class="ident">Backtrace</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">current_backtrace</span> <span class="op">=</span> <span class="ident">Backtrace</span>::<span class="ident">new_unresolved</span>();
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;{:?}&quot;</span>, <span class="ident">current_backtrace</span>); <span class="comment">// no symbol names</span>
<span class="ident">current_backtrace</span>.<span class="ident">resolve</span>();
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;{:?}&quot;</span>, <span class="ident">current_backtrace</span>); <span class="comment">// symbol names now present</span></pre>
</div><h4 id='method.frames' class="method"><span id='frames.v' class='invisible'><code>pub fn <a href='#method.frames' class='fnname'>frames</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#105-107' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the frames from when this backtrace was captured.</p>
<p>The first entry of this slice is likely the function <code>Backtrace::new</code>,
and the last frame is likely something about how this thread or the main
function started.</p>
</div><h4 id='method.resolve' class="method"><span id='resolve.v' class='invisible'><code>pub fn <a href='#method.resolve' class='fnname'>resolve</a>(&amp;mut self)</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#114-127' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>If this backtrace was created from <code>new_unresolved</code> then this function
will resolve all addresses in the backtrace to their symbolic names.</p>
<p>If this backtrace has been previously resolved or was created through
<code>new</code>, this function does nothing.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>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="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#12' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#12' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-From%3CVec%3CBacktraceFrame%3E%3E' class='impl'><span class='in-band'><code>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="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>&gt;&gt; for <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-From%3CVec%3CBacktraceFrame%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#130-136' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.from' class="method"><span id='from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(frames: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>&gt;) -&gt; Self</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#131-135' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Into%3CVec%3CBacktraceFrame%3E%3E' class='impl'><span class='in-band'><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>&gt;&gt; for <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Into%3CVec%3CBacktraceFrame%3E%3E' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#138-142' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.into' class="method"><span id='into.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#139-141' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>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="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#191-231' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, fmt: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#192-230' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div><h3 id='impl-Default' class='impl'><span class='in-band'><code>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="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code><a href='#impl-Default' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#233-237' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.default' class="method"><span id='default.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -&gt; <a class="struct" href="../backtrace/struct.Backtrace.html" title="struct backtrace::Backtrace">Backtrace</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#234-236' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the &quot;default value&quot; for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,156 @@
<!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="API documentation for the Rust `BacktraceFrame` struct in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, BacktraceFrame">
<title>backtrace::BacktraceFrame - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct BacktraceFrame</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.ip">ip</a><a href="#method.symbol_address">symbol_address</a><a href="#method.symbols">symbols</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'BacktraceFrame', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>BacktraceFrame</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/capture.rs.html#26-30' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct BacktraceFrame { /* fields omitted */ }</pre><div class='docblock'><p>Captured version of a frame in a backtrace.</p>
<p>This type is returned as a list from <code>Backtrace::frames</code> and represents one
stack frame in a captured backtrace.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#144-167' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.ip' class="method"><span id='ip.v' class='invisible'><code>pub fn <a href='#method.ip' class='fnname'>ip</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#146-148' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Same as <code>Frame::ip</code></p>
</div><h4 id='method.symbol_address' class="method"><span id='symbol_address.v' class='invisible'><code>pub fn <a href='#method.symbol_address' class='fnname'>symbol_address</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#151-153' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Same as <code>Frame::symbol_address</code></p>
</div><h4 id='method.symbols' class="method"><span id='symbols.v' class='invisible'><code>pub fn <a href='#method.symbols' class='fnname'>symbols</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#164-166' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the list of symbols that this frame corresponds to.</p>
<p>Normally there is only one symbol per frame, but sometimes if a number
of functions are inlined into one frame then multiple symbols will be
returned. The first symbol listed is the &quot;innermost function&quot;, whereas
the last symbol is the outermost (last caller).</p>
<p>Note that if this frame came from an unresolved backtrace then this will
return an empty list.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>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="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#23' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../backtrace/struct.BacktraceFrame.html" title="struct backtrace::BacktraceFrame">BacktraceFrame</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#23' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,152 @@
<!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="API documentation for the Rust `BacktraceSymbol` struct in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, BacktraceSymbol">
<title>backtrace::BacktraceSymbol - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct BacktraceSymbol</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.name">name</a><a href="#method.addr">addr</a><a href="#method.filename">filename</a><a href="#method.lineno">lineno</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'BacktraceSymbol', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>BacktraceSymbol</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/capture.rs.html#39-44' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct BacktraceSymbol { /* fields omitted */ }</pre><div class='docblock'><p>Captured version of a symbol in a backtrace.</p>
<p>This type is returned as a list from <code>BacktraceFrame::symbols</code> and
represents the metadata for a symbol in a backtrace.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#169-189' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.name' class="method"><span id='name.v' class='invisible'><code>pub fn <a href='#method.name' class='fnname'>name</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="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#171-173' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Same as <code>Symbol::name</code></p>
</div><h4 id='method.addr' class="method"><span id='addr.v' class='invisible'><code>pub fn <a href='#method.addr' class='fnname'>addr</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.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#176-178' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Same as <code>Symbol::addr</code></p>
</div><h4 id='method.filename' class="method"><span id='filename.v' class='invisible'><code>pub fn <a href='#method.filename' class='fnname'>filename</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="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#181-183' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Same as <code>Symbol::filename</code></p>
</div><h4 id='method.lineno' class="method"><span id='lineno.v' class='invisible'><code>pub fn <a href='#method.lineno' class='fnname'>lineno</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.u32.html">u32</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#186-188' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Same as <code>Symbol::lineno</code></p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Clone' class='impl'><span class='in-band'><code>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="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a></code><a href='#impl-Clone' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#36' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.clone' class="method"><span id='clone.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../backtrace/struct.BacktraceSymbol.html" title="struct backtrace::BacktraceSymbol">BacktraceSymbol</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/capture.rs.html#36' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method"><span id='clone_from.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code></span><span class='out-of-band'><div class='ghost'></div><div class='since' title='Stable since Rust version 1.0.0'>1.0.0</div><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#112-114' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

158
backtrace/struct.Frame.html Normal file
View file

@ -0,0 +1,158 @@
<!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="API documentation for the Rust `Frame` struct in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Frame">
<title>backtrace::Frame - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct Frame</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.ip">ip</a><a href="#method.symbol_address">symbol_address</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'Frame', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>Frame</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#51-53' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct Frame { /* fields omitted */ }</pre><div class='docblock'><p>A trait representing one frame of a backtrace, yielded to the <code>trace</code>
function of this crate.</p>
<p>The tracing function's closure will be yielded frames, and the frame is
virtually dispatched as the underlying implementation is not always known
until runtime.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.Frame.html" title="struct backtrace::Frame">Frame</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#55-79' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.ip' class="method"><span id='ip.v' class='invisible'><code>pub fn <a href='#method.ip' class='fnname'>ip</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#64-66' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the current instruction pointer of this frame.</p>
<p>This is normally the next instruction to execute in the frame, but not
all implementations list this with 100% accuracy (but it's generally
pretty close).</p>
<p>It is recommended to pass this value to <code>backtrace::resolve</code> to turn it
into a symbol name.</p>
</div><h4 id='method.symbol_address' class="method"><span id='symbol_address.v' class='invisible'><code>pub fn <a href='#method.symbol_address' class='fnname'>symbol_address</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#76-78' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the starting symbol address of the frame of this function.</p>
<p>This will attempt to rewind the instruction pointer returned by <code>ip</code> to
the start of the function, returning that value. In some cases, however,
backends will just return <code>ip</code> from this function.</p>
<p>The returned value can sometimes be used if <code>backtrace::resolve</code> failed
on the <code>ip</code> given above.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Debug' class='impl'><span class='in-band'><code>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="../backtrace/struct.Frame.html" title="struct backtrace::Frame">Frame</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#81-88' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/backtrace/mod.rs.html#82-87' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,168 @@
<!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="API documentation for the Rust `Symbol` struct in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, Symbol">
<title>backtrace::Symbol - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct Symbol</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.name">name</a><a href="#method.addr">addr</a><a href="#method.filename">filename</a><a href="#method.lineno">lineno</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'Symbol', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>Symbol</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#52-54' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct Symbol { /* fields omitted */ }</pre><div class='docblock'><p>A trait representing the resolution of a symbol in a file.</p>
<p>This trait is yielded as a trait object to the closure given to the
<code>backtrace::resolve</code> function, and it is virtually dispatched as it's
unknown which implementation is behind it.</p>
<p>A symbol can give contextual information about a function, for example the
name, filename, line number, precise address, etc. Not all information is
always available in a symbol, however, so all methods return an <code>Option</code>.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl <a class="struct" href="../backtrace/struct.Symbol.html" title="struct backtrace::Symbol">Symbol</a></code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#56-92' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.name' class="method"><span id='name.v' class='invisible'><code>pub fn <a href='#method.name' class='fnname'>name</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="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#66-68' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the name of this function.</p>
<p>The returned structure can be used to query various properties about the
symbol name:</p>
<ul>
<li>The <code>Display</code> implementation will print out the demangled symbol.</li>
<li>The raw <code>str</code> value of the symbol can be accessed (if it's valid
utf-8).</li>
<li>The raw bytes for the symbol name can be accessed.</li>
</ul>
</div><h4 id='method.addr' class="method"><span id='addr.v' class='invisible'><code>pub fn <a href='#method.addr' class='fnname'>addr</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.pointer.html">*mut </a><a class="enum" href="https://doc.rust-lang.org/nightly/std/os/raw/enum.c_void.html" title="enum std::os::raw::c_void">c_void</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#71-73' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the starting address of this function.</p>
</div><h4 id='method.filename' class="method"><span id='filename.v' class='invisible'><code>pub fn <a href='#method.filename' class='fnname'>filename</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="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#81-83' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the file name where this function was defined.</p>
<p>This is currently only available when libbacktrace is being used (e.g.
unix platforms other than OSX) and when a binary is compiled with
debuginfo. If neither of these conditions is met then this will likely
return <code>None</code>.</p>
</div><h4 id='method.lineno' class="method"><span id='lineno.v' class='invisible'><code>pub fn <a href='#method.lineno' class='fnname'>lineno</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.u32.html">u32</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#89-91' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the line number for where this symbol is currently executing.</p>
<p>This return value is typically <code>Some</code> if <code>filename</code> returns <code>Some</code>, and
is consequently subject to similar caveats.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Debug' class='impl'><span class='in-band'><code>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="../backtrace/struct.Symbol.html" title="struct backtrace::Symbol">Symbol</a></code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#94-111' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#95-110' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,150 @@
<!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="API documentation for the Rust `SymbolName` struct in crate `backtrace`.">
<meta name="keywords" content="rust, rustlang, rust-lang, SymbolName">
<title>backtrace::SymbolName - Rust</title>
<link rel="stylesheet" type="text/css" href="../normalize.css">
<link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle">
<link rel="stylesheet" type="text/css" href="../dark.css">
<link rel="stylesheet" type="text/css" href="../main.css" id="themeStyle">
<script src="../storage.js"></script>
</head>
<body class="rustdoc struct">
<!--[if lte IE 8]>
<div class="warning">
This old browser is unsupported and will most likely display funky
things.
</div>
<![endif]-->
<nav class="sidebar">
<div class="sidebar-menu">&#9776;</div>
<p class='location'>Struct SymbolName</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a><a href="#method.as_str">as_str</a><a href="#method.as_bytes">as_bytes</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Display">Display</a><a href="#impl-Debug">Debug</a></div></div><p class='location'><a href='index.html'>backtrace</a></p><script>window.sidebarCurrent = {name: 'SymbolName', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div>
</nav>
<div class="theme-picker">
<button id="theme-picker" aria-label="Pick another theme!">
<img src="../brush.svg" width="18" alt="Pick another theme!">
</button>
<div id="theme-choices"></div>
</div>
<script src="../theme.js"></script>
<nav class="sub">
<form class="search-form js-only">
<div class="search-container">
<input class="search-input" name="search"
autocomplete="off"
placeholder="Click or press S to search, ? for more options…"
type="search">
</div>
</form>
</nav>
<section id='main' class="content">
<h1 class='fqn'><span class='in-band'>Struct <a href='index.html'>backtrace</a>::<wbr><a class="struct" href=''>SymbolName</a></span><span class='out-of-band'><span id='render-detail'>
<a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">
[<span class='inner'>&#x2212;</span>]
</a>
</span><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#150-154' title='goto source code'>[src]</a></span></h1>
<pre class='rust struct'>pub struct SymbolName&lt;'a&gt; { /* fields omitted */ }</pre><div class='docblock'><p>A wrapper around a symbol name to provide ergonomic accessors to the
demangled name, the raw bytes, the raw string, etc.</p>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><code>impl&lt;'a&gt; <a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>&lt;'a&gt;</code><a href='#impl' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#156-189' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><code>pub fn <a href='#method.new' class='fnname'>new</a>(bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>&lt;'a&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#158-173' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Creates a new symbol name from the raw underlying bytes.</p>
</div><h4 id='method.as_str' class="method"><span id='as_str.v' class='invisible'><code>pub fn <a href='#method.as_str' class='fnname'>as_str</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 <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#176-183' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the raw symbol name as a <code>str</code> if the symbols is valid utf-8.</p>
</div><h4 id='method.as_bytes' class="method"><span id='as_bytes.v' class='invisible'><code>pub fn <a href='#method.as_bytes' class='fnname'>as_bytes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#186-188' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Returns the raw symbol name as a list of bytes</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<h3 id='impl-Display' class='impl'><span class='in-band'><code>impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>&lt;'a&gt;</code><a href='#impl-Display' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#205-213' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#206-212' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><code>impl&lt;'a&gt; <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="../backtrace/struct.SymbolName.html" title="struct backtrace::SymbolName">SymbolName</a>&lt;'a&gt;</code><a href='#impl-Debug' class='anchor'></a></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#241-249' title='goto source code'>[src]</a></span></h3>
<div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../src/backtrace/symbolize/mod.rs.html#242-248' title='goto source code'>[src]</a></span></h4>
<div class='docblock'><p>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></p>
</div></div></section>
<section id='search' class="content hidden"></section>
<section class="footer"></section>
<aside id="help" class="hidden">
<div>
<h1 class="hidden">Help</h1>
<div class="shortcuts">
<h2>Keyboard Shortcuts</h2>
<dl>
<dt><kbd>?</kbd></dt>
<dd>Show this help dialog</dd>
<dt><kbd>S</kbd></dt>
<dd>Focus the search field</dd>
<dt><kbd></kbd></dt>
<dd>Move up in search results</dd>
<dt><kbd></kbd></dt>
<dd>Move down in search results</dd>
<dt><kbd></kbd></dt>
<dd>Switch tab</dd>
<dt><kbd>&#9166;</kbd></dt>
<dd>Go to active search result</dd>
<dt><kbd>+</kbd></dt>
<dd>Expand all sections</dd>
<dt><kbd>-</kbd></dt>
<dd>Collapse all sections</dd>
</dl>
</div>
<div class="infos">
<h2>Search Tricks</h2>
<p>
Prefix searches with a type followed by a colon (e.g.
<code>fn:</code>) to restrict the search to a given type.
</p>
<p>
Accepted types are: <code>fn</code>, <code>mod</code>,
<code>struct</code>, <code>enum</code>,
<code>trait</code>, <code>type</code>, <code>macro</code>,
and <code>const</code>.
</p>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
</aside>
<script>
window.rootPath = "../";
window.currentCrate = "backtrace";
</script>
<script src="../main.js"></script>
<script defer src="../search-index.js"></script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Symbol.html">
</head>
<body>
<p>Redirecting to <a href="struct.Symbol.html">struct.Symbol.html</a>...</p>
<script>location.replace("struct.Symbol.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.SymbolName.html">
</head>
<body>
<p>Redirecting to <a href="struct.SymbolName.html">struct.SymbolName.html</a>...</p>
<script>location.replace("struct.SymbolName.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../backtrace/fn.resolve.html">
</head>
<body>
<p>Redirecting to <a href="../../backtrace/fn.resolve.html">../../backtrace/fn.resolve.html</a>...</p>
<script>location.replace("../../backtrace/fn.resolve.html" + location.search + location.hash);</script>
</body>
</html>

View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=fn.resolve.html">
</head>
<body>
<p>Redirecting to <a href="fn.resolve.html">fn.resolve.html</a>...</p>
<script>location.replace("fn.resolve.html" + location.search + location.hash);</script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more