Files
phy/bevy_ecs/system/struct.ExclusiveFunctionSystem.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

73 lines
81 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="A function system that runs with exclusive `World` access."><title>ExclusiveFunctionSystem in bevy_ecs::system - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="bevy_ecs" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="icon" href="https://bevyengine.org/assets/icon.png"></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" title="show sidebar"></button><a class="logo-container" href="../../bevy_ecs/index.html"><img src="https://bevyengine.org/assets/icon.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../bevy_ecs/index.html"><img src="https://bevyengine.org/assets/icon.png" alt="logo"></a><h2><a href="../../bevy_ecs/index.html">bevy_<wbr>ecs</a><span class="version">0.15.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Exclusive<wbr>Function<wbr>System</a></h2><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.with_name" title="with_name">with_name</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-System-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="System">System</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ExclusiveFunctionSystem%3CMarker,+F%3E" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-ConditionalSend-for-T" title="ConditionalSend">ConditionalSend</a></li><li><a href="#impl-Downcast-for-T" title="Downcast">Downcast</a></li><li><a href="#impl-DowncastSync-for-T" title="DowncastSync">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-Instrument-for-T" title="Instrument">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-IntoObserverSystem%3CE,+B,+M,+Out%3E-for-S" title="IntoObserverSystem&#60;E, B, M, Out&#62;">IntoObserverSystem&#60;E, B, M, Out&#62;</a></li><li><a href="#impl-IntoSystem%3C%3CT+as+System%3E::In,+%3CT+as+System%3E::Out,+()%3E-for-T" title="IntoSystem&#60;&#60;T as System&#62;::In, &#60;T as System&#62;::Out, ()&#62;">IntoSystem&#60;&#60;T as System&#62;::In, &#60;T as System&#62;::Out, ()&#62;</a></li><li><a href="#impl-IntoSystemConfigs%3CMarker%3E-for-F" title="IntoSystemConfigs&#60;Marker&#62;">IntoSystemConfigs&#60;Marker&#62;</a></li><li><a href="#impl-ObserverSystem%3CE,+B,+Out%3E-for-T" title="ObserverSystem&#60;E, B, Out&#62;">ObserverSystem&#60;E, B, Out&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li><li><a href="#impl-VZip%3CV%3E-for-T" title="VZip&#60;V&#62;">VZip&#60;V&#62;</a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In bevy_<wbr>ecs::<wbr>system</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">bevy_ecs</a>::<wbr><a href="index.html">system</a></span><h1>Struct <span class="struct">ExclusiveFunctionSystem</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#23-32">Source</a> </span></div><pre class="rust item-decl"><code>pub struct ExclusiveFunctionSystem&lt;Marker, F&gt;<div class="where">where
F: <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;,</div>{ <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A function system that runs with exclusive <a href="../world/struct.World.html" title="struct bevy_ecs::world::World"><code>World</code></a> access.</p>
<p>You get this by calling <a href="trait.IntoSystem.html#tymethod.into_system" title="associated function bevy_ecs::system::IntoSystem::into_system"><code>IntoSystem::into_system</code></a> on a function that only accepts
<a href="trait.ExclusiveSystemParam.html" title="trait bevy_ecs::system::ExclusiveSystemParam"><code>ExclusiveSystemParam</code></a>s.</p>
<p><a href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem"><code>ExclusiveFunctionSystem</code></a> must be <code>.initialized</code> before they can be run.</p>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#34-45">Source</a><a href="#impl-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;<div class="where">where
F: <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_name" class="method"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#41-44">Source</a><h4 class="code-header">pub fn <a href="#method.with_name" class="fn">with_name</a>(self, new_name: impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.84.0/alloc/borrow/enum.Cow.html" title="enum alloc::borrow::Cow">Cow</a>&lt;'static, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Return this system with a new name.</p>
<p>Useful to give closure systems more readable and unique names for debugging and tracing.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-System-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#69-187">Source</a><a href="#impl-System-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="trait.System.html" title="trait bevy_ecs::system::System">System</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;<div class="where">where
Marker: 'static,
F: <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.In" class="associatedtype trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#74">Source</a><a href="#associatedtype.In" class="anchor">§</a><h4 class="code-header">type <a href="trait.System.html#associatedtype.In" class="associatedtype">In</a> = &lt;F as <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParamFunction.html#associatedtype.In" title="type bevy_ecs::system::ExclusiveSystemParamFunction::In">In</a></h4></section></summary><div class='docblock'>The systems input.</div></details><details class="toggle" open><summary><section id="associatedtype.Out" class="associatedtype trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#75">Source</a><a href="#associatedtype.Out" class="anchor">§</a><h4 class="code-header">type <a href="trait.System.html#associatedtype.Out" class="associatedtype">Out</a> = &lt;F as <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParamFunction.html#associatedtype.Out" title="type bevy_ecs::system::ExclusiveSystemParamFunction::Out">Out</a></h4></section></summary><div class='docblock'>The systems output.</div></details><details class="toggle method-toggle" open><summary><section id="method.name" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#78-80">Source</a><a href="#method.name" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.name" class="fn">name</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/alloc/borrow/enum.Cow.html" title="enum alloc::borrow::Cow">Cow</a>&lt;'static, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>&gt;</h4></section></summary><div class='docblock'>Returns the systems name.</div></details><details class="toggle method-toggle" open><summary><section id="method.component_access" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#83-85">Source</a><a href="#method.component_access" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.component_access" class="fn">component_access</a>(&amp;self) -&gt; &amp;<a class="struct" href="../query/struct.Access.html" title="struct bevy_ecs::query::Access">Access</a>&lt;<a class="struct" href="../component/struct.ComponentId.html" title="struct bevy_ecs::component::ComponentId">ComponentId</a>&gt;</h4></section></summary><div class='docblock'>Returns the systems component <a href="../query/struct.Access.html" title="struct bevy_ecs::query::Access"><code>Access</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.archetype_component_access" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#88-90">Source</a><a href="#method.archetype_component_access" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.archetype_component_access" class="fn">archetype_component_access</a>(&amp;self) -&gt; &amp;<a class="struct" href="../query/struct.Access.html" title="struct bevy_ecs::query::Access">Access</a>&lt;<a class="struct" href="../archetype/struct.ArchetypeComponentId.html" title="struct bevy_ecs::archetype::ArchetypeComponentId">ArchetypeComponentId</a>&gt;</h4></section></summary><div class='docblock'>Returns the systems archetype component <a href="../query/struct.Access.html" title="struct bevy_ecs::query::Access"><code>Access</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_send" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#93-98">Source</a><a href="#method.is_send" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.is_send" class="fn">is_send</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns true if the system is <a href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send"><code>Send</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_exclusive" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#101-103">Source</a><a href="#method.is_exclusive" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.is_exclusive" class="fn">is_exclusive</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns true if the system must be run exclusively.</div></details><details class="toggle method-toggle" open><summary><section id="method.has_deferred" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#106-109">Source</a><a href="#method.has_deferred" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.has_deferred" class="fn">has_deferred</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns true if system has deferred buffers.</div></details><details class="toggle method-toggle" open><summary><section id="method.run_unsafe" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#112-118">Source</a><a href="#method.run_unsafe" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="trait.System.html#tymethod.run_unsafe" class="fn">run_unsafe</a>(
&amp;mut self,
_input: <a class="type" href="type.SystemIn.html" title="type bevy_ecs::system::SystemIn">SystemIn</a>&lt;'_, Self&gt;,
_world: <a class="struct" href="../world/unsafe_world_cell/struct.UnsafeWorldCell.html" title="struct bevy_ecs::world::unsafe_world_cell::UnsafeWorldCell">UnsafeWorldCell</a>&lt;'_&gt;,
) -&gt; Self::<a class="associatedtype" href="trait.System.html#associatedtype.Out" title="type bevy_ecs::system::System::Out">Out</a></h4></section></summary><div class='docblock'>Runs the system with the given input in the world. Unlike <a href="trait.System.html#method.run" title="method bevy_ecs::system::System::run"><code>System::run</code></a>, this function
can be called in parallel with other systems and may break Rusts aliasing rules
if used incorrectly, making it unsafe to call. <a href="trait.System.html#tymethod.run_unsafe">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.run" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#120-136">Source</a><a href="#method.run" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#method.run" class="fn">run</a>(&amp;mut self, input: <a class="type" href="type.SystemIn.html" title="type bevy_ecs::system::SystemIn">SystemIn</a>&lt;'_, Self&gt;, world: &amp;mut <a class="struct" href="../world/struct.World.html" title="struct bevy_ecs::world::World">World</a>) -&gt; Self::<a class="associatedtype" href="trait.System.html#associatedtype.Out" title="type bevy_ecs::system::System::Out">Out</a></h4></section></summary><div class='docblock'>Runs the system with the given input in the world. <a href="trait.System.html#method.run">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.apply_deferred" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#139-143">Source</a><a href="#method.apply_deferred" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.apply_deferred" class="fn">apply_deferred</a>(&amp;mut self, _world: &amp;mut <a class="struct" href="../world/struct.World.html" title="struct bevy_ecs::world::World">World</a>)</h4></section></summary><div class='docblock'>Applies any <a href="struct.Deferred.html" title="struct bevy_ecs::system::Deferred"><code>Deferred</code></a> system parameters (or other system buffers) of this system to the world. <a href="trait.System.html#tymethod.apply_deferred">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.queue_deferred" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#146-150">Source</a><a href="#method.queue_deferred" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.queue_deferred" class="fn">queue_deferred</a>(&amp;mut self, _world: <a class="struct" href="../world/struct.DeferredWorld.html" title="struct bevy_ecs::world::DeferredWorld">DeferredWorld</a>&lt;'_&gt;)</h4></section></summary><div class='docblock'>Enqueues any <a href="struct.Deferred.html" title="struct bevy_ecs::system::Deferred"><code>Deferred</code></a> system parameters (or other system buffers)
of this system into the worlds command buffer.</div></details><details class="toggle method-toggle" open><summary><section id="method.validate_param_unsafe" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#153-156">Source</a><a href="#method.validate_param_unsafe" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="trait.System.html#tymethod.validate_param_unsafe" class="fn">validate_param_unsafe</a>(&amp;mut self, _world: <a class="struct" href="../world/unsafe_world_cell/struct.UnsafeWorldCell.html" title="struct bevy_ecs::world::unsafe_world_cell::UnsafeWorldCell">UnsafeWorldCell</a>&lt;'_&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Validates that all parameters can be acquired and that system can run without panic.
Built-in executors use this to prevent invalid systems from running. <a href="trait.System.html#tymethod.validate_param_unsafe">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.initialize" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#159-162">Source</a><a href="#method.initialize" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.initialize" class="fn">initialize</a>(&amp;mut self, world: &amp;mut <a class="struct" href="../world/struct.World.html" title="struct bevy_ecs::world::World">World</a>)</h4></section></summary><div class='docblock'>Initialize the system.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_archetype_component_access" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#164">Source</a><a href="#method.update_archetype_component_access" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.update_archetype_component_access" class="fn">update_archetype_component_access</a>(&amp;mut self, _world: <a class="struct" href="../world/unsafe_world_cell/struct.UnsafeWorldCell.html" title="struct bevy_ecs::world::unsafe_world_cell::UnsafeWorldCell">UnsafeWorldCell</a>&lt;'_&gt;)</h4></section></summary><div class='docblock'>Update the systems archetype component <a href="../query/struct.Access.html" title="struct bevy_ecs::query::Access"><code>Access</code></a>. <a href="trait.System.html#tymethod.update_archetype_component_access">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.check_change_tick" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#167-173">Source</a><a href="#method.check_change_tick" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.check_change_tick" class="fn">check_change_tick</a>(&amp;mut self, change_tick: <a class="struct" href="../component/struct.Tick.html" title="struct bevy_ecs::component::Tick">Tick</a>)</h4></section></summary><div class='docblock'>Checks any <a href="../component/struct.Tick.html" title="struct bevy_ecs::component::Tick"><code>Tick</code></a>s stored on this system and wraps their value if they get too old. <a href="trait.System.html#tymethod.check_change_tick">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.default_system_sets" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#175-178">Source</a><a href="#method.default_system_sets" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#method.default_system_sets" class="fn">default_system_sets</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="type" href="../schedule/type.InternedSystemSet.html" title="type bevy_ecs::schedule::InternedSystemSet">InternedSystemSet</a>&gt;</h4></section></summary><div class='docblock'>Returns the systems default <a href="../schedule/trait.SystemSet.html" title="trait bevy_ecs::schedule::SystemSet">system sets</a>. <a href="trait.System.html#method.default_system_sets">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.get_last_run" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#180-182">Source</a><a href="#method.get_last_run" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.get_last_run" class="fn">get_last_run</a>(&amp;self) -&gt; <a class="struct" href="../component/struct.Tick.html" title="struct bevy_ecs::component::Tick">Tick</a></h4></section></summary><div class='docblock'>Gets the tick indicating the last time this system ran.</div></details><details class="toggle method-toggle" open><summary><section id="method.set_last_run" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/exclusive_function_system.rs.html#184-186">Source</a><a href="#method.set_last_run" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#tymethod.set_last_run" class="fn">set_last_run</a>(&amp;mut self, last_run: <a class="struct" href="../component/struct.Tick.html" title="struct bevy_ecs::component::Tick">Tick</a>)</h4></section></summary><div class='docblock'>Overwrites the tick indicating the last time this system ran. <a href="trait.System.html#tymethod.set_last_run">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/system.rs.html#40-42">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#method.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Returns the <a href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId"><code>TypeId</code></a> of the underlying system type.</div></details><details class="toggle method-toggle" open><summary><section id="method.validate_param" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/system.rs.html#124-131">Source</a><a href="#method.validate_param" class="anchor">§</a><h4 class="code-header">fn <a href="trait.System.html#method.validate_param" class="fn">validate_param</a>(&amp;mut self, world: &amp;<a class="struct" href="../world/struct.World.html" title="struct bevy_ecs::world::World">World</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Safe version of <a href="trait.System.html#tymethod.validate_param_unsafe" title="method bevy_ecs::system::System::validate_param_unsafe"><code>System::validate_param_unsafe</code></a>.
that runs on exclusive, single-threaded <code>world</code> pointer.</div></details></div></details></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a href="#impl-Freeze-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,
&lt;&lt;F as <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParamFunction.html#associatedtype.Param" title="type bevy_ecs::system::ExclusiveSystemParamFunction::Param">Param</a> as <a class="trait" href="trait.ExclusiveSystemParam.html" title="trait bevy_ecs::system::ExclusiveSystemParam">ExclusiveSystemParam</a>&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParam.html#associatedtype.State" title="type bevy_ecs::system::ExclusiveSystemParam::State">State</a>: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
&lt;&lt;F as <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParamFunction.html#associatedtype.Param" title="type bevy_ecs::system::ExclusiveSystemParamFunction::Param">Param</a> as <a class="trait" href="trait.ExclusiveSystemParam.html" title="trait bevy_ecs::system::ExclusiveSystemParam">ExclusiveSystemParam</a>&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParam.html#associatedtype.State" title="type bevy_ecs::system::ExclusiveSystemParam::State">State</a>: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a href="#impl-Send-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;</h3></section><section id="impl-Sync-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a href="#impl-Sync-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;</h3></section><section id="impl-Unpin-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a href="#impl-Unpin-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
&lt;&lt;F as <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParamFunction.html#associatedtype.Param" title="type bevy_ecs::system::ExclusiveSystemParamFunction::Param">Param</a> as <a class="trait" href="trait.ExclusiveSystemParam.html" title="trait bevy_ecs::system::ExclusiveSystemParam">ExclusiveSystemParam</a>&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParam.html#associatedtype.State" title="type bevy_ecs::system::ExclusiveSystemParam::State">State</a>: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="impl"><a href="#impl-UnwindSafe-for-ExclusiveFunctionSystem%3CMarker,+F%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ExclusiveFunctionSystem.html" title="struct bevy_ecs::system::ExclusiveFunctionSystem">ExclusiveFunctionSystem</a>&lt;Marker, F&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
&lt;&lt;F as <a class="trait" href="trait.ExclusiveSystemParamFunction.html" title="trait bevy_ecs::system::ExclusiveSystemParamFunction">ExclusiveSystemParamFunction</a>&lt;Marker&gt;&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParamFunction.html#associatedtype.Param" title="type bevy_ecs::system::ExclusiveSystemParamFunction::Param">Param</a> as <a class="trait" href="trait.ExclusiveSystemParam.html" title="trait bevy_ecs::system::ExclusiveSystemParam">ExclusiveSystemParam</a>&gt;::<a class="associatedtype" href="trait.ExclusiveSystemParam.html#associatedtype.State" title="type bevy_ecs::system::ExclusiveSystemParam::State">State</a>: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#139">Source</a><a href="#method.type_id-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.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.84.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-T" class="impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#189">Source</a><a href="#impl-Downcast-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../downcast_rs/trait.Downcast.html" title="trait downcast_rs::Downcast">Downcast</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#190">Source</a><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.into_any" class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can
then be further <code>downcast</code> into <code>Box&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#191">Source</a><a href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.into_any_rc" class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Rc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Rc&lt;Any&gt;</code>. <code>Rc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Rc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#192">Source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;Any</code>s vtable from <code>&amp;Trait</code>s.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#193">Source</a><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.as_any_mut" class="fn">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;mut Any</code>s vtable from <code>&amp;mut Trait</code>s.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-T" class="impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#203">Source</a><a href="#impl-DowncastSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../downcast_rs/trait.DowncastSync.html" title="trait downcast_rs::DowncastSync">DowncastSync</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#204">Source</a><a href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.DowncastSync.html#tymethod.into_any_arc" class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Arc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Arc&lt;Any&gt;</code>. <code>Arc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Arc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#765">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.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="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#768">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#325">Source</a><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#86">Source</a><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.instrument" class="fn">instrument</a>(self, span: <a class="struct" href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="../../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="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#128">Source</a><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span" class="fn">in_current_span</a>(self) -&gt; <a class="struct" href="../../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="../../tracing/span/struct.Span.html#method.current" title="associated function tracing::span::Span::current">current</a> <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#748-750">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#758">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html#tymethod.into" class="fn">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.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoObserverSystem%3CE,+B,+M,+Out%3E-for-S" class="impl"><a class="src rightside" href="../../src/bevy_ecs/system/observer_system.rs.html#37-52">Source</a><a href="#impl-IntoObserverSystem%3CE,+B,+M,+Out%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, M, Out, E, B&gt; <a class="trait" href="trait.IntoObserverSystem.html" title="trait bevy_ecs::system::IntoObserverSystem">IntoObserverSystem</a>&lt;E, B, M, Out&gt; for S<div class="where">where
S: <a class="trait" href="trait.IntoSystem.html" title="trait bevy_ecs::system::IntoSystem">IntoSystem</a>&lt;<a class="struct" href="../observer/struct.Trigger.html" title="struct bevy_ecs::observer::Trigger">Trigger</a>&lt;'static, E, B&gt;, Out, M&gt; + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,
E: 'static,
B: <a class="trait" href="../bundle/trait.Bundle.html" title="trait bevy_ecs::bundle::Bundle">Bundle</a>,
&lt;S as <a class="trait" href="trait.IntoSystem.html" title="trait bevy_ecs::system::IntoSystem">IntoSystem</a>&lt;<a class="struct" href="../observer/struct.Trigger.html" title="struct bevy_ecs::observer::Trigger">Trigger</a>&lt;'static, E, B&gt;, Out, M&gt;&gt;::<a class="associatedtype" href="trait.IntoSystem.html#associatedtype.System" title="type bevy_ecs::system::IntoSystem::System">System</a>: <a class="trait" href="trait.ObserverSystem.html" title="trait bevy_ecs::system::ObserverSystem">ObserverSystem</a>&lt;E, B, Out&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.System" class="associatedtype trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/observer_system.rs.html#47">Source</a><a href="#associatedtype.System" class="anchor">§</a><h4 class="code-header">type <a href="trait.IntoObserverSystem.html#associatedtype.System" class="associatedtype">System</a> = &lt;S as <a class="trait" href="trait.IntoSystem.html" title="trait bevy_ecs::system::IntoSystem">IntoSystem</a>&lt;<a class="struct" href="../observer/struct.Trigger.html" title="struct bevy_ecs::observer::Trigger">Trigger</a>&lt;'static, E, B&gt;, Out, M&gt;&gt;::<a class="associatedtype" href="trait.IntoSystem.html#associatedtype.System" title="type bevy_ecs::system::IntoSystem::System">System</a></h4></section></summary><div class='docblock'>The type of <a href="trait.System.html" title="trait bevy_ecs::system::System"><code>System</code></a> that this instance converts into.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_system" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/observer_system.rs.html#49-51">Source</a><a href="#method.into_system" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoObserverSystem.html#tymethod.into_system" class="fn">into_system</a>(this: S) -&gt; &lt;S as <a class="trait" href="trait.IntoObserverSystem.html" title="trait bevy_ecs::system::IntoObserverSystem">IntoObserverSystem</a>&lt;E, B, M, Out&gt;&gt;::<a class="associatedtype" href="trait.IntoObserverSystem.html#associatedtype.System" title="type bevy_ecs::system::IntoObserverSystem::System">System</a></h4></section></summary><div class='docblock'>Turns this value into its corresponding <a href="trait.System.html" title="trait bevy_ecs::system::System"><code>System</code></a>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoSystem%3C%3CT+as+System%3E::In,+%3CT+as+System%3E::Out,+()%3E-for-T" class="impl"><a class="src rightside" href="../../src/bevy_ecs/system/mod.rs.html#224-229">Source</a><a href="#impl-IntoSystem%3C%3CT+as+System%3E::In,+%3CT+as+System%3E::Out,+()%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.IntoSystem.html" title="trait bevy_ecs::system::IntoSystem">IntoSystem</a>&lt;&lt;T as <a class="trait" href="trait.System.html" title="trait bevy_ecs::system::System">System</a>&gt;::<a class="associatedtype" href="trait.System.html#associatedtype.In" title="type bevy_ecs::system::System::In">In</a>, &lt;T as <a class="trait" href="trait.System.html" title="trait bevy_ecs::system::System">System</a>&gt;::<a class="associatedtype" href="trait.System.html#associatedtype.Out" title="type bevy_ecs::system::System::Out">Out</a>, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>&gt; for T<div class="where">where
T: <a class="trait" href="trait.System.html" title="trait bevy_ecs::system::System">System</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.System-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/mod.rs.html#225">Source</a><a href="#associatedtype.System-1" class="anchor">§</a><h4 class="code-header">type <a href="trait.IntoSystem.html#associatedtype.System" class="associatedtype">System</a> = T</h4></section></summary><div class='docblock'>The type of <a href="trait.System.html" title="trait bevy_ecs::system::System"><code>System</code></a> that this instance converts into.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_system-1" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/mod.rs.html#226-228">Source</a><a href="#method.into_system-1" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoSystem.html#tymethod.into_system" class="fn">into_system</a>(this: T) -&gt; T</h4></section></summary><div class='docblock'>Turns this value into its corresponding <a href="trait.System.html" title="trait bevy_ecs::system::System"><code>System</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.pipe" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/mod.rs.html#181-188">Source</a><a href="#method.pipe" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoSystem.html#method.pipe" class="fn">pipe</a>&lt;B, BIn, BOut, MarkerB&gt;(self, system: B) -&gt; <a class="struct" href="struct.IntoPipeSystem.html" title="struct bevy_ecs::system::IntoPipeSystem">IntoPipeSystem</a>&lt;Self, B&gt;<div class="where">where
Out: 'static,
B: <a class="trait" href="trait.IntoSystem.html" title="trait bevy_ecs::system::IntoSystem">IntoSystem</a>&lt;BIn, BOut, MarkerB&gt;,
for&lt;'a&gt; BIn: <a class="trait" href="trait.SystemInput.html" title="trait bevy_ecs::system::SystemInput">SystemInput</a>&lt;Inner&lt;'a&gt; = Out&gt;,</div></h4></section></summary><div class='docblock'>Pass the output of this system <code>A</code> into a second system <code>B</code>, creating a new compound system. <a href="trait.IntoSystem.html#method.pipe">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.map" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/mod.rs.html#209-214">Source</a><a href="#method.map" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoSystem.html#method.map" class="fn">map</a>&lt;T, F&gt;(self, f: F) -&gt; <a class="struct" href="struct.IntoAdapterSystem.html" title="struct bevy_ecs::system::IntoAdapterSystem">IntoAdapterSystem</a>&lt;F, Self&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(Out) -&gt; T,</div></h4></section></summary><div class='docblock'>Pass the output of this system into the passed function <code>f</code>, creating a new system that
outputs the value returned from the function. <a href="trait.IntoSystem.html#method.map">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.system_type_id" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/system/mod.rs.html#218-220">Source</a><a href="#method.system_type_id" class="anchor">§</a><h4 class="code-header">fn <a href="trait.IntoSystem.html#method.system_type_id" class="fn">system_type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Get the <a href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId"><code>TypeId</code></a> of the <a href="trait.System.html" title="trait bevy_ecs::system::System"><code>System</code></a> produced after calling <a href="trait.IntoSystem.html#tymethod.into_system" title="associated function bevy_ecs::system::IntoSystem::into_system"><code>into_system</code></a>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoSystemConfigs%3CMarker%3E-for-F" class="impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#520-527">Source</a><a href="#impl-IntoSystemConfigs%3CMarker%3E-for-F" class="anchor">§</a><h3 class="code-header">impl&lt;Marker, F&gt; <a class="trait" href="../schedule/trait.IntoSystemConfigs.html" title="trait bevy_ecs::schedule::IntoSystemConfigs">IntoSystemConfigs</a>&lt;Marker&gt; for F<div class="where">where
F: <a class="trait" href="trait.IntoSystem.html" title="trait bevy_ecs::system::IntoSystem">IntoSystem</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, Marker&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_configs" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#524-526">Source</a><a href="#method.into_configs" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#tymethod.into_configs" class="fn">into_configs</a>(self) -&gt; <a class="enum" href="../schedule/enum.NodeConfigs.html" title="enum bevy_ecs::schedule::NodeConfigs">NodeConfigs</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.System.html" title="trait bevy_ecs::system::System">System</a>&lt;Out = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, In = <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>&gt;&gt;&gt;</h4></section></summary><div class='docblock'>Convert into a <a href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs"><code>SystemConfigs</code></a>.</div></details><details class="toggle method-toggle" open><summary><section id="method.in_set" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#289-291">Source</a><a href="#method.in_set" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.in_set" class="fn">in_set</a>(self, set: impl <a class="trait" href="../schedule/trait.SystemSet.html" title="trait bevy_ecs::schedule::SystemSet">SystemSet</a>) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Add these systems to the provided <code>set</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.before" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#301-303">Source</a><a href="#method.before" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.before" class="fn">before</a>&lt;M&gt;(self, set: impl <a class="trait" href="../schedule/trait.IntoSystemSet.html" title="trait bevy_ecs::schedule::IntoSystemSet">IntoSystemSet</a>&lt;M&gt;) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Runs before all systems in <code>set</code>. If <code>self</code> has any systems that produce <a href="struct.Commands.html" title="struct bevy_ecs::system::Commands"><code>Commands</code></a>
or other <a href="struct.Deferred.html" title="struct bevy_ecs::system::Deferred"><code>Deferred</code></a> operations, all systems in <code>set</code> will see their effect. <a href="../schedule/trait.IntoSystemConfigs.html#method.before">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.after" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#328-330">Source</a><a href="#method.after" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.after" class="fn">after</a>&lt;M&gt;(self, set: impl <a class="trait" href="../schedule/trait.IntoSystemSet.html" title="trait bevy_ecs::schedule::IntoSystemSet">IntoSystemSet</a>&lt;M&gt;) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Run after all systems in <code>set</code>. If <code>set</code> has any systems that produce <a href="struct.Commands.html" title="struct bevy_ecs::system::Commands"><code>Commands</code></a>
or other <a href="struct.Deferred.html" title="struct bevy_ecs::system::Deferred"><code>Deferred</code></a> operations, all systems in <code>self</code> will see their effect. <a href="../schedule/trait.IntoSystemConfigs.html#method.after">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.before_ignore_deferred" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#336-338">Source</a><a href="#method.before_ignore_deferred" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.before_ignore_deferred" class="fn">before_ignore_deferred</a>&lt;M&gt;(self, set: impl <a class="trait" href="../schedule/trait.IntoSystemSet.html" title="trait bevy_ecs::schedule::IntoSystemSet">IntoSystemSet</a>&lt;M&gt;) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Run before all systems in <code>set</code>. <a href="../schedule/trait.IntoSystemConfigs.html#method.before_ignore_deferred">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.after_ignore_deferred" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#344-346">Source</a><a href="#method.after_ignore_deferred" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.after_ignore_deferred" class="fn">after_ignore_deferred</a>&lt;M&gt;(self, set: impl <a class="trait" href="../schedule/trait.IntoSystemSet.html" title="trait bevy_ecs::schedule::IntoSystemSet">IntoSystemSet</a>&lt;M&gt;) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Run after all systems in <code>set</code>. <a href="../schedule/trait.IntoSystemConfigs.html#method.after_ignore_deferred">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.distributive_run_if" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#378-380">Source</a><a href="#method.distributive_run_if" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.distributive_run_if" class="fn">distributive_run_if</a>&lt;M&gt;(
self,
condition: impl <a class="trait" href="../schedule/trait.Condition.html" title="trait bevy_ecs::schedule::Condition">Condition</a>&lt;M&gt; + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Add a run condition to each contained system. <a href="../schedule/trait.IntoSystemConfigs.html#method.distributive_run_if">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.run_if" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#412-414">Source</a><a href="#method.run_if" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.run_if" class="fn">run_if</a>&lt;M&gt;(self, condition: impl <a class="trait" href="../schedule/trait.Condition.html" title="trait bevy_ecs::schedule::Condition">Condition</a>&lt;M&gt;) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Run the systems only if the <a href="../schedule/trait.Condition.html" title="trait bevy_ecs::schedule::Condition"><code>Condition</code></a> is <code>true</code>. <a href="../schedule/trait.IntoSystemConfigs.html#method.run_if">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ambiguous_with" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#418-420">Source</a><a href="#method.ambiguous_with" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.ambiguous_with" class="fn">ambiguous_with</a>&lt;M&gt;(self, set: impl <a class="trait" href="../schedule/trait.IntoSystemSet.html" title="trait bevy_ecs::schedule::IntoSystemSet">IntoSystemSet</a>&lt;M&gt;) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Suppress warnings and errors that would result from these systems having ambiguities
(conflicting access but indeterminate order) with systems in <code>set</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ambiguous_with_all" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#424-426">Source</a><a href="#method.ambiguous_with_all" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.ambiguous_with_all" class="fn">ambiguous_with_all</a>(self) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Suppress warnings and errors that would result from these systems having ambiguities
(conflicting access but indeterminate order) with any other system.</div></details><details class="toggle method-toggle" open><summary><section id="method.chain" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#435-437">Source</a><a href="#method.chain" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.chain" class="fn">chain</a>(self) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Treat this collection as a sequence of systems. <a href="../schedule/trait.IntoSystemConfigs.html#method.chain">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.chain_ignore_deferred" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/schedule/config.rs.html#444-446">Source</a><a href="#method.chain_ignore_deferred" class="anchor">§</a><h4 class="code-header">fn <a href="../schedule/trait.IntoSystemConfigs.html#method.chain_ignore_deferred" class="fn">chain_ignore_deferred</a>(self) -&gt; <a class="type" href="../schedule/type.SystemConfigs.html" title="type bevy_ecs::schedule::SystemConfigs">SystemConfigs</a></h4></section></summary><div class='docblock'>Treat this collection as a sequence of systems. <a href="../schedule/trait.IntoSystemConfigs.html#method.chain_ignore_deferred">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#805-807">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#809">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.84.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="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#812">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.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.84.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.84.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="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#790-792">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#794">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.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.84.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.84.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="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#797">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.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.84.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.84.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="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a class="src rightside" href="../../src/ppv_lite86/types.rs.html#221-223">Source</a><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; <a class="trait" href="../../ppv_lite86/types/trait.VZip.html" title="trait ppv_lite86::types::VZip">VZip</a>&lt;V&gt; for T<div class="where">where
V: <a class="trait" href="../../ppv_lite86/types/trait.MultiLane.html" title="trait ppv_lite86::types::MultiLane">MultiLane</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a class="src rightside" href="../../src/ppv_lite86/types.rs.html#226">Source</a><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a href="../../ppv_lite86/types/trait.VZip.html#tymethod.vzip" class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#393">Source</a><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">Source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#228">Source</a><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fn">with_current_subscriber</a>(self) -&gt; <a class="struct" href="../../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="../../tracing/dispatcher/index.html#setting-the-default-subscriber" title="mod tracing::dispatcher">default</a> <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><section id="impl-ConditionalSend-for-T" class="impl"><a class="src rightside" href="../../src/bevy_utils/lib.rs.html#65">Source</a><a href="#impl-ConditionalSend-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../bevy_utils/conditional_send/trait.ConditionalSend.html" title="trait bevy_utils::conditional_send::ConditionalSend">ConditionalSend</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-ObserverSystem%3CE,+B,+Out%3E-for-T" class="impl"><a class="src rightside" href="../../src/bevy_ecs/system/observer_system.rs.html#14-21">Source</a><a href="#impl-ObserverSystem%3CE,+B,+Out%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;E, B, Out, T&gt; <a class="trait" href="trait.ObserverSystem.html" title="trait bevy_ecs::system::ObserverSystem">ObserverSystem</a>&lt;E, B, Out&gt; for T<div class="where">where
E: 'static,
B: <a class="trait" href="../bundle/trait.Bundle.html" title="trait bevy_ecs::bundle::Bundle">Bundle</a>,
T: <a class="trait" href="trait.System.html" title="trait bevy_ecs::system::System">System</a>&lt;In = <a class="struct" href="../observer/struct.Trigger.html" title="struct bevy_ecs::observer::Trigger">Trigger</a>&lt;'static, E, B&gt;, Out = Out&gt; + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h3></section></div></section></div></main></body></html>