You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Trac3r-rust/doc/shaderc/struct.CompileOptions.html

81 lines
35 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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 `CompileOptions` struct in crate `shaderc`."><meta name="keywords" content="rust, rustlang, rust-lang, CompileOptions"><title>shaderc::CompileOptions - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="../favicon.ico"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../shaderc/index.html'><div class='logo-container'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Struct CompileOptions</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.add_macro_definition">add_macro_definition</a><a href="#method.clone">clone</a><a href="#method.new">new</a><a href="#method.set_auto_bind_uniforms">set_auto_bind_uniforms</a><a href="#method.set_binding_base">set_binding_base</a><a href="#method.set_binding_base_for_stage">set_binding_base_for_stage</a><a href="#method.set_forced_version_profile">set_forced_version_profile</a><a href="#method.set_generate_debug_info">set_generate_debug_info</a><a href="#method.set_hlsl_io_mapping">set_hlsl_io_mapping</a><a href="#method.set_hlsl_offsets">set_hlsl_offsets</a><a href="#method.set_hlsl_register_set_and_binding">set_hlsl_register_set_and_binding</a><a href="#method.set_hlsl_register_set_and_binding_for_stage">set_hlsl_register_set_and_binding_for_stage</a><a href="#method.set_include_callback">set_include_callback</a><a href="#method.set_limit">set_limit</a><a href="#method.set_optimization_level">set_optimization_level</a><a href="#method.set_source_language">set_source_language</a><a href="#method.set_suppress_warnings">set_suppress_warnings</a><a href="#method.set_target_env">set_target_env</a><a href="#method.set_warnings_as_errors">set_warnings_as_errors</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Drop">Drop</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><p class='location'><a href='index.html'>shaderc</a></p><script>window.sidebarCurrent = {name: 'CompileOptions', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/shaderc/lib.rs.html#601-606' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='index.html'>shaderc</a>::<wbr><a class="struct" href=''>CompileOptions</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct CompileOptions&lt;'a&gt; { /* fields omitted */ }</pre></div><div class='docblock'><p>An opaque object managing options to compilation.</p>
</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl' class='anchor'></a><a class='srclink' href='../src/shaderc/lib.rs.html#634-1015' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;&gt;</code><a class='srclink' href='../src/shaderc/lib.rs.html#643-650' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns a default-initialized compilation options object.</p>
<p>The default options are:</p>
<ul>
<li>Target environment: Vulkan</li>
<li>Source language: GLSL</li>
</ul>
<p>A return of <code>None</code> indicates that there was an error initializing
the underlying options object.</p>
</div><h4 id='method.clone' class="method"><code id='clone.v'>pub fn <a href='#method.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&gt;</code><a class='srclink' href='../src/shaderc/lib.rs.html#656-663' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns a copy of the given compilation options object.</p>
<p>A return of <code>None</code> indicates that there was an error copying
the underlying options object.</p>
</div><h4 id='method.set_target_env' class="method"><code id='set_target_env.v'>pub fn <a href='#method.set_target_env' class='fnname'>set_target_env</a>(&amp;mut self, env: <a class="enum" href="../shaderc/enum.TargetEnv.html" title="enum shaderc::TargetEnv">TargetEnv</a>, version: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#672-674' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the target enviroment to <code>env</code>, affecting which warnings or errors
will be issued.</p>
<p>The default is Vulkan if not set.</p>
<p><code>version</code> will be used for distinguishing between different versions
of the target environment. &quot;0&quot; is the only supported value right now.</p>
</div><h4 id='method.set_source_language' class="method"><code id='set_source_language.v'>pub fn <a href='#method.set_source_language' class='fnname'>set_source_language</a>(&amp;mut self, language: <a class="enum" href="../shaderc/enum.SourceLanguage.html" title="enum shaderc::SourceLanguage">SourceLanguage</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#679-681' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the source language.</p>
<p>The default is GLSL if not set.</p>
</div><h4 id='method.set_forced_version_profile' class="method"><code id='set_forced_version_profile.v'>pub fn <a href='#method.set_forced_version_profile' class='fnname'>set_forced_version_profile</a>(&amp;mut self, version: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, profile: <a class="enum" href="../shaderc/enum.GlslProfile.html" title="enum shaderc::GlslProfile">GlslProfile</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#690-698' title='goto source code'>[src]</a></h4><div class='docblock'><p>Forces the GLSL language <code>version</code> and <code>profile</code>.</p>
<p>The version number is the same as would appear in the <code>#version</code>
directive in the source. Version and profile specified here
overrides the <code>#version</code> directive in the source code. Use
<code>GlslProfile::None</code> for GLSL versions that do not define profiles,
e.g., version below 150.</p>
</div><h4 id='method.set_include_callback' class="method"><code id='set_include_callback.v'>pub fn <a href='#method.set_include_callback' class='fnname'>set_include_callback</a>&lt;F&gt;(&amp;mut self, f: F) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <a class="enum" href="../shaderc/enum.IncludeType.html" title="enum shaderc::IncludeType">IncludeType</a>, &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../shaderc/struct.ResolvedInclude.html" title="struct shaderc::ResolvedInclude">ResolvedInclude</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt; + 'a,&nbsp;</span></code><a class='srclink' href='../src/shaderc/lib.rs.html#715-850' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the callback for handling the <code>#include</code> directive.</p>
<p>The arguments to the callback are the name of the source being requested,
the type of include directive (<code>Relative</code> for <code>#include &quot;foo&quot;</code>, <code>Standard</code> for <code>#include &lt;foo&gt;</code>),
the name of the source containing the directive and the current include depth from the original
source.</p>
<p>The return value of the callback should be <code>Ok</code> if the source was successfully found,
and an <code>Err</code> containing some suitable error message to display otherwise. If the result is
<code>Ok</code>, the <code>resolved_name</code> of the <code>ResolvedInclude</code> must be non-empty. All strings returned
from the callback must be convertible to <code>CString</code>s, i.e. they must not contain the null
character. If these conditions are not met compilation will panic.</p>
<p>Behaviour note: If <code>Err</code> is returned for a <code>Relative</code> include request, the callback will be
tried again with <code>Standard</code>, which is similar to include directive behaviour in C.</p>
</div><h4 id='method.set_limit' class="method"><code id='set_limit.v'>pub fn <a href='#method.set_limit' class='fnname'>set_limit</a>(&amp;mut self, limit: <a class="enum" href="../shaderc/enum.Limit.html" title="enum shaderc::Limit">Limit</a>, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#853-857' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the resource <code>limit</code> to the given <code>value</code>.</p>
</div><h4 id='method.set_auto_bind_uniforms' class="method"><code id='set_auto_bind_uniforms.v'>pub fn <a href='#method.set_auto_bind_uniforms' class='fnname'>set_auto_bind_uniforms</a>(&amp;mut self, auto_bind: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#861-865' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets whether the compiler should automatically assign bindings to uniforms
that aren't already explicitly bound in the shader source.</p>
</div><h4 id='method.set_hlsl_io_mapping' class="method"><code id='set_hlsl_io_mapping.v'>pub fn <a href='#method.set_hlsl_io_mapping' class='fnname'>set_hlsl_io_mapping</a>(&amp;mut self, hlsl_iomap: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#870-874' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets whether the compiler should use HLSL IO mapping rules for bindings.</p>
<p>Defaults to false.</p>
</div><h4 id='method.set_hlsl_offsets' class="method"><code id='set_hlsl_offsets.v'>pub fn <a href='#method.set_hlsl_offsets' class='fnname'>set_hlsl_offsets</a>(&amp;mut self, hlsl_offsets: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#881-885' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets whether the compiler should determine block member offsets using HLSL
packing rules instead of standard GLSL rules.</p>
<p>Defaults to false. Only affects GLSL compilation. HLSL rules are always
used when compiling HLSL.</p>
</div><h4 id='method.set_binding_base' class="method"><code id='set_binding_base.v'>pub fn <a href='#method.set_binding_base' class='fnname'>set_binding_base</a>(&amp;mut self, resource_kind: <a class="enum" href="../shaderc/enum.ResourceKind.html" title="enum shaderc::ResourceKind">ResourceKind</a>, base: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#893-897' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the base binding number used for for a resource type when automatically
assigning bindings.</p>
<p>For GLSL compilation, sets the lowest automatically assigned number.
For HLSL compilation, the regsiter number assigned to the resource is added
to this specified base.</p>
</div><h4 id='method.set_binding_base_for_stage' class="method"><code id='set_binding_base_for_stage.v'>pub fn <a href='#method.set_binding_base_for_stage' class='fnname'>set_binding_base_for_stage</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;shader_kind: <a class="enum" href="../shaderc/enum.ShaderKind.html" title="enum shaderc::ShaderKind">ShaderKind</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;resource_kind: <a class="enum" href="../shaderc/enum.ResourceKind.html" title="enum shaderc::ResourceKind">ResourceKind</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;base: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#900-914' title='goto source code'>[src]</a></h4><div class='docblock'><p>Like <code>set_binding_base</code>, but only takes effect when compiling the given shader stage.</p>
</div><h4 id='method.set_hlsl_register_set_and_binding' class="method"><code id='set_hlsl_register_set_and_binding.v'>pub fn <a href='#method.set_hlsl_register_set_and_binding' class='fnname'>set_hlsl_register_set_and_binding</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;register: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;set: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;binding: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#917-929' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets a descriptor set and binding for an HLSL register in all shader stages.</p>
</div><h4 id='method.set_hlsl_register_set_and_binding_for_stage' class="method"><code id='set_hlsl_register_set_and_binding_for_stage.v'>pub fn <a href='#method.set_hlsl_register_set_and_binding_for_stage' class='fnname'>set_hlsl_register_set_and_binding_for_stage</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;kind: <a class="enum" href="../shaderc/enum.ShaderKind.html" title="enum shaderc::ShaderKind">ShaderKind</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;register: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;set: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;binding: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#933-952' title='goto source code'>[src]</a></h4><div class='docblock'><p>Like <code>set_hlsl_register_set_and_binding</code>, but only takes effect when compiling
the given shader stage.</p>
</div><h4 id='method.add_macro_definition' class="method"><code id='add_macro_definition.v'>pub fn <a href='#method.add_macro_definition' class='fnname'>add_macro_definition</a>(&amp;mut self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, value: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;)</code><a class='srclink' href='../src/shaderc/lib.rs.html#961-986' title='goto source code'>[src]</a></h4><div class='docblock'><p>Adds a predefined macro to the compilation options.</p>
<p>This has the same effect as passing <code>-Dname=value</code> to the command-line
compiler. If <code>value</code> is <code>None</code>, it has the same effect as passing
<code>-Dname</code> to the command-line compiler. If a macro definition with the
same name has previously been added, the value is replaced with the
new value.</p>
</div><h4 id='method.set_optimization_level' class="method"><code id='set_optimization_level.v'>pub fn <a href='#method.set_optimization_level' class='fnname'>set_optimization_level</a>(&amp;mut self, level: <a class="enum" href="../shaderc/enum.OptimizationLevel.html" title="enum shaderc::OptimizationLevel">OptimizationLevel</a>)</code><a class='srclink' href='../src/shaderc/lib.rs.html#991-993' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the optimization level to <code>level</code>.</p>
<p>If mulitple invocations for this method, only the last one takes effect.</p>
</div><h4 id='method.set_generate_debug_info' class="method"><code id='set_generate_debug_info.v'>pub fn <a href='#method.set_generate_debug_info' class='fnname'>set_generate_debug_info</a>(&amp;mut self)</code><a class='srclink' href='../src/shaderc/lib.rs.html#996-998' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the compiler mode to generate debug information in the output.</p>
</div><h4 id='method.set_suppress_warnings' class="method"><code id='set_suppress_warnings.v'>pub fn <a href='#method.set_suppress_warnings' class='fnname'>set_suppress_warnings</a>(&amp;mut self)</code><a class='srclink' href='../src/shaderc/lib.rs.html#1005-1007' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the compiler mode to suppress warnings.</p>
<p>This overrides warnings-as-errors mode: when both suppress-warnings and
warnings-as-errors modes are turned on, warning messages will be
inhibited, and will not be emitted as error messages.</p>
</div><h4 id='method.set_warnings_as_errors' class="method"><code id='set_warnings_as_errors.v'>pub fn <a href='#method.set_warnings_as_errors' class='fnname'>set_warnings_as_errors</a>(&amp;mut self)</code><a class='srclink' href='../src/shaderc/lib.rs.html#1012-1014' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the compiler mode to treat all warnings as errors.</p>
<p>Note that the suppress-warnings mode overrides this.</p>
</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Drop' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl-Drop' class='anchor'></a><a class='srclink' href='../src/shaderc/lib.rs.html#1017-1021' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop' class="method hidden"><code id='drop.v'>fn <a href='https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='../src/shaderc/lib.rs.html#1018-1020' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
</div></div></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'><h3 id='impl-Send' class='impl'><code class='in-band'>impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../shaderc/struct.CompileOptions.html" title="struct shaderc::CompileOptions">CompileOptions</a>&lt;'a&gt;</code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#544-549' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#546-548' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553-555' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#554' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#572-578' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/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/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#575-577' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#560-567' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#564-566' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/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/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/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/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../";window.currentCrate = "shaderc";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>