abstreet/rustdoc/sim/mechanics/driving/struct.DrivingSimState.html

82 lines
89 KiB
HTML
Raw Normal View History

<!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="Simulates vehicles!"><meta name="keywords" content="rust, rustlang, rust-lang, DrivingSimState"><title>DrivingSimState in sim::mechanics::driving - 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="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></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="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a href='../../../sim/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><h2 class="location">Struct DrivingSimState</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><div class="sidebar-links"><a href="#structfield.cars">cars</a><a href="#structfield.events">events</a><a href="#structfield.handle_uber_turns">handle_uber_turns</a><a href="#structfield.queues">queues</a><a href="#structfield.recalc_lanechanging">recalc_lanechanging</a><a href="#structfield.time_to_park_offstreet">time_to_park_offstreet</a><a href="#structfield.time_to_park_onstreet">time_to_park_onstreet</a><a href="#structfield.time_to_unpark_offstreet">time_to_unpark_offstreet</a><a href="#structfield.time_to_unpark_onstreet">time_to_unpark_onstreet</a><a href="#structfield.waiting_to_spawn">waiting_to_spawn</a></div><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.agent_properties">agent_properties</a><a href="#method.all_waiting_people">all_waiting_people</a><a href="#method.collect_events">collect_events</a><a href="#method.debug_car_json">debug_car_json</a><a href="#method.debug_car_ui">debug_car_ui</a><a href="#method.debug_lane">debug_lane</a><a href="#method.debug_queue_lengths">debug_queue_lengths</a><a href="#method.delete_car">delete_car</a><a href="#method.delete_car_internal">delete_car_internal</a><a href="#method.does_car_exist">does_car_exist</a><a href="#method.find_trips_to_edited_parking">find_trips_to_edited_parking</a><a href="#method.find_vehicles_affected_by_live_edits">find_vehicles_affected_by_live_edits</a><a href="#method.get_all_draw_cars">get_all_draw_cars</a><a href="#method.get_all_driving_paths">get_all_driving_paths</a><a href="#method.get_blocked_by_graph">get_blocked_by_graph</a><a href="#method.get_car_front">get_car_front</a><a href="#method.get_draw_cars_on">get_draw_cars_on</a><a href="#method.get_owner_of_car">get_owner_of_car</a><a href="#method.get_path">get_path</a><a href="#method.get_single_draw_car">get_single_draw_car</a><a href="#method.get_unzoomed_agents">get_unzoomed_agents</a><a href="#method.handle_live_edits">handle_live_edits</a><a href="#method.new">new</a><a href="#method.percent_along_route">percent_along_route</a><a href="#method.pick_overtaking_lane">pick_overtaking_lane</a><a href="#method.start_car_on_lane">start_car_on_lane</a><a href="#method.target_lane_penalty">target_lane_penalty</a><a href="#method.trace_route">trace_route</a><a hr
cars: <a class="struct" href="../../../abstutil/collections/struct.FixedMap.html" title="struct abstutil::collections::FixedMap">FixedMap</a>&lt;<a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>&gt;,
queues: <a class="struct" href="https://doc.rust-lang.org/1.57.0/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="enum" href="../../../map_model/traversable/enum.Traversable.html" title="enum map_model::traversable::Traversable">Traversable</a>, <a class="struct" href="../queue/struct.Queue.html" title="struct sim::mechanics::queue::Queue">Queue</a>&gt;,
events: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="../../events/enum.Event.html" title="enum sim::events::Event">Event</a>&gt;,
waiting_to_spawn: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">(</a><a class="struct" href="../../../map_model/traversable/struct.Position.html" title="struct map_model::traversable::Position">Position</a>, <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../struct.PersonID.html" title="struct sim::PersonID">PersonID</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">)</a>&gt;,
recalc_lanechanging: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a>,
handle_uber_turns: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a>,
time_to_unpark_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
time_to_park_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
time_to_unpark_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
time_to_park_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>,
}</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Simulates vehicles!</p>
</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.cars" class="structfield small-section-header"><a href="#structfield.cars" class="anchor field"></a><code>cars: <a class="struct" href="../../../abstutil/collections/struct.FixedMap.html" title="struct abstutil::collections::FixedMap">FixedMap</a>&lt;<a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>&gt;</code></span><span id="structfield.queues" class="structfield small-section-header"><a href="#structfield.queues" class="anchor field"></a><code>queues: <a class="struct" href="https://doc.rust-lang.org/1.57.0/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a>&lt;<a class="enum" href="../../../map_model/traversable/enum.Traversable.html" title="enum map_model::traversable::Traversable">Traversable</a>, <a class="struct" href="../queue/struct.Queue.html" title="struct sim::mechanics::queue::Queue">Queue</a>&gt;</code></span><span id="structfield.events" class="structfield small-section-header"><a href="#structfield.events" class="anchor field"></a><code>events: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="../../events/enum.Event.html" title="enum sim::events::Event">Event</a>&gt;</code></span><span id="structfield.waiting_to_spawn" class="structfield small-section-header"><a href="#structfield.waiting_to_spawn" class="anchor field"></a><code>waiting_to_spawn: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">(</a><a class="struct" href="../../../map_model/traversable/struct.Position.html" title="struct map_model::traversable::Position">Position</a>, <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../struct.PersonID.html" title="struct sim::PersonID">PersonID</a>&gt;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">)</a>&gt;</code></span><span id="structfield.recalc_lanechanging" class="structfield small-section-header"><a href="#structfield.recalc_lanechanging" class="anchor field"></a><code>recalc_lanechanging: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></code></span><span id="structfield.handle_uber_turns" class="structfield small-section-header"><a href="#structfield.handle_uber_turns" class="anchor field"></a><code>handle_uber_turns: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></code></span><span id="structfield.time_to_unpark_onstreet" class="structfield small-section-header"><a href="#structfield.time_to_unpark_onstreet" class="anchor field"></a><code>time_to_unpark_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><span id="structfield.time_to_park_onstreet" class="structfield small-section-header"><a href="#structfield.time_to_park_onstreet" class="anchor field"></a><code>time_to_park_onstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><span id="structfield.time_to_unpark_offstreet" class="structfield small-section-header"><a href="#structfield.time_to_unpark_offstreet" class="anchor field"></a><code>time_to_unpark_offstreet: <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a></code></span><span id="
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.vehicle_waiting_to_spawn" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#285-287" title="goto source code">[src]</a></div><a href="#method.vehicle_waiting_to_spawn" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.vehicle_waiting_to_spawn" class="fnname">vehicle_waiting_to_spawn</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;pos: <a class="struct" href="../../../map_model/traversable/struct.Position.html" title="struct map_model::traversable::Position">Position</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;person: <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../struct.PersonID.html" title="struct sim::PersonID">PersonID</a>&gt;<br>)</h4></div></summary><div class="docblock"><p>If start_car_on_lane fails and a retry is scheduled, this is an idempotent way to mark the
vehicle as active, but waiting to spawn.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.update_car" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#309-361" title="goto source code">[src]</a></div><a href="#method.update_car" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.update_car" class="fnname">update_car</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;trips: &amp;mut <a class="struct" href="../../trips/struct.TripManager.html" title="struct sim::trips::TripManager">TripManager</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;mut <a class="struct" href="../../transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;walking: &amp;mut <a class="struct" href="../walking/struct.WalkingSimState.html" title="struct sim::mechanics::walking::WalkingSimState">WalkingSimState</a><br>)</h4></div></summary><div class="docblock"><p>State transitions for this car:</p>
<p>Crossing -&gt; Queued or WaitingToAdvance
Unparking -&gt; Crossing
IdlingAtStop -&gt; Crossing
Queued -&gt; last step handling (Parking or done)
WaitingToAdvance -&gt; try to advance to the next step of the path
Parking -&gt; done</p>
<p>State transitions for other cars:</p>
<p>Crossing -&gt; Crossing (recalculate dist/time)
Queued -&gt; Crossing</p>
<p>Why is it safe to process cars in any order, rather than making sure to follow the order
of queues? Because of the invariant that distances should never suddenly jump when a car
has entered/exiting a queue.
This car might have reached the routers end distance, but maybe not might
actually be stuck behind other cars. We have to calculate the distances right now to
be sure.</p>
</div></details><div id="method.update_car_without_distances" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#366-588" title="goto source code">[src]</a></div><a href="#method.update_car_without_distances" class="anchor"></a><h4 class="code-header">fn <a href="#method.update_car_without_distances" class="fnname">update_car_without_distances</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;mut <a class="struct" href="../../transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></h4></div><div id="method.update_car_with_distances" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#591-766" title="goto source code">[src]</a></div><a href="#method.update_car_with_distances" class="anchor"></a><h4 class="code-header">fn <a href="#method.update_car_with_distances" class="fnname">update_car_with_distances</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;dists: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.slice.html">&amp;[</a><a class="struct" href="../queue/struct.QueueEntry.html" title="struct sim::mechanics::queue::QueueEntry">QueueEntry</a><a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.slice.html">]</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;idx: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;trips: &amp;mut <a class="struct" href="../../trips/struct.TripManager.html" title="struct sim::trips::TripManager">TripManager</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;mut <a class="struct" href="../../transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;walking: &amp;mut <a class="struct" href="../walking/struct.WalkingSimState.html" title="struct sim::mechanics::walking::WalkingSimState">WalkingSimState</a><br>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></h4></div><details class="rustdoc-toggle method-toggle" open><summary><div id="method.delete_car" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#770-808" title="goto source code">[src]</a></div><a href="#method.delete_car" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.delete_car" class="fnname">delete_car</a>(&amp;mut self, c: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;) -&gt; <a class="struct" href="../../struct.Vehicle.html" title="struct sim::Vehicle">Vehicle</a></h4></div></summary><div class="docblock"><p>Abruptly remove a vehicle from the simulation. They may be in any arbitrary state, like in
the middle of a turn or parking.</p>
</div></details><div id="method.delete_car_internal" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#810-843" title="goto source code">[src]</a></div><a href="#method.delete_car_internal" class="anchor"></a><h4 class="code-header">fn <a href="#method.delete_car_internal" class="fnname">delete_car_internal</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;dists: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../queue/struct.QueueEntry.html" title="struct sim::mechanics::queue::QueueEntry">QueueEntry</a>&gt;, <br>&nbsp;&nbsp;&nbsp;&nbsp;idx: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;<br>)</h4></div><details class="rustdoc-toggle method-toggle" open><summary><div id="method.update_follower" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#847-932" title="goto source code">[src]</a></div><a href="#method.update_follower" class="anchor"></a><h4 class="code-header">fn <a href="#method.update_follower" class="fnname">update_follower</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;idx_leader: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;dists: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.slice.html">&amp;[</a><a class="struct" href="../queue/struct.QueueEntry.html" title="struct sim::mechanics::queue::QueueEntry">QueueEntry</a><a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.slice.html">]</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;<br>)</h4></div></summary><div class="docblock"><p>After a leader (maybe an active vehicle, maybe a static blockage) gets out of the way,
update the follower so that they dont suddenly jump forwards.</p>
</div></details><div id="method.update_laggy_head" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#934-999" title="goto source code">[src]</a></div><a href="#method.update_laggy_head" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.update_laggy_head" class="fnname">update_laggy_head</a>(&amp;mut self, id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;)</h4></div><div id="method.trim_last_steps" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1002-1077" title="goto source code">[src]</a></div><a href="#method.trim_last_steps" class="anchor"></a><h4 class="code-header">fn <a href="#method.trim_last_steps" class="fnname">trim_last_steps</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;n: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;<br>)</h4></div><details class="rustdoc-toggle method-toggle" open><summary><div id="method.pick_overtaking_lane" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1084-1129" title="goto source code">[src]</a></div><a href="#method.pick_overtaking_lane" class="anchor"></a><h4 class="code-header">fn <a href="#method.pick_overtaking_lane" class="fnname">pick_overtaking_lane</a>(&amp;self, car: &amp;<a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../../map_model/objects/lane/struct.LaneID.html" title="struct map_model::objects::lane::LaneID">LaneID</a>&gt;</h4></div></summary><div class="docblock"><p>If the car wants to over-take somebody, what adjacent lane should they use?</p>
<ul>
<li>The lane must be in the same direction as the current; no support for crossing the roads
yellow line yet.</li>
<li>Prefer passing on the left (for DrivingSide::Right)
For now, just pick one candidate lane, even if both might be usable.</li>
</ul>
</div></details><div id="method.try_start_lc" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1131-1221" title="goto source code">[src]</a></div><a href="#method.try_start_lc" class="anchor"></a><h4 class="code-header">fn <a href="#method.try_start_lc" class="fnname">try_start_lc</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self, <br>&nbsp;&nbsp;&nbsp;&nbsp;car: &amp;mut <a class="struct" href="../car/struct.Car.html" title="struct sim::mechanics::car::Car">Car</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;front_current_queue: <a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;idx_in_current_queue: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;target_lane: <a class="struct" href="../../../map_model/objects/lane/struct.LaneID.html" title="struct map_model::objects::lane::LaneID">LaneID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;ctx: &amp;mut <a class="struct" href="../../sim/struct.Ctx.html" title="struct sim::sim::Ctx">Ctx</a>&lt;'_&gt;<br>)</h4></div><div id="method.collect_events" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1223-1225" title="goto source code">[src]</a></div><a href="#method.collect_events" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.collect_events" class="fnname">collect_events</a>(&amp;mut self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="../../events/enum.Event.html" title="enum sim::events::Event">Event</a>&gt;</h4></div><div id="method.handle_live_edits" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1227-1264" title="goto source code">[src]</a></div><a href="#method.handle_live_edits" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.handle_live_edits" class="fnname">handle_live_edits</a>(&amp;mut self, map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>)</h4></div></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-1" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1268-1655" title="goto source code">[src]</a></div><a href="#impl-1" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_unzoomed_agents" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1270-1307" title="goto source code">[src]</a></div><a href="#method.get_unzoomed_agents" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_unzoomed_agents" class="fnname">get_unzoomed_agents</a>(&amp;self, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../render/struct.UnzoomedAgent.html" title="struct sim::render::UnzoomedAgent">UnzoomedAgent</a>&gt;</h4></div></summary><div class="docblock"><p>Note the ordering of results is non-deterministic!</p>
</div></details><div id="method.does_car_exist" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1309-1316" title="goto source code">[src]</a></div><a href="#method.does_car_exist" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.does_car_exist" class="fnname">does_car_exist</a>(&amp;self, id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.bool.html">bool</a></h4></div><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_all_draw_cars" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1319-1341" title="goto source code">[src]</a></div><a href="#method.get_all_draw_cars" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_all_draw_cars" class="fnname">get_all_draw_cars</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;<a class="struct" href="../../transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../render/struct.DrawCarInput.html" title="struct sim::render::DrawCarInput">DrawCarInput</a>&gt;</h4></div></summary><div class="docblock"><p>Note the ordering of results is non-deterministic!</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.get_single_draw_car" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1344-1355" title="goto source code">[src]</a></div><a href="#method.get_single_draw_car" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_single_draw_car" class="fnname">get_single_draw_car</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;<a class="struct" href="../../transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../render/struct.DrawCarInput.html" title="struct sim::render::DrawCarInput">DrawCarInput</a>&gt;</h4></div></summary><div class="docblock"><p>This is about as expensive as get_draw_cars_on.</p>
</div></details><div id="method.get_draw_cars_on" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1357-1413" title="goto source code">[src]</a></div><a href="#method.get_draw_cars_on" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_draw_cars_on" class="fnname">get_draw_cars_on</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;on: <a class="enum" href="../../../map_model/traversable/enum.Traversable.html" title="enum map_model::traversable::Traversable">Traversable</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;transit: &amp;<a class="struct" href="../../transit/struct.TransitSimState.html" title="struct sim::transit::TransitSimState">TransitSimState</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../render/struct.DrawCarInput.html" title="struct sim::render::DrawCarInput">DrawCarInput</a>&gt;</h4></div><div id="method.debug_car_json" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1415-1421" title="goto source code">[src]</a></div><a href="#method.debug_car_json" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.debug_car_json" class="fnname">debug_car_json</a>(&amp;self, id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></div><div id="method.debug_car_ui" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1423-1429" title="goto source code">[src]</a></div><a href="#method.debug_car_ui" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.debug_car_ui" class="fnname">debug_car_ui</a>(&amp;self, id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></div><div id="method.debug_lane" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1431-1435" title="goto source code">[src]</a></div><a href="#method.debug_lane" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.debug_lane" class="fnname">debug_lane</a>(&amp;self, id: <a class="struct" href="../../../map_model/objects/lane/struct.LaneID.html" title="struct map_model::objects::lane::LaneID">LaneID</a>)</h4></div><div id="method.agent_properties" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1437-1479" title="goto source code">[src]</a></div><a href="#method.agent_properties" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.agent_properties" class="fnname">agent_properties</a>(&amp;self, id: <a class="struct" href="../../struct.CarID.html" title="struct sim::CarID">CarID</a>, now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>) -&gt; <a class="struct" href="../../sim/queries/struct.AgentProperties.html" title="struct sim::sim::queries::AgentProperties">AgentProperties</a></h4></div><div id="method.get_path" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1481-1484" title="goto source code">[src]</a></div><a href="#method.get_path" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_path" class="fnname">get_path</a>(&amp;self, id: <a class="struct" hre
</div></details><div id="method.all_waiting_people" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1553-1562" title="goto source code">[src]</a></div><a href="#method.all_waiting_people" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.all_waiting_people" class="fnname">all_waiting_people</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;delays: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="struct" href="../../struct.PersonID.html" title="struct sim::PersonID">PersonID</a>, <a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>&gt;<br>)</h4></div><div id="method.debug_queue_lengths" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1564-1567" title="goto source code">[src]</a></div><a href="#method.debug_queue_lengths" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.debug_queue_lengths" class="fnname">debug_queue_lengths</a>(&amp;self, l: <a class="struct" href="../../../map_model/objects/lane/struct.LaneID.html" title="struct map_model::objects::lane::LaneID">LaneID</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">(</a><a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a>, <a class="struct" href="../../../geom/distance/struct.Distance.html" title="struct geom::distance::Distance">Distance</a><a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">)</a>&gt;</h4></div><div id="method.get_blocked_by_graph" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1569-1607" title="goto source code">[src]</a></div><a href="#method.get_blocked_by_graph" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.get_blocked_by_graph" class="fnname">get_blocked_by_graph</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;now: <a class="struct" href="../../../geom/time/struct.Time.html" title="struct geom::time::Time">Time</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;map: &amp;<a class="struct" href="../../../map_model/struct.Map.html" title="struct map_model::Map">Map</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;intersections: &amp;<a class="struct" href="../intersection/struct.IntersectionSimState.html" title="struct sim::mechanics::intersection::IntersectionSimState">IntersectionSimState</a><br>) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a>&lt;<a class="enum" href="../../enum.AgentID.html" title="enum sim::AgentID">AgentID</a>, <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">(</a><a class="struct" href="../../../geom/duration/struct.Duration.html" title="struct geom::duration::Duration">Duration</a>, <a class="enum" href="../../sim/queries/enum.DelayCause.html" title="enum sim::sim::queries::DelayCause">DelayCause</a><a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.tuple.html">)</a>&gt;</h4></div><div id="method.get_car_front" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#1609-1616" title="goto source code">[src]</a></div><a href="#method.get_car_front" class="anchor"></a><h4 class="code-header">fn <a href="#method.get_car_front" class="fnname">get_car_front</a>(&amp;self, now: <a
</div></details></div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Clone" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#27" title="goto source code">[src]</a></div><a href="#impl-Clone" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#27" title="goto source code">[src]</a></div><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.57.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h4></div></summary><div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.57.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_from" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/clone.rs.html#131" title="goto source code">[src]</a></div><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.57.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;</a>Self)</h4></div></summary><div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.57.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Deserialize%3C%27de%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#27" title="goto source code">[src]</a></div><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.deserialize" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#27" title="goto source code">[src]</a></div><a href="#method.deserialize" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="type" href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;__D: <a class="trait" href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,&nbsp;</span></h4></div></summary><div class='docblock'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Serialize" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#27" title="goto source code">[src]</a></div><a href="#impl-Serialize" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.126/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.serialize" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../../../src/sim/mechanics/driving.rs.html#27" title="goto source code">[src]</a></div><a href="#method.serialize" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.126/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="type" href="https://docs.rs/serde/1.0.126/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.126/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;__S: <a class="trait" href="https://docs.rs/serde/1.0.126/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,&nbsp;</span></h4></div></summary><div class='docblock'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.126/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
</div></details></div></details></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"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.DrivingSimState.html" title="struct sim::mechanics::driving::DrivingSimState">DrivingSimState</a></h3></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"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></div></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href=
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/borrow.rs.html#210" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;</a>T</h4></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.57.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/borrow.rs.html#217" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/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/1.57.0/std/primitive.reference.html">&amp;mut </a>T</h4></div></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.57.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Downcast" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Downcast" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Downcast for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_any" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.into_any" class="anchor"></a><h4 class="code-header">pub fn <a class="fnname">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.57.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.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static, <a class="struct" href="https://doc.rust-lang.org/1.57.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></div></summary><div class='docblock'><p>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>. <a href="#tymethod.into_any">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_any_rc" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.into_any_rc" class="anchor"></a><h4 class="code-header">pub fn <a class="fnname">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.57.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.57.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.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static&gt;</h4></div></summary><div class='docblock'><p>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>. <a href="#tymethod.into_any_rc">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_any" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.as_any" class="anchor"></a><h4 class="code-header">pub fn <a class="fnname">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></div></summary><div class='docblock'><p>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. <a href="#tymethod.as_any">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.as_any_mut" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.as_any_mut" class="anchor"></a><h4 class="code-header">pub fn <a class="fnname">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></div></summary><div class='docblock'><p>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. <a href="#tymethod.as_any_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-DowncastSync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-DowncastSync" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; DowncastSync for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into_any_arc" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.into_any_arc" class="anchor"></a><h4 class="code-header">pub fn <a class="fnname">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.57.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.57.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.57.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static&gt;</h4></div></summary><div class='docblock'><p>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>. <a href="#tymethod.into_any_arc">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#548-552" title="goto source code">[src]</a></div><a href="#impl-From%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#549" title="goto source code">[src]</a></div><a href="#method.from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Instrument" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></div><a href="#impl-Instrument" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.instrument" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></div><a href="#method.instrument" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.26/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.26/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></div></summary><div class='docblock'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.in_current_span" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></div><a href="#method.in_current_span" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.26/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></div></summary><div class='docblock'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Into%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#537-544" title="goto source code">[src]</a></div><a href="#impl-Into%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#541" title="goto source code">[src]</a></div><a href="#method.into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Same%3CT%3E" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Same%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Same&lt;T&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Output" class="type trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a href="#associatedtype.Output" class="type">Output</a> = T</h4></div></summary><div class='docblock'><p>Should always be <code>Self</code></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-ToOwned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/alloc/borrow.rs.html#84-96" title="goto source code">[src]</a></div><a href="#impl-ToOwned" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.57.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Owned" class="type trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.57.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</h4></div></summary><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.to_owned" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/alloc/borrow.rs.html#89" title="goto source code">[src]</a></div><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></div></summary><div class='docblock'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.57.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/alloc/borrow.rs.html#93" title="goto source code">[src]</a></div><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.57.0/std/primitive.reference.html">&amp;mut </a>T)</h4></div></summary><div class="item-info"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.57.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryFrom%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#585-594" title="goto source code">[src]</a></div><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="type trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.57.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.57.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#591" title="goto source code">[src]</a></div><a href="#method.try_from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/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/1.57.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.57.0/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/1.57.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryInto%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#571-580" title="goto source code">[src]</a></div><a href="#impl-TryInto%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error-1" class="type trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.57.0/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.57.0/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/1.57.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.57.0/src/core/convert/mod.rs.html#577" title="goto source code">[src]</a></div><a href="#method.try_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.57.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.57.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.57.0/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/1.57.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-VZip%3CV%3E" class="impl has-srclink"><div class="rightside"></div><a href="#impl-VZip%3CV%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;V, T&gt; VZip&lt;V&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: MultiLane&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><div id="method.vzip" class="method trait-impl has-srclink"><div class="rightside"></div><a href="#method.vzip" class="anchor"></a><h4 class="code-header">pub fn <a class="fnname">vzip</a>(self) -&gt; V</h4></div></div></details><div id="impl-DeserializeOwned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://docs.rs/serde/1.0.126/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></div><a href="#impl-DeserializeOwned" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.126/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.126/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,&nbsp;</span></h3></div></div></section><section id="search" class="content hidden"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="sim" data-search-index-js="../../../search-index.js" data-search-js="../../../search.js"></div>
<script src="../../../main.js"></script>
</body></html>