Skip to main content

EnvironmentValues

Struct EnvironmentValues 

Source
pub struct EnvironmentValues(/* private fields */);
Expand description

A borrowed SwiftUI.EnvironmentValues, live for the body call that got it.

The pointer is SwiftUI’s, valid only while the closure that received it is running, which is why this borrows rather than owns.

Implementations§

Source§

impl EnvironmentValues

Source

pub unsafe fn bool_at(self, getter: *const c_void) -> bool

Read a Bool property by its getter symbol.

EnvironmentValues is resilient, so self travels by address in x20 and the answer comes back in x0. Every Bool property on it has the same shape, so one function covers all of them.

§Safety

getter must name a (EnvironmentValues) -> Bool property getter.

Source

pub fn voice_over_enabled(self) -> bool

\\.accessibilityVoiceOverEnabled

Source

pub fn switch_control_enabled(self) -> bool

\\.accessibilitySwitchControlEnabled

Source

pub fn value_for<T: KeyValue>(self, key: &CustomEnvKey<T>) -> T

Read a key defined here — env[myKey], through the key path.

swift_getAtKeyPath(sret Value, @in Root, KeyPath): the result is sret so it goes through x8 while the root is in x0. Whatever nothing above has written, this returns the key’s defaultValue — which SwiftUI gets from the synthesised witness, so the default really is the caller’s.

The type comes from the key, so this cannot read a String key as an Int: the buffer is sized by T’s metadata and +1-owned on return, which is why it is destroyed after the copy out.

Trait Implementations§

Source§

impl Clone for EnvironmentValues

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for EnvironmentValues

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> 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.