mango-v4/rs/doc/mango_v4/state/struct.Bank.html

124 lines
119 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 `Bank` struct in crate `mango_v4`."><meta name="keywords" content="rust, rustlang, rust-lang, Bank"><title>Bank in mango_v4::state - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../mango_v4/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../mango_v4/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Bank</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><ul><li><a href="#structfield.adjustment_factor">adjustment_factor</a></li><li><a href="#structfield.avg_utilization">avg_utilization</a></li><li><a href="#structfield.bank_num">bank_num</a></li><li><a href="#structfield.bank_rate_last_updated">bank_rate_last_updated</a></li><li><a href="#structfield.borrow_index">borrow_index</a></li><li><a href="#structfield.borrow_weight_scale_start_quote">borrow_weight_scale_start_quote</a></li><li><a href="#structfield.bump">bump</a></li><li><a href="#structfield.collected_fees_native">collected_fees_native</a></li><li><a href="#structfield.deposit_index">deposit_index</a></li><li><a href="#structfield.deposit_weight_scale_start_quote">deposit_weight_scale_start_quote</a></li><li><a href="#structfield.dust">dust</a></li><li><a href="#structfield.flash_loan_approved_amount">flash_loan_approved_amount</a></li><li><a href="#structfield.flash_loan_token_account_initial">flash_loan_token_account_initial</a></li><li><a href="#structfield.force_close">force_close</a></li><li><a href="#structfield.group">group</a></li><li><a href="#structfield.index_last_updated">index_last_updated</a></li><li><a href="#structfield.indexed_borrows">indexed_borrows</a></li><li><a href="#structfield.indexed_deposits">indexed_deposits</a></li><li><a href="#structfield.init_asset_weight">init_asset_weight</a></li><li><a href="#structfield.init_liab_weight">init_liab_weight</a></li><li><a href="#structfield.last_net_borrows_window_start_ts">last_net_borrows_window_start_ts</a></li><li><a href="#structfield.liquidation_fee">liquidation_fee</a></li><li><a href="#structfield.loan_fee_rate">loan_fee_rate</a></li><li><a href="#structfield.loan_origination_fee_rate">loan_origination_fee_rate</a></li><li><a href="#structfield.maint_asset_weight">maint_asset_weight</a></li><li><a href="#structfield.maint_liab_weight">maint_liab_weight</a></li><li><a href="#structfield.max_rate">max_rate</a></li><li><a href="#structfield.min_vault_to_deposits_ratio">min_vault_to_deposits_ratio</a></li><li><a href="#structfield.mint">mint</a></li><li><a href="#structfield.mint_decimals">mint_decimals</a></li><li><a href="#structfield.name">name</a></li><li><a href="#structfield.net_borrow_limit_per_window_quote">net_borrow_limit_per_window_quote</a></li><li><a href="#structfield.net_borrow_limit_window_size_ts">net_borrow_limit_window_size_ts</a></li><li><a href="#structfield.net_borrows_in_window">net_borrows_in_window</a></li><li><a href="#structfield.oracle">oracle</a></li><li><a href="#structfield.oracle_config">oracle_config</a></li><li><a href="#structfield.rate0">rate0</a></li><li><a href="#structfield.rate1">rate1</a></li><li><a href="#structfield.reduce_only">reduce_only</a></li><li><a href="#structfield.reserved">reserved</a></li><li><a href="#structfield.stable_price_model">stable_price_model</a></li><li><a href="#structfield.token_index">token_index</a></li><li><a href="#structfield.util0">util0</a></li><li><a href="#structfield.util1">util1</a></li><li><a href="#structfield.vault">vault</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><ul><li><a href="#method.are_borrows_reduce_only">are_borrows_reduce_only</a></li><li><a href="#method.are_deposits_reduce_only">are_deposits_reduce_only</a></li><li><a href="#method.change_with_fee">change_with_fee</a></li><li><a href="#method.change_without_fee">change_without_fee</a></li><li><a href="#method.check_net_borrows">check_net_borrows</a></li><li><a href="#method.compute_index">compute_index</a></li><li><a href="#method.compute_interest_rate">compute_interest_rate</a></li><li><a href="#method.compute_new_avg_utilization">compute_new_avg_utilization</a></li><li><a href="#method.compute_rates">compute_rates</a></li><li><a href="#method.deposit">deposit</a></li><li><a href="#method.deposit_internal">deposit_internal</a></li><li><a href="#method.deposit_internal_wrapper">deposit_internal_wrapper</a></li><li><a href="#method.deposit_with_dusting">deposit_with_dusting</a></li><li><a href="#method.enforce_min_vault_to_deposits_ratio">enforce_min_vault_to_deposits_ratio</a></li><li><a href="#method.from_existing_bank">from_existing_bank</a></li><li><a href="#method.interest_rate_curve_calculator">interest_rate_curve_calculator</a></li><li><a href="#method.is_force_close">is_force_close</a></li><li><a href="#method.name">name</a></li><li><a href="#method.native_borrows">native_borrows</a></li><li><a href="#method.native_deposits">native_deposits</a></li><li><a href="#method.oracle_price">oracle_price</a></li><li><a href="#method.scaled_init_asset_weight">scaled_init_asset_weight</a></li><li><a href="#method.scaled_init_liab_weight">scaled_init_liab_weight</a></li><li><a href="#method.stable_price">stable_price</a></li><li><a href="#method.update_cumulative_interest">update_cumulative_interest</a></li><li><a href="#method.update_net_borrows">update_net_borrows</a></li><li><a href="#method.withdraw_loan_origination_fee">withdraw_loan_origination_fee</a></li><li><a href="#method.withdraw_with_fee">withdraw_with_fee</a></li><li><a href="#method.withdraw_without_fee">withdraw_without_fee</a></li><li><a href="#method.withdraw_without_fee_with_dusting">withdraw_without_fee_with_dusting</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><ul><li><a href="#impl-AccountDeserialize-for-Bank">AccountDeserialize</a></li><li><a href="#impl-Clone-for-Bank">Clone</a></li><li><a href="#impl-Copy-for-Bank">Copy</a></li><li><a href="#impl-Debug-for-Bank">Debug</a></li><li><a href="#impl-Discriminator-for-Bank">Discriminator</a></li><li><a href="#impl-Owner-for-Bank">Owner</a></li><li><a href="#impl-Pod-for-Bank">Pod</a></li><li><a href="#impl-ZeroCopy-for-Bank">ZeroCopy</a></li><li><a href="#impl-Zeroable-for-Bank">Zeroable</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul><li><a href="#impl-RefUnwindSafe-for-Bank">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Bank">Send</a></li><li><a href="#impl-Sync-for-Bank">Sync</a></li><li><a href="#impl-Unpin-for-Bank">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Bank">UnwindSafe</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><ul><li><a href="#impl-Any-for-Bank">Any</a></li><li><a href="#impl-AnyBitPattern-for-Bank">AnyBitPattern</a></li><li><a href="#impl-Az-for-Bank">Az</a></li><li><a href="#impl-Borrow%3CT%3E-for-Bank">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Bank">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-CastFrom%3CSrc%3E-for-Bank">CastFrom&lt;Src&gt;</a></li><li><a href="#impl-CheckedAs-for-Bank">CheckedAs</a></li><li><a href="#impl-CheckedBitPattern-for-Bank">CheckedBitPattern</a></li><li><a href="#impl-CheckedCastFrom%3CSrc%3E-for-Bank">CheckedCastFrom&lt;Src&gt;</a></li><li><a href="#impl-DynClone-for-Bank">DynClone</a></li><li><a href="#impl-From%3CT%3E-for-Bank">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-Bank">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Bank">Into&lt;U&gt;</a></li><li><a href="#impl-LosslessTryInto%3CDst%3E-for-Bank">LosslessTryInto&lt;Dst&gt;</a></li><li><a href="#impl-LossyInto%3CDst%3E-for-Bank">LossyInto&lt;Dst&gt;</a></li><li><a href="#impl-NoUninit-for-Bank">NoUninit</a></li><li><a href="#impl-OverflowingAs-for-Bank">OverflowingAs</a></li><li><a href="#impl-OverflowingCastFrom%3CSrc%3E-for-Bank">OverflowingCastFrom&lt;Src&gt;</a></li><li><a href="#impl-Pointable-for-Bank">Pointable</a></li><li><a href="#impl-Same%3CT%3E-for-Bank">Same&lt;T&gt;</a></li><li><a href="#impl-SaturatingAs-for-Bank">SaturatingAs</a></li><li><a href="#impl-SaturatingCastFrom%3CSrc%3E-for-Bank">SaturatingCastFrom&lt;Src&gt;</a></li><li><a href="#impl-ToOwned-for-Bank">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Bank">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Bank">TryInto&lt;U&gt;</a></li><li><a href="#impl-UnwrappedAs-for-Bank">UnwrappedAs</a></li><li><a href="#impl-UnwrappedCastFrom%3CSrc%3E-for-Bank">UnwrappedCastFrom&lt;Src&gt;</a></li><li><a href="#impl-VZip%3CV%3E-for-Bank">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-Bank">WithSubscriber</a></li><li><a href="#impl-WrappingAs-for-Bank">WrappingAs</a></li><li><a href="#impl-WrappingCastFrom%3CSrc%3E-for-Bank">WrappingCastFrom&lt;Src&gt;</a></li></ul></div></section><h2 class="location"><a href="index.html">In mango_v4::state</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../mango_v4/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">mango_v4</a>::<wbr><a href="index.html">state</a>::<wbr><a class="struct" href="#">Bank</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/mango_v4/state/bank.rs.html#25-140">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust struct"><code><div class="code-attribute">#[repr(C)]</div>pub struct Bank {<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 45 fields</span></summary>
pub group: Pubkey,
pub name: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 16]</a>,
pub mint: Pubkey,
pub vault: Pubkey,
pub oracle: Pubkey,
pub oracle_config: <a class="struct" href="struct.OracleConfig.html" title="struct mango_v4::state::OracleConfig">OracleConfig</a>,
pub stable_price_model: <a class="struct" href="struct.StablePriceModel.html" title="struct mango_v4::state::StablePriceModel">StablePriceModel</a>,
pub deposit_index: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub borrow_index: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub indexed_deposits: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub indexed_borrows: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub index_last_updated: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub bank_rate_last_updated: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub avg_utilization: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub adjustment_factor: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub util0: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub rate0: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub util1: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub rate1: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub max_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub collected_fees_native: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub loan_origination_fee_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub loan_fee_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub maint_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub init_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub maint_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub init_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub liquidation_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub dust: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,
pub flash_loan_token_account_initial: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub flash_loan_approved_amount: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub token_index: <a class="type" href="type.TokenIndex.html" title="type mango_v4::state::TokenIndex">TokenIndex</a>,
pub bump: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub mint_decimals: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub bank_num: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub min_vault_to_deposits_ratio: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f64.html">f64</a>,
pub net_borrow_limit_window_size_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub last_net_borrows_window_start_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub net_borrow_limit_per_window_quote: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>,
pub net_borrows_in_window: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a>,
pub borrow_weight_scale_start_quote: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f64.html">f64</a>,
pub deposit_weight_scale_start_quote: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f64.html">f64</a>,
pub reduce_only: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub force_close: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>,
pub reserved: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 2118]</a>,
</details>}</code></pre></div><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.group" class="structfield small-section-header"><a href="#structfield.group" class="anchor field"></a><code>group: Pubkey</code></span><span id="structfield.name" class="structfield small-section-header"><a href="#structfield.name" class="anchor field"></a><code>name: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 16]</a></code></span><span id="structfield.mint" class="structfield small-section-header"><a href="#structfield.mint" class="anchor field"></a><code>mint: Pubkey</code></span><span id="structfield.vault" class="structfield small-section-header"><a href="#structfield.vault" class="anchor field"></a><code>vault: Pubkey</code></span><span id="structfield.oracle" class="structfield small-section-header"><a href="#structfield.oracle" class="anchor field"></a><code>oracle: Pubkey</code></span><span id="structfield.oracle_config" class="structfield small-section-header"><a href="#structfield.oracle_config" class="anchor field"></a><code>oracle_config: <a class="struct" href="struct.OracleConfig.html" title="struct mango_v4::state::OracleConfig">OracleConfig</a></code></span><span id="structfield.stable_price_model" class="structfield small-section-header"><a href="#structfield.stable_price_model" class="anchor field"></a><code>stable_price_model: <a class="struct" href="struct.StablePriceModel.html" title="struct mango_v4::state::StablePriceModel">StablePriceModel</a></code></span><span id="structfield.deposit_index" class="structfield small-section-header"><a href="#structfield.deposit_index" class="anchor field"></a><code>deposit_index: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>the index used to scale the value of an IndexedPosition
TODO: should always be &gt;= 0, add checks?</p>
</div><span id="structfield.borrow_index" class="structfield small-section-header"><a href="#structfield.borrow_index" class="anchor field"></a><code>borrow_index: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.indexed_deposits" class="structfield small-section-header"><a href="#structfield.indexed_deposits" class="anchor field"></a><code>indexed_deposits: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><div class="docblock"><p>deposits/borrows for this bank</p>
<p>Note that these may become negative. Its perfectly fine for users to borrow one one bank
(increasing indexed_borrows there) and paying back on another (possibly decreasing indexed_borrows
below zero).</p>
<p>The vault amount is not deducable from these values.</p>
<p>These become meaningful when summed over all banks (like in update_index_and_rate).</p>
</div><span id="structfield.indexed_borrows" class="structfield small-section-header"><a href="#structfield.indexed_borrows" class="anchor field"></a><code>indexed_borrows: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.index_last_updated" class="structfield small-section-header"><a href="#structfield.index_last_updated" class="anchor field"></a><code>index_last_updated: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><span id="structfield.bank_rate_last_updated" class="structfield small-section-header"><a href="#structfield.bank_rate_last_updated" class="anchor field"></a><code>bank_rate_last_updated: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><span id="structfield.avg_utilization" class="structfield small-section-header"><a href="#structfield.avg_utilization" class="anchor field"></a><code>avg_utilization: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.adjustment_factor" class="structfield small-section-header"><a href="#structfield.adjustment_factor" class="anchor field"></a><code>adjustment_factor: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.util0" class="structfield small-section-header"><a href="#structfield.util0" class="anchor field"></a><code>util0: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.rate0" class="structfield small-section-header"><a href="#structfield.rate0" class="anchor field"></a><code>rate0: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.util1" class="structfield small-section-header"><a href="#structfield.util1" class="anchor field"></a><code>util1: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.rate1" class="structfield small-section-header"><a href="#structfield.rate1" class="anchor field"></a><code>rate1: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.max_rate" class="structfield small-section-header"><a href="#structfield.max_rate" class="anchor field"></a><code>max_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.collected_fees_native" class="structfield small-section-header"><a href="#structfield.collected_fees_native" class="anchor field"></a><code>collected_fees_native: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.loan_origination_fee_rate" class="structfield small-section-header"><a href="#structfield.loan_origination_fee_rate" class="anchor field"></a><code>loan_origination_fee_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.loan_fee_rate" class="structfield small-section-header"><a href="#structfield.loan_fee_rate" class="anchor field"></a><code>loan_fee_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.maint_asset_weight" class="structfield small-section-header"><a href="#structfield.maint_asset_weight" class="anchor field"></a><code>maint_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.init_asset_weight" class="structfield small-section-header"><a href="#structfield.init_asset_weight" class="anchor field"></a><code>init_asset_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.maint_liab_weight" class="structfield small-section-header"><a href="#structfield.maint_liab_weight" class="anchor field"></a><code>maint_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.init_liab_weight" class="structfield small-section-header"><a href="#structfield.init_liab_weight" class="anchor field"></a><code>init_liab_weight: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.liquidation_fee" class="structfield small-section-header"><a href="#structfield.liquidation_fee" class="anchor field"></a><code>liquidation_fee: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.dust" class="structfield small-section-header"><a href="#structfield.dust" class="anchor field"></a><code>dust: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></code></span><span id="structfield.flash_loan_token_account_initial" class="structfield small-section-header"><a href="#structfield.flash_loan_token_account_initial" class="anchor field"></a><code>flash_loan_token_account_initial: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><span id="structfield.flash_loan_approved_amount" class="structfield small-section-header"><a href="#structfield.flash_loan_approved_amount" class="anchor field"></a><code>flash_loan_approved_amount: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><span id="structfield.token_index" class="structfield small-section-header"><a href="#structfield.token_index" class="anchor field"></a><code>token_index: <a class="type" href="type.TokenIndex.html" title="type mango_v4::state::TokenIndex">TokenIndex</a></code></span><span id="structfield.bump" class="structfield small-section-header"><a href="#structfield.bump" class="anchor field"></a><code>bump: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><span id="structfield.mint_decimals" class="structfield small-section-header"><a href="#structfield.mint_decimals" class="anchor field"></a><code>mint_decimals: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><span id="structfield.bank_num" class="structfield small-section-header"><a href="#structfield.bank_num" class="anchor field"></a><code>bank_num: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a></code></span><span id="structfield.min_vault_to_deposits_ratio" class="structfield small-section-header"><a href="#structfield.min_vault_to_deposits_ratio" class="anchor field"></a><code>min_vault_to_deposits_ratio: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f64.html">f64</a></code></span><div class="docblock"><p>Min fraction of deposits that must remain in the vault when borrowing.</p>
</div><span id="structfield.net_borrow_limit_window_size_ts" class="structfield small-section-header"><a href="#structfield.net_borrow_limit_window_size_ts" class="anchor field"></a><code>net_borrow_limit_window_size_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Size in seconds of a net borrows window</p>
</div><span id="structfield.last_net_borrows_window_start_ts" class="structfield small-section-header"><a href="#structfield.last_net_borrows_window_start_ts" class="anchor field"></a><code>last_net_borrows_window_start_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Timestamp at which the last net borrows window started</p>
</div><span id="structfield.net_borrow_limit_per_window_quote" class="structfield small-section-header"><a href="#structfield.net_borrow_limit_per_window_quote" class="anchor field"></a><code>net_borrow_limit_per_window_quote: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>Net borrow limit per window in quote native; set to -1 to disable.</p>
</div><span id="structfield.net_borrows_in_window" class="structfield small-section-header"><a href="#structfield.net_borrows_in_window" class="anchor field"></a><code>net_borrows_in_window: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.i64.html">i64</a></code></span><div class="docblock"><p>Sum of all deposits and borrows in the last window, in native units.</p>
</div><span id="structfield.borrow_weight_scale_start_quote" class="structfield small-section-header"><a href="#structfield.borrow_weight_scale_start_quote" class="anchor field"></a><code>borrow_weight_scale_start_quote: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f64.html">f64</a></code></span><div class="docblock"><p>Soft borrow limit in native quote</p>
<p>Once the borrows on the bank exceed this quote value, init_liab_weight is scaled up.
Set to f64::MAX to disable.</p>
<p>See scaled_init_liab_weight().</p>
</div><span id="structfield.deposit_weight_scale_start_quote" class="structfield small-section-header"><a href="#structfield.deposit_weight_scale_start_quote" class="anchor field"></a><code>deposit_weight_scale_start_quote: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.f64.html">f64</a></code></span><div class="docblock"><p>Limit for collateral of deposits in native quote</p>
<p>Once the deposits in the bank exceed this quote value, init_asset_weight is scaled
down to keep the total collateral value constant.
Set to f64::MAX to disable.</p>
<p>See scaled_init_asset_weight().</p>
</div><span id="structfield.reduce_only" class="structfield small-section-header"><a href="#structfield.reduce_only" class="anchor field"></a><code>reduce_only: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><span id="structfield.force_close" class="structfield small-section-header"><a href="#structfield.force_close" class="anchor field"></a><code>force_close: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a></code></span><span id="structfield.reserved" class="structfield small-section-header"><a href="#structfield.reserved" class="anchor field"></a><code>reserved: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 2118]</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#173-846">source</a><a href="#impl-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><section id="method.from_existing_bank" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#174-232">source</a><h4 class="code-header">pub fn <a href="#method.from_existing_bank" class="fnname">from_existing_bank</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;existing_bank: &amp;<a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;vault: Pubkey,<br>&nbsp;&nbsp;&nbsp;&nbsp;bank_num: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;bump: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><br>) -&gt; Self</h4></section><section id="method.name" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#234-238">source</a><h4 class="code-header">pub fn <a href="#method.name" class="fnname">name</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.str.html">str</a></h4></section><section id="method.are_deposits_reduce_only" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#240-242">source</a><h4 class="code-header">pub fn <a href="#method.are_deposits_reduce_only" class="fnname">are_deposits_reduce_only</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section><section id="method.are_borrows_reduce_only" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#244-246">source</a><h4 class="code-header">pub fn <a href="#method.are_borrows_reduce_only" class="fnname">are_borrows_reduce_only</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section><section id="method.is_force_close" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#248-250">source</a><h4 class="code-header">pub fn <a href="#method.is_force_close" class="fnname">is_force_close</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section><section id="method.native_borrows" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#253-255">source</a><h4 class="code-header">pub fn <a href="#method.native_borrows" class="fnname">native_borrows</a>(&amp;self) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section><section id="method.native_deposits" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#258-260">source</a><h4 class="code-header">pub fn <a href="#method.native_deposits" class="fnname">native_deposits</a>(&amp;self) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.enforce_min_vault_to_deposits_ratio" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#264-283">source</a><h4 class="code-header">pub fn <a href="#method.enforce_min_vault_to_deposits_ratio" class="fnname">enforce_min_vault_to_deposits_ratio</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;vault_ai: &amp;AccountInfo&lt;'_&gt;<br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>&gt;</h4></section></summary><div class="docblock"><p>Prevent borrowing away the full bank vault.
Keep some in reserve to satisfy non-borrow withdraws.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deposit" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#293-300">source</a><h4 class="code-header">pub fn <a href="#method.deposit" class="fnname">deposit</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section></summary><div class="docblock"><p>Deposits <code>native_amount</code>.</p>
<p>If the token position ends up positive but below one native token and this token
position isnt marked as in-use, the token balance will be dusted, the position
will be set to zero and this function returns Ok(false).</p>
<p>native_amount must be &gt;= 0
fractional deposits can be relevant during liquidation, for example</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deposit_with_dusting" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#305-313">source</a><h4 class="code-header">pub fn <a href="#method.deposit_with_dusting" class="fnname">deposit_with_dusting</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section></summary><div class="docblock"><p>Like <code>deposit()</code>, but allows dusting of in-use accounts.</p>
<p>Returns Ok(false) if the position was dusted and was not in-use.</p>
</div></details><section id="method.deposit_internal_wrapper" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#315-326">source</a><h4 class="code-header">pub fn <a href="#method.deposit_internal_wrapper" class="fnname">deposit_internal_wrapper</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;allow_dusting: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deposit_internal" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#329-390">source</a><h4 class="code-header">pub fn <a href="#method.deposit_internal" class="fnname">deposit_internal</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;allow_dusting: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section></summary><div class="docblock"><p>Internal function to deposit funds</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.withdraw_without_fee" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#400-415">source</a><h4 class="code-header">pub fn <a href="#method.withdraw_without_fee" class="fnname">withdraw_without_fee</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section></summary><div class="docblock"><p>Withdraws <code>native_amount</code> without applying the loan origination fee.</p>
<p>If the token position ends up positive but below one native token and this token
position isnt marked as in-use, the token balance will be dusted, the position
will be set to zero and this function returns Ok(false).</p>
<p>native_amount must be &gt;= 0
fractional withdraws can be relevant during liquidation, for example</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.withdraw_without_fee_with_dusting" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#420-428">source</a><h4 class="code-header">pub fn <a href="#method.withdraw_without_fee_with_dusting" class="fnname">withdraw_without_fee_with_dusting</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section></summary><div class="docblock"><p>Like <code>withdraw_without_fee()</code> but allows dusting of in-use token accounts.</p>
<p>Returns Ok(false) on dusted positions that werent in-use.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.withdraw_with_fee" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#438-445">source</a><h4 class="code-header">pub fn <a href="#method.withdraw_with_fee" class="fnname">withdraw_with_fee</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>)&gt;</h4></section></summary><div class="docblock"><p>Withdraws <code>native_amount</code> while applying the loan origination fee if a borrow is created.</p>
<p>If the token position ends up positive but below one native token and this token
position isnt marked as in-use, the token balance will be dusted, the position
will be set to zero and this function returns Ok(false).</p>
<p>native_amount must be &gt;= 0
fractional withdraws can be relevant during liquidation, for example</p>
</div></details><section id="method.withdraw_loan_origination_fee" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#526-544">source</a><h4 class="code-header">pub fn <a href="#method.withdraw_loan_origination_fee" class="fnname">withdraw_loan_origination_fee</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;already_borrowed_native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>)&gt;</h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.change_without_fee" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#547-558">source</a><h4 class="code-header">pub fn <a href="#method.change_without_fee" class="fnname">change_without_fee</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>&gt;</h4></section></summary><div class="docblock"><p>Change a position without applying the loan origination fee</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.change_with_fee" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#561-572">source</a><h4 class="code-header">pub fn <a href="#method.change_with_fee" class="fnname">change_with_fee</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; Result&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>)&gt;</h4></section></summary><div class="docblock"><p>Change a position, while taking the loan origination fee into account</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.update_net_borrows" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#577-591">source</a><h4 class="code-header">pub fn <a href="#method.update_net_borrows" class="fnname">update_net_borrows</a>(&amp;mut self, native_amount: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>)</h4></section></summary><div class="docblock"><p>Update the banks net_borrows fields.</p>
<p>If oracle_price is set, also do a net borrows check and error if the threshold is exceeded.</p>
</div></details><section id="method.check_net_borrows" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#593-611">source</a><h4 class="code-header">pub fn <a href="#method.check_net_borrows" class="fnname">check_net_borrows</a>(&amp;self, oracle_price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>) -&gt; Result&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>&gt;</h4></section><section id="method.update_cumulative_interest" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#613-635">source</a><h4 class="code-header">pub fn <a href="#method.update_cumulative_interest" class="fnname">update_cumulative_interest</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;position: &amp;mut <a class="struct" href="struct.TokenPosition.html" title="struct mango_v4::state::TokenPosition">TokenPosition</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;opening_indexed_position: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a><br>)</h4></section><section id="method.compute_index" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#637-684">source</a><h4 class="code-header">pub fn <a href="#method.compute_index" class="fnname">compute_index</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;indexed_total_deposits: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;indexed_total_borrows: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;diff_ts: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a><br>) -&gt; Result&lt;(<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>)&gt;</h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.compute_interest_rate" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#688-697">source</a><h4 class="code-header">pub fn <a href="#method.compute_interest_rate" class="fnname">compute_interest_rate</a>(&amp;self, utilization: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section></summary><div class="docblock"><p>returns the current interest rate in APR</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.interest_rate_curve_calculator" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#702-722">source</a><h4 class="code-header">pub fn <a href="#method.interest_rate_curve_calculator" class="fnname">interest_rate_curve_calculator</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;utilization: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;util0: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;rate0: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;util1: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;rate1: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;max_rate: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a><br>) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section></summary><div class="docblock"><p>calcualtor function that can be used to compute an interest
rate based on the given parameters</p>
</div></details><section id="method.compute_new_avg_utilization" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#725-753">source</a><h4 class="code-header">pub fn <a href="#method.compute_new_avg_utilization" class="fnname">compute_new_avg_utilization</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;indexed_total_deposits: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;indexed_total_borrows: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;now_ts: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><br>) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section><section id="method.compute_rates" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#756-784">source</a><h4 class="code-header">pub fn <a href="#method.compute_rates" class="fnname">compute_rates</a>(&amp;self) -&gt; (<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>, <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>)</h4></section><section id="method.oracle_price" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#786-800">source</a><h4 class="code-header">pub fn <a href="#method.oracle_price" class="fnname">oracle_price</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;oracle_acc: &amp;impl <a class="trait" href="../accounts_zerocopy/trait.KeyedAccountReader.html" title="trait mango_v4::accounts_zerocopy::KeyedAccountReader">KeyedAccountReader</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;staleness_slot: <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>&gt;<br>) -&gt; Result&lt;<a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>&gt;</h4></section><section id="method.stable_price" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#802-804">source</a><h4 class="code-header">pub fn <a href="#method.stable_price" class="fnname">stable_price</a>(&amp;self) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section><details class="rustdoc-toggle method-toggle" open><summary><section id="method.scaled_init_asset_weight" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#812-825">source</a><h4 class="code-header">pub fn <a href="#method.scaled_init_asset_weight" class="fnname">scaled_init_asset_weight</a>(&amp;self, price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section></summary><div class="docblock"><p>Returns the init asset weight, adjusted for the number of deposits on the bank.</p>
<p>If max_collateral is 0, then the scaled init weight will be 0.
Otherwise the weight is unadjusted until max_collateral and then scaled down
such that scaled_init_weight * deposits remains constant.</p>
</div></details><section id="method.scaled_init_liab_weight" class="method has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#828-845">source</a><h4 class="code-header">pub fn <a href="#method.scaled_init_liab_weight" class="fnname">scaled_init_liab_weight</a>(&amp;self, price: <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a>) -&gt; <a class="type" href="https://docs.rs/fixed/~1.11/fixed/types/type.I80F48.html" title="type fixed::types::I80F48">I80F48</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AccountDeserialize-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-AccountDeserialize-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl AccountDeserialize for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_deserialize" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#method.try_deserialize" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_deserialize</a>(buf: &amp;mut &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>]) -&gt; Result&lt;Self&gt;</h4></section></summary><div class='docblock'>Deserializes previously initialized account data. Should fail for all
uninitialized accounts, where the bytes are zeroed. Implementations
should be unique to a particular account type so that one can never
successfully deserialize the data of one account type into another.
For example, if the SPL token program were to implement this trait,
it should be impossible to deserialize a <code>Mint</code> account into a token
<code>Account</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_deserialize_unchecked" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#method.try_deserialize_unchecked" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_deserialize_unchecked</a>(buf: &amp;mut &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a>]) -&gt; Result&lt;Self&gt;</h4></section></summary><div class='docblock'>Deserializes account data without checking the account discriminator.
This should only be used on account initialization, when the bytes of
the account are zeroed. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-Clone-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/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/1.65.0/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#23">source</a><a href="#impl-Debug-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#23">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/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/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.65.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Discriminator-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-Discriminator-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl Discriminator for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><section id="method.discriminator" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#method.discriminator" class="anchor"></a><h4 class="code-header">fn <a class="fnname">discriminator</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.array.html">; 8]</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Owner-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-Owner-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl Owner for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><section id="method.owner" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#method.owner" class="anchor"></a><h4 class="code-header">fn <a class="fnname">owner</a>() -&gt; Pubkey</h4></section></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Zeroable-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-Zeroable-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl Zeroable for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.zeroed" class="method trait-impl has-srclink"><a href="#method.zeroed" class="anchor"></a><h4 class="code-header">fn <a class="fnname">zeroed</a>() -&gt; Self</h4></section></summary><div class='docblock'>Calls <a href="https://doc.rust-lang.org/1.65.0/core/mem/fn.zeroed.html"><code>zeroed</code></a>. <a>Read more</a></div></details></div></details><section id="impl-Copy-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-Copy-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section><section id="impl-Pod-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-Pod-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl Pod for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section><section id="impl-ZeroCopy-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="../../src/mango_v4/state/bank.rs.html#24">source</a><a href="#impl-ZeroCopy-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl ZeroCopy for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Bank" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section><section id="impl-Send-for-Bank" class="impl has-srclink"><a href="#impl-Send-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section><section id="impl-Sync-for-Bank" class="impl has-srclink"><a href="#impl-Sync-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section><section id="impl-Unpin-for-Bank" class="impl has-srclink"><a href="#impl-Unpin-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section><section id="impl-UnwindSafe-for-Bank" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Bank.html" title="struct mango_v4::state::Bank">Bank</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Az-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#599">source</a><a href="#impl-Az-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.Az.html" title="trait az::Az">Az</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.az" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#602-604">source</a><a href="#method.az" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.Az.html#tymethod.az" class="fnname">az</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.Cast.html" title="trait az::Cast">Cast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#218">source</a><a href="#impl-BorrowMut%3CT%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#219">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CastFrom%3CSrc%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#330">source</a><a href="#impl-CastFrom%3CSrc%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CastFrom.html" title="trait az::CastFrom">CastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.Cast.html" title="trait az::Cast">Cast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#333">source</a><a href="#method.cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.CastFrom.html#tymethod.cast_from" class="fnname">cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CheckedAs-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#672">source</a><a href="#impl-CheckedAs-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedAs.html" title="trait az::CheckedAs">CheckedAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.checked_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#675-677">source</a><a href="#method.checked_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.CheckedAs.html#tymethod.checked_as" class="fnname">checked_as</a>&lt;Dst&gt;(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Dst&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedCast.html" title="trait az::CheckedCast">CheckedCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CheckedBitPattern-for-Bank" class="impl has-srclink"><a href="#impl-CheckedBitPattern-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; CheckedBitPattern for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: AnyBitPattern,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Bits" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Bits" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Bits</a> = T</h4></section></summary><div class='docblock'><code>Self</code> <em>must</em> have the same layout as the specified <code>Bits</code> except for
the possible invalid bit patterns being checked during
<a href="CheckedBitPattern::is_valid_bit_pattern"><code>is_valid_bit_pattern</code></a>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_valid_bit_pattern" class="method trait-impl has-srclink"><a href="#method.is_valid_bit_pattern" class="anchor"></a><h4 class="code-header">fn <a class="fnname">is_valid_bit_pattern</a>(_bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>If this function returns true, then it must be valid to reinterpret <code>bits</code>
as <code>&amp;Self</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CheckedCastFrom%3CSrc%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#366">source</a><a href="#impl-CheckedCastFrom%3CSrc%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedCastFrom.html" title="trait az::CheckedCastFrom">CheckedCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.CheckedCast.html" title="trait az::CheckedCast">CheckedCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.checked_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#369">source</a><a href="#method.checked_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.CheckedCastFrom.html#tymethod.checked_cast_from" class="fnname">checked_cast_from</a>(src: Src) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Dst&gt;</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DynClone-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/dyn_clone/1.0.9/src/dyn_clone/lib.rs.html#188">source</a><a href="#impl-DynClone-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/dyn_clone/1.0.9/dyn_clone/trait.DynClone.html" title="trait dyn_clone::DynClone">DynClone</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><section id="method.__clone_box" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/dyn_clone/1.0.9/src/dyn_clone/lib.rs.html#192">source</a><a href="#method.__clone_box" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/dyn_clone/1.0.9/dyn_clone/trait.DynClone.html#tymethod.__clone_box" class="fnname">__clone_box</a>(&amp;self, Private) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#559">source</a><a href="#impl-From%3CT%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#562">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Instrument-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><a href="#impl-Instrument-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><a href="#method.instrument" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><a href="#method.in_current_span" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a> <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#543">source</a><a href="#impl-Into%3CU%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#551">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-LosslessTryInto%3CDst%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3054">source</a><a href="#impl-LosslessTryInto%3CDst%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LosslessTryInto.html" title="trait fixed::traits::LosslessTryInto">LosslessTryInto</a>&lt;Dst&gt; for Src<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Dst: <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LosslessTryFrom.html" title="trait fixed::traits::LosslessTryFrom">LosslessTryFrom</a>&lt;Src&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lossless_try_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3058">source</a><a href="#method.lossless_try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LosslessTryInto.html#tymethod.lossless_try_into" class="fnname">lossless_try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Dst&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-LossyInto%3CDst%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3105">source</a><a href="#impl-LossyInto%3CDst%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LossyInto.html" title="trait fixed::traits::LossyInto">LossyInto</a>&lt;Dst&gt; for Src<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Dst: <a class="trait" href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LossyFrom.html" title="trait fixed::traits::LossyFrom">LossyFrom</a>&lt;Src&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lossy_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/fixed/~1.11/src/fixed/traits.rs.html#3109">source</a><a href="#method.lossy_into" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/fixed/~1.11/fixed/traits/trait.LossyInto.html#tymethod.lossy_into" class="fnname">lossy_into</a>(self) -&gt; Dst</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-OverflowingAs-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#897">source</a><a href="#impl-OverflowingAs-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingAs.html" title="trait az::OverflowingAs">OverflowingAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.overflowing_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#900-902">source</a><a href="#method.overflowing_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.OverflowingAs.html#tymethod.overflowing_as" class="fnname">overflowing_as</a>&lt;Dst&gt;(self) -&gt; (Dst, <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingCast.html" title="trait az::OverflowingCast">OverflowingCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-OverflowingCastFrom%3CSrc%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#474">source</a><a href="#impl-OverflowingCastFrom%3CSrc%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingCastFrom.html" title="trait az::OverflowingCastFrom">OverflowingCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.OverflowingCast.html" title="trait az::OverflowingCast">OverflowingCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.overflowing_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#477">source</a><a href="#method.overflowing_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.OverflowingCastFrom.html#tymethod.overflowing_cast_from" class="fnname">overflowing_cast_from</a>(src: Src) -&gt; (Dst, <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>)</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Pointable-for-Bank" class="impl has-srclink"><a href="#impl-Pointable-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Pointable for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedconstant.ALIGN" class="associatedconstant trait-impl has-srclink"><a href="#associatedconstant.ALIGN" class="anchor"></a><h4 class="code-header">const <a class="constant">ALIGN</a>: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a> = mem::align_of::&lt;T&gt;()</h4></section></summary><div class='docblock'>The alignment of pointer.</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Init" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Init" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Init</a> = T</h4></section></summary><div class='docblock'>The type for initializers.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.init" class="method trait-impl has-srclink"><a href="#method.init" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">init</a>(init: &lt;T as Pointable&gt;::Init) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a></h4></section></summary><div class='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl has-srclink"><a href="#method.deref" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">deref</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;'a </a>T</h4></section></summary><div class='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref_mut" class="method trait-impl has-srclink"><a href="#method.deref_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">deref_mut</a>&lt;'a&gt;(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;'a mut </a>T</h4></section></summary><div class='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.drop" class="method trait-impl has-srclink"><a href="#method.drop" class="anchor"></a><h4 class="code-header">unsafe fn <a class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.usize.html">usize</a>)</h4></section></summary><div class='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/typenum/1.16.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-SaturatingAs-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#745">source</a><a href="#impl-SaturatingAs-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingAs.html" title="trait az::SaturatingAs">SaturatingAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.saturating_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#748-750">source</a><a href="#method.saturating_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.SaturatingAs.html#tymethod.saturating_as" class="fnname">saturating_as</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingCast.html" title="trait az::SaturatingCast">SaturatingCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-SaturatingCastFrom%3CSrc%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#402">source</a><a href="#impl-SaturatingCastFrom%3CSrc%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingCastFrom.html" title="trait az::SaturatingCastFrom">SaturatingCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.SaturatingCast.html" title="trait az::SaturatingCast">SaturatingCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.saturating_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#405">source</a><a href="#method.saturating_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.SaturatingCastFrom.html#tymethod.saturating_cast_from" class="fnname">saturating_cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#83">source</a><a href="#impl-ToOwned-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#601">source</a><a href="#impl-TryFrom%3CU%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#607">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#586">source</a><a href="#impl-TryInto%3CU%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#592">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-UnwrappedAs-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#977">source</a><a href="#impl-UnwrappedAs-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedAs.html" title="trait az::UnwrappedAs">UnwrappedAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.unwrapped_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#979-981">source</a><a href="#method.unwrapped_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.UnwrappedAs.html#tymethod.unwrapped_as" class="fnname">unwrapped_as</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedCast.html" title="trait az::UnwrappedCast">UnwrappedCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-UnwrappedCastFrom%3CSrc%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#526">source</a><a href="#impl-UnwrappedCastFrom%3CSrc%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedCastFrom.html" title="trait az::UnwrappedCastFrom">UnwrappedCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.UnwrappedCast.html" title="trait az::UnwrappedCast">UnwrappedCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.unwrapped_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#529">source</a><a href="#method.unwrapped_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.UnwrappedCastFrom.html#tymethod.unwrapped_cast_from" class="fnname">unwrapped_cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-Bank" class="impl has-srclink"><a href="#impl-VZip%3CV%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl has-srclink"><a href="#method.vzip" class="anchor"></a><h4 class="code-header">fn <a class="fnname">vzip</a>(self) -&gt; V</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#334">source</a><a href="#impl-WithSubscriber-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#169-171">source</a><a href="#method.with_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fnname">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://docs.rs/tracing-core/0.1.22/tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><a href="#method.with_current_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fnname">with_current_subscriber</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a> <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WrappingAs-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#818">source</a><a href="#impl-WrappingAs-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingAs.html" title="trait az::WrappingAs">WrappingAs</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.wrapping_as" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#821-823">source</a><a href="#method.wrapping_as" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.WrappingAs.html#tymethod.wrapping_as" class="fnname">wrapping_as</a>&lt;Dst&gt;(self) -&gt; Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingCast.html" title="trait az::WrappingCast">WrappingCast</a>&lt;Dst&gt;,</span></h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WrappingCastFrom%3CSrc%3E-for-Bank" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#438">source</a><a href="#impl-WrappingCastFrom%3CSrc%3E-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;Src, Dst&gt; <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingCastFrom.html" title="trait az::WrappingCastFrom">WrappingCastFrom</a>&lt;Src&gt; for Dst<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Src: <a class="trait" href="https://docs.rs/az/~1.2/az/trait.WrappingCast.html" title="trait az::WrappingCast">WrappingCast</a>&lt;Dst&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.wrapping_cast_from" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/az/~1.2/src/az/lib.rs.html#441">source</a><a href="#method.wrapping_cast_from" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/az/~1.2/az/trait.WrappingCastFrom.html#tymethod.wrapping_cast_from" class="fnname">wrapping_cast_from</a>(src: Src) -&gt; Dst</h4></section></summary><div class='docblock'>Casts the value.</div></details></div></details><section id="impl-AnyBitPattern-for-Bank" class="impl has-srclink"><a href="#impl-AnyBitPattern-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; AnyBitPattern for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Pod,</span></h3></section><section id="impl-NoUninit-for-Bank" class="impl has-srclink"><a href="#impl-NoUninit-for-Bank" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; NoUninit for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Pod,</span></h3></section></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="mango_v4" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.65.0 (897e37553 2022-11-02)" ></div></body></html>