Skip to main content

ResolvedGameData

Struct ResolvedGameData 

Source
pub struct ResolvedGameData {
    pub(super) inner: Arc<ResolvedGameDataInner>,
}
Expand description

Resolved game data for a single spec. Thread-safe, cheaply cloneable.

Fields§

§inner: Arc<ResolvedGameDataInner>

Implementations§

Source§

impl ResolvedGameData

Source

const EFFECT_CLASS_MASK_WORDS: usize = 4

Source

pub fn effect_points( &self, spell_id: SpellIdx, effect_index: u8, mastery_points: f64, ) -> f64

Resolve an effect’s live point value; attribute-285 spells add mastery_points * sp_coef to base points.

Source

pub fn effect_radius(&self, spell_id: SpellIdx, effect_index: u8) -> Option<f64>

Resolved radius for one effect, or None when that effect has no radius row.

Source

pub fn max_effect_index(&self, spell_id: SpellIdx) -> u8

Highest populated 1-based effect index for a spell; zero when no effects were resolved.

Source

pub fn trigger_spell( &self, spell_id: SpellIdx, effect_index: u8, ) -> Option<SpellIdx>

DBC child spell referenced by an effect; None for absent, zero, or invalid IDs.

Source

pub fn effect_base_points_spell( &self, spell_id: SpellIdx, effect_index: u8, ) -> Option<SpellIdx>

Positive integral spell identity encoded in an effect’s base points.

Source

pub fn chain_multiplier(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Per-hop chain decay; DBC 0.0 means “no decay” and is treated as 1.0.

Source

pub fn school_mask(&self, spell_id: SpellIdx) -> Option<i32>

School mask for a spell; Some(0) for empty data, None when the spell is absent.

Source

pub fn effect_class_mask_affects_spell( &self, source: SpellIdx, effect_index: u8, target: SpellIdx, ) -> bool

True when the effect and target spell have intersecting class-family masks.

Source

pub fn require_base_points( &self, spell_id: SpellIdx, effect_index: u8, ) -> Result<f64, GameDataError>

base_points for a required effect; errors on populated data when absent, tolerant 0.0 on the empty introspection map.

§Errors

Returns an error when populated data does not contain the requested effect.

Source

pub fn require_points_per_resource( &self, spell_id: SpellIdx, effect_index: u8, ) -> Result<f64, GameDataError>

points_per_resource for a resource-scaled coefficient (e.g. combo points); errors on populated data when absent, tolerant 0.0 on the empty introspection map.

§Errors

Returns an error when populated data does not contain the requested effect.

Source

pub fn scaling_class(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Raw DBC scaling class for an effect; zero when the effect is absent or unscaled.

Source

pub fn chain_targets(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Source

pub fn effect_type(&self, spell_id: SpellIdx, effect_index: u8) -> i32

DBC Effect kind id (2 = school damage, 30 = energize, …); 0 when absent. 1-based index.

Source

pub fn effect_mechanic(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Raw DBC EffectMechanic; zero means the effect inherits the spell mechanic.

Source

pub fn effect_attributes(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Source

pub fn implicit_target_a(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Source

pub fn implicit_target_b(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Source

pub fn effect_aura(&self, spell_id: SpellIdx, effect_index: u8) -> i32

DBC EffectAura kind id (29 = mod stat, 189 = mod rating, …); 0 when absent. 1-based index.

Source

pub fn effect_misc_value_0(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Effect misc_value_0 (school/mechanic/etc.); 0 when absent. effect_index is 1-based.

Source

pub fn effect_misc_value_1(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Effect misc_value_1 (ordering/label/etc.); 0 when absent. effect_index is 1-based.

Source

pub fn shapeshift_form_flags(&self, spell_id: SpellIdx, effect_index: u8) -> i32

Raw SpellShapeshiftForm.Flags for the form referenced by an effect.

Source

pub fn shapeshift_combat_round_time_ms( &self, spell_id: SpellIdx, effect_index: u8, ) -> i32

Raw SpellShapeshiftForm.CombatRoundTime in milliseconds for the form referenced by an effect.

Source

pub fn ap_coef(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn sp_coef(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn power_coefficient_mastery_add( &self, spell_id: SpellIdx, effect_index: u8, ) -> f64

Source

pub fn base_points(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn amplitude(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn period(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn coefficient(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn points_per_resource(&self, spell_id: SpellIdx, effect_index: u8) -> f64

Source

pub fn effect_class_mask( &self, spell_id: SpellIdx, effect_index: u8, ) -> [i32; 4]

EffectSpellClassMask words for a 1-based effect index.

Source§

impl ResolvedGameData

Source

pub fn armor_constant(&self) -> f64

Source

pub fn creature_armor(&self) -> f64

Source

pub fn target_armor_mult(&self) -> f64

Source

pub fn armor_constant_mod(&self) -> f64

Source

pub fn armor_k(&self) -> f64

Source

pub fn main_hand(&self) -> WeaponStats

Source

pub fn off_hand(&self) -> Option<WeaponStats>

Source

pub fn consumable_spells(&self) -> &ConsumableSpells

Consumables selected for this run (potion/flask/food/augment buff spells).

Source§

impl ResolvedGameData

Source

pub fn passive_damage_mult(&self, spell_id: SpellIdx, is_periodic: bool) -> f64

Static damage multiplier for a spell from passive spec/class auras; 1.0 when none apply.

Source

pub fn passive_direct_damage_flat( &self, spell_id: SpellIdx, mastery_points: f64, ) -> f64

Flat direct-damage spell modifier evaluated with live mastery points.

Source

pub fn passive_crit_chance(&self, spell_id: SpellIdx) -> f64

Static flat crit-chance bonus (percent points) for a spell from passive spec/class auras; 0.0 when none apply.

Source

pub fn passive_crit_chance_mult(&self, spell_id: SpellIdx) -> f64

Static crit-chance multiplier for a spell from passive spec/class auras; 1.0 when none apply.

Source

pub fn passive_crit_damage_bonus(&self, spell_id: SpellIdx) -> f64

Static crit-damage bonus (percent points) for a spell from passive spec/class auras; 0.0 when none apply.

Source

pub fn crit_damage_per_crit_chance(&self) -> &[(i32, f64)]

Player-wide crit-damage terms scaled by the caster’s own crit chance, as (DBC school mask, percent points).

Source

pub fn crit_bonus_per_crit_chance(&self, spell_id: SpellIdx) -> f64

Crit-bonus percent points of the caster’s own crit chance for a spell; 0.0 when none apply.

Source

pub fn auto_attack_damage_mult(&self) -> f64

Static auto-attack damage multiplier from passive spec/class auras.

Source

pub fn pet_damage_mult(&self) -> f64

Static pet damage multiplier from passive spec/class auras.

Source

pub fn guardian_damage_mult(&self) -> f64

Static guardian damage multiplier from passive spec/class auras.

Source

pub fn pet_attack_power_inheritance_mult(&self, npc_id: u32) -> f64

Aura-382 multiplier for attack power inherited by npc_id.

Source

pub fn pet_spell_power_inheritance_mult(&self, npc_id: u32) -> f64

Aura-382 multiplier for spell power inherited by npc_id.

Source

pub fn is_specialization_spell(&self, spell_id: SpellIdx) -> bool

Whether spell_id is a baseline spec-granted spell (known without being talented).

Source

pub fn is_folded_passive(&self, spell_id: SpellIdx) -> bool

Whether spell_id was folded into the static per-spell passive modifier maps (live aura resolution must skip these to avoid double-applying).

Source

pub fn folded_passive_spells(&self) -> &[SpellIdx]

Passive spell ids whose modifier effects were folded into static spell values.

Source

pub fn class_target_debuffs(&self) -> &[SpellIdx]

Damage-taken debuffs the class applies to its own target for the whole encounter.

They are derived from the baseline class passives that describe them (Mystic Touch, Chaos Brand).

Source§

impl ResolvedGameData

Source

pub fn new() -> Self

Source

pub fn from_environment( level: u32, creature_armor: f64, armor_constant: f64, ) -> Self

Builds the minimal resolved environment needed by combat calculations.

Source

pub fn builder() -> ResolvedGameDataBuilder

Starts a resolved game-data builder.

Source§

impl ResolvedGameData

Source

pub fn curves(&self) -> &ResolvedCurves

Source

pub fn level(&self) -> u32

Character level this data was resolved at; 0 for default/introspection data.

Source

pub fn game_tables(&self) -> &ResolvedGameTables

Source

pub fn health_per_stamina(&self, level: u32) -> Option<f64>

Health granted per point of Stamina at level; None when the level row is absent.

Source§

impl ResolvedGameData

Source

pub fn empower_cast_time_ms(&self, spell_id: SpellIdx, rank: u8) -> Option<u32>

Cumulative hold time needed to release a DBC empower spell at rank.

One-based ranks cumulatively consume zero-based DBC duration segments.

Source

pub fn empower_cast_times_ms(&self, spell_id: SpellIdx) -> Option<Vec<u32>>

Cumulative hold times for every one-based release rank of a DBC empower spell.

Source

pub fn require_empower_cast_times_ms( &self, spell_id: SpellIdx, ) -> Result<Vec<u32>, GameDataError>

Required cumulative hold times for every release rank of a DBC empower spell.

§Errors

Returns an error when the spell has no valid resolved empower stages.

Source

pub fn is_empower_spell(&self, spell_id: SpellIdx) -> bool

Whether the spell has a SpellEmpower row in structured game data.

Source

pub fn require_empower_cast_time_ms( &self, spell_id: SpellIdx, rank: u8, ) -> Result<u32, GameDataError>

Required cumulative empower hold time for a one-based release rank.

§Errors

Returns an error when the spell has no such resolved empower rank.

Source

pub fn empower_max_rank(&self, spell_id: SpellIdx) -> Option<u8>

Number of release ranks defined by a spell’s DBC empower stages.

Source

pub fn require_empower_max_rank( &self, spell_id: SpellIdx, ) -> Result<u8, GameDataError>

Required number of release ranks defined by a spell’s DBC empower stages.

§Errors

Returns an error when the spell has no resolved empower stages or their count exceeds u8.

Source

pub fn is_empty(&self) -> bool

Source

pub fn spell_resources(&self, spell_id: SpellIdx) -> Option<SpellResources>

Source

pub fn hit_chance_modifier(&self, spell_id: SpellIdx, initial: f64) -> f64

Source

pub fn target_resistance_modifier( &self, spell_id: SpellIdx, initial: f64, ) -> f64

Source

pub fn dispel_resistance_modifier( &self, spell_id: SpellIdx, initial: f64, ) -> f64

Source

pub fn dispel_type(&self, spell_id: SpellIdx) -> i32

Raw DBC dispel family assigned to this spell.

Source

pub fn spell_mechanic(&self, spell_id: SpellIdx) -> i32

Raw DBC SpellCategories.Mechanic identity.

Source

pub fn cooldown_s(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn cast_time_ms(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn breaks_stealth(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn proc_chance(&self, spell_id: SpellIdx) -> Option<f64>

SpellAuraOptions.ProcChance as a 0..=1 fraction; None when the spell is unresolved.

Source

pub fn proc_charges(&self, spell_id: SpellIdx) -> Option<u8>

SpellAuraOptions.ProcCharges; zero means unlimited.

Source

pub fn proc_category_recovery_ms(&self, spell_id: SpellIdx) -> Option<u32>

Non-negative SpellAuraOptions.ProcCategoryRecovery in milliseconds.

Source

pub fn rppm(&self, spell_id: SpellIdx) -> Option<(f64, i32)>

Base real-procs-per-minute rate and raw scaling flags.

Source

pub fn proc_chance_with_flat_bonus( &self, spell_id: SpellIdx, runtime_flat: f64, ) -> Option<f64>

Proc chance after adding a runtime flat fraction before passive percentage modifiers.

Source

pub fn charges(&self, spell_id: SpellIdx) -> Option<u8>

Source

pub fn charge_cd_s(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn category_cooldown_s(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn gcd_ms(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn aura_duration_ms(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn aura_max_stacks(&self, spell_id: SpellIdx) -> Option<u8>

Source

pub fn aura_doses(&self, spell_id: SpellIdx) -> Option<u8>

Source

pub fn aura_tick_ms(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn channel_tick_count(&self, spell_id: SpellIdx) -> Option<u8>

Tick count of a channel. cast_time_ms IS the channel duration.

Source

pub fn power_max(&self, type_id: i32) -> Option<f64>

Max base power for a power type (power_type_enum); None when the type is absent.

Source

pub fn power_display_divisor(&self, type_id: i32) -> f64

Display divisor for raw DBC flat power amounts (runic power and rage store tenths); 1.0 when the type is absent.

Source

pub fn cost_entry(&self, spell_id: SpellIdx, secondary: bool) -> u8

1-based DBC power-cost entry backing the spell’s cost in the given pool; 0 = no such cost, and cost modifiers route to entries by this index.

Source

pub fn power_regen_for_max(&self, type_id: i32, maximum: f64) -> Option<f64>

Combat regeneration when the DBC expresses regeneration as a percentage of maximum power (notably mana).

Source

pub fn power_auto_attack_gain_multiplier(&self, type_id: i32) -> f64

Multiplier for auto-attack gains of the named resource (aura 213 passives).

Source

pub fn power_cost_percent(&self, type_id: i32) -> f64

Additive spell-cost percent for the named resource (aura 423 passives).

Source

pub fn power_default(&self, type_id: i32) -> Option<f64>

Default (starting) power for a power type; None when the type is absent.

Source

pub fn scaled_power_amount(&self, type_id: i32, raw: f64) -> f64

Descale a raw DBC power amount for type_id using its display modifier.

Source

pub fn spell_override(&self, overridden_id: SpellIdx) -> Option<SpellIdx>

Returns the replacement for an overridden spell.

use wowlab_engine_gamedata::ResolvedGameData;
use wowlab_types::sim::AuraIdx;

let data = ResolvedGameData::default();
let aura = AuraIdx::from_raw(1);
data.spell_override(aura);
Source

pub fn learned_spells( &self, teacher: SpellIdx, ) -> impl ExactSizeIterator<Item = SpellIdx> + '_

Iterates learned spells for teacher in resolver insertion order (deduplicated, first-occurrence order retained); missing teachers yield an empty iterator.

Source

pub fn has_label(&self, spell: SpellIdx, label: i32) -> bool

Whether spell carries the given SpellLabel id (affect-list gating).

Source

pub(super) fn spell_props(&self, spell_id: SpellIdx) -> Option<&SpellProps>

Source

fn aura_props(&self, spell_id: SpellIdx) -> Option<&AuraProps>

Source

fn power_props(&self, type_id: i32) -> Option<&PowerTypeProps>

Source

pub fn require_cost(&self, spell_id: SpellIdx) -> Result<f64, GameDataError>

Resource cost, required to be present on populated game data.

§Errors

Returns an error when the spell has no resolved cost.

Source

pub fn require_cooldown_s( &self, spell_id: SpellIdx, ) -> Result<f64, GameDataError>

Cooldown in seconds, required on populated data.

§Errors

Returns an error when the spell has no resolved cooldown.

Source

pub fn require_aura_max_stacks( &self, spell_id: SpellIdx, ) -> Result<u8, GameDataError>

Max aura stacks, required to be present on populated game data.

§Errors

Returns an error when the spell has no resolved aura stack limit.

Source

pub fn require_aura_duration_ms( &self, spell_id: SpellIdx, ) -> Result<u32, GameDataError>

Aura duration in milliseconds, required on populated game data.

§Errors

Returns an error when the spell has no resolved aura duration.

Source

pub fn require_cast_time_ms( &self, spell_id: SpellIdx, ) -> Result<u32, GameDataError>

Cast time in milliseconds, required on populated game data.

§Errors

Returns an error when the spell has no resolved cast time.

Source

pub fn require_charge_cd_s( &self, spell_id: SpellIdx, ) -> Result<f64, GameDataError>

Charge cooldown in seconds, required on populated game data.

§Errors

Returns an error when the spell has no resolved charge cooldown.

Source

pub fn require_proc_category_recovery_ms( &self, spell_id: SpellIdx, ) -> Result<u32, GameDataError>

Proc-category internal cooldown in milliseconds, required on populated data.

§Errors

Returns an error when the driver spell is absent.

Source

pub fn require_proc_type_mask( &self, spell_id: SpellIdx, ) -> Result<u64, GameDataError>

Combined DBC proc event mask, required on populated data.

§Errors

Returns an error when the driver spell is absent.

Source

pub fn require_channel_tick_count( &self, spell_id: SpellIdx, ) -> Result<u8, GameDataError>

Channel tick count, required to be present on populated game data.

§Errors

Returns an error when the spell has no resolved channel tick count.

Source

pub fn defense_type(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn shapeshift_required_mask(&self, spell_id: SpellIdx) -> Option<u64>

Source

pub fn shapeshift_excluded_mask(&self, spell_id: SpellIdx) -> Option<u64>

Source

pub fn gain(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn secondary_gain(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn cooldown_hasted(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn gcd_haste_type(&self, spell_id: SpellIdx) -> Option<GcdHasteType>

Source

pub fn hasted_ticks(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn duration_hasted(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn cannot_crit(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn requires_stealth(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn requires_behind_target(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn requires_unshifted(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn allow_while_unshifted(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn treat_as_periodic(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn treat_as_area_effect(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn usable_while_casting(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn usable_while_moving(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn asynchronous_stacks(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn disable_player_damage_multiplier( &self, spell_id: SpellIdx, ) -> Option<bool>

Source

pub fn disable_target_damage_multiplier( &self, spell_id: SpellIdx, ) -> Option<bool>

Source

pub fn disable_positive_target_damage_multiplier( &self, spell_id: SpellIdx, ) -> Option<bool>

Source

pub fn requires_off_hand(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn requires_main_hand(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn refresh_behavior(&self, spell_id: SpellIdx) -> Option<RefreshBehavior>

Source

pub fn caster_aura_state(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn caster_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn exclude_caster_aura_state(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn exclude_caster_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn target_aura_state(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn target_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn exclude_target_aura_state(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn exclude_target_aura_spell(&self, spell_id: SpellIdx) -> Option<i32>

Source

pub fn aura_interrupt_flags(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn spell_interrupt_flags(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn channel_interrupt_flags(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn rolling_periodic(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn tick_may_crit(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn tick_on_application(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn proc_attributes(&self, spell_id: SpellIdx) -> Option<u32>

Raw SpellProcEntry.AttributesMask; zero means no proc attributes.

Source

pub fn proc_type_mask(&self, spell_id: SpellIdx) -> Option<u64>

Combined SpellAuraOptions.ProcTypeMask_0/1 event mask.

Source

pub fn rppm_haste_scales(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn rppm_crit_scales(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn equipped_item_requirement( &self, spell_id: SpellIdx, ) -> Option<EquippedItemRequirement>

Source

pub fn cooldown_category( &self, spell_id: SpellIdx, ) -> Option<CooldownCategoryId>

Source

pub fn charge_category(&self, spell_id: SpellIdx) -> Option<CooldownCategoryId>

Source

pub fn start_recovery_category( &self, spell_id: SpellIdx, ) -> Option<CooldownCategoryId>

Source

pub fn spell_attributes(&self, spell_id: SpellIdx) -> Option<&[i32]>

Source

pub fn projectile_speed(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn launch_delay_s(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn hostile_min_range(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn hostile_max_range(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn radius(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn chain_target_range(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn max_affected_targets(&self, spell_id: SpellIdx) -> Option<u8>

Source

pub fn cone_half_angle(&self, spell_id: SpellIdx) -> Option<f64>

Source

pub fn fixed_travel_time(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn ignores_line_of_sight(&self, spell_id: SpellIdx) -> Option<bool>

Source

pub fn explicit_target_mask(&self, spell_id: SpellIdx) -> Option<u32>

Source

pub fn required_explicit_target_mask(&self, spell_id: SpellIdx) -> Option<u32>

Trait Implementations§

Source§

impl Clone for ResolvedGameData

Source§

fn clone(&self) -> ResolvedGameData

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolvedGameData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ResolvedGameData

Source§

fn default() -> ResolvedGameData

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more