Use question mark operator when possible (#11865)

# Objective

- There are multiple instances of `let Some(x) = ... else { None };`
throughout the project.
- Because `Option<T>` implements
[`Try`](https://doc.rust-lang.org/stable/std/ops/trait.Try.html), it can
use the question mark `?` operator.

## Solution

- Use question mark operator instead of `let Some(x) = ... else { None
}`.

---

There was another PR that did a similar thing a few weeks ago, but I
couldn't find it.
This commit is contained in:
BD103 2024-02-14 13:44:33 -05:00 committed by GitHub
parent b446374392
commit 8018d62e41
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 8 additions and 23 deletions

View File

@ -493,9 +493,7 @@ fn entity_from_path(
let mut parts = path.parts.iter().enumerate();
// check the first name is the root node which we already have
let Some((_, root_name)) = parts.next() else {
return None;
};
let (_, root_name) = parts.next()?;
if names.get(current_entity) != Ok(root_name) {
return None;
}

View File

@ -1668,9 +1668,7 @@ impl<'w> FilteredEntityRef<'w> {
/// Returns `None` if the entity does not have a component of type `T`.
#[inline]
pub fn get<T: Component>(&self) -> Option<&'w T> {
let Some(id) = self.entity.world().components().get_id(TypeId::of::<T>()) else {
return None;
};
let id = self.entity.world().components().get_id(TypeId::of::<T>())?;
self.access
.has_read(id)
// SAFETY: We have read access so we must have the component
@ -1683,9 +1681,7 @@ impl<'w> FilteredEntityRef<'w> {
/// Returns `None` if the entity does not have a component of type `T`.
#[inline]
pub fn get_ref<T: Component>(&self) -> Option<Ref<'w, T>> {
let Some(id) = self.entity.world().components().get_id(TypeId::of::<T>()) else {
return None;
};
let id = self.entity.world().components().get_id(TypeId::of::<T>())?;
self.access
.has_read(id)
// SAFETY: We have read access so we must have the component
@ -1696,9 +1692,7 @@ impl<'w> FilteredEntityRef<'w> {
/// detection in custom runtimes.
#[inline]
pub fn get_change_ticks<T: Component>(&self) -> Option<ComponentTicks> {
let Some(id) = self.entity.world().components().get_id(TypeId::of::<T>()) else {
return None;
};
let id = self.entity.world().components().get_id(TypeId::of::<T>())?;
self.access
.has_read(id)
// SAFETY: We have read access so we must have the component
@ -1944,9 +1938,7 @@ impl<'w> FilteredEntityMut<'w> {
/// Returns `None` if the entity does not have a component of type `T`.
#[inline]
pub fn get_mut<T: Component>(&mut self) -> Option<Mut<'_, T>> {
let Some(id) = self.entity.world().components().get_id(TypeId::of::<T>()) else {
return None;
};
let id = self.entity.world().components().get_id(TypeId::of::<T>())?;
self.access
.has_write(id)
// SAFETY: We have write access so we must have the component

View File

@ -225,9 +225,7 @@ pub fn ui_focus_system(
return None;
};
let Some(view_visibility) = node.view_visibility else {
return None;
};
let view_visibility = node.view_visibility?;
// Nodes that are not rendered should not be interactable
if !view_visibility.get() {
// Reset their interaction to None to avoid strange stuck state
@ -237,13 +235,10 @@ pub fn ui_focus_system(
}
return None;
}
let Some(camera_entity) = node
let camera_entity = node
.target_camera
.map(TargetCamera::entity)
.or(default_ui_camera.get())
else {
return None;
};
.or(default_ui_camera.get())?;
let node_rect = node.node.logical_rect(node.global_transform);