Config

Struct Config 

Source
pub struct Config { /* private fields */ }
Expand description

Configuration/builder for options for Rust code generation.

This configuration allows you to control syntactic characteristics of the output, and also Rust features that have no equivalent in shader languages.

Implementations§

Source§

impl Config

Source

pub const fn new() -> Self

Creates a Config with default options.

Source

pub fn explicit_types(self, value: bool) -> Self

Sets whether the generated code contains explicit types when they could be omitted.

The default is false.

Source

pub fn raw_pointers(self, value: bool) -> Self

Sets whether the generated code uses raw pointers instead of references.

The resulting code is unsafe and may be unsound if the input module uses pointers incorrectly.

The default is false.

TODO: This should be configurable on a per-function basis.

Source

pub fn public_items(self, value: bool) -> Self

Sets whether generated items have pub visibility instead of private.

The default is false.

Source

pub fn runtime_path(self, value: impl Into<Cow<'static, str>>) -> Self

Sets the Rust module path to the runtime support library.

The default is "::naga_rust_rt".

§Panics

May panic if the path is not syntactically valid or not an absolute path.

Source

pub fn global_struct(self, name: impl Into<String>) -> Self

Allow declarations of global variables, generate a struct with the given name to hold them, and make all functions methods of that struct.

Trait Implementations§

Source§

impl Debug for Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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> 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, 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.