Revert "Add conversions between Visibility and bool (#14784)" (#14830)

This reverts commit e37bf18e2b, added in
#14784.

# Objective

The PR was fine, but the work was very poorly motivated and the
resulting API is not actually very nice. The actual user need is likely
better addressed by #14825.

## Solution

Revert the offending PR.
This commit is contained in:
Alice Cecile 2024-08-20 07:08:46 -04:00 committed by GitHub
parent 99ab0285e4
commit ba2847929f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,8 +21,6 @@ use crate::{
primitives::{Aabb, Frustum, Sphere}, primitives::{Aabb, Frustum, Sphere},
}; };
use thiserror::Error;
use super::NoCpuCulling; use super::NoCpuCulling;
/// User indication of whether an entity is visible. Propagates down the entity hierarchy. /// User indication of whether an entity is visible. Propagates down the entity hierarchy.
@ -49,43 +47,6 @@ pub enum Visibility {
Visible, Visible,
} }
/// Enum of errors that could occur during conversion to [`bool`]
#[non_exhaustive]
#[derive(Error, Debug)]
pub enum VisibilityToBoolConversionError {
#[error("The variant `{0:?}` cannot be converted to a bool")]
VariantNotSupported(Visibility),
}
/// Implements conversion from bool to Visibility
/// `true` corresponds to [`Visibility::Visible`], while false corresponds to [`Visibility::Hidden`].
impl From<bool> for Visibility {
fn from(visible: bool) -> Visibility {
if visible {
Visibility::Visible
} else {
Visibility::Hidden
}
}
}
/// Implements conversion from [`Visibility`] to [`bool`]
/// - returns `Ok(true)` if `Visibility::Visible`
/// - returns `Ok(false)` if `Visibility::Hidden`
/// - returns `Err()` if `Visibility::Inherited`
impl TryFrom<Visibility> for bool {
type Error = VisibilityToBoolConversionError;
fn try_from(visible: Visibility) -> Result<Self, Self::Error> {
match visible {
Visibility::Hidden => Ok(false),
Visibility::Visible => Ok(true),
Visibility::Inherited => Err(VisibilityToBoolConversionError::VariantNotSupported(
Visibility::Inherited,
)),
}
}
}
// Allows `&Visibility == Visibility` // Allows `&Visibility == Visibility`
impl PartialEq<Visibility> for &Visibility { impl PartialEq<Visibility> for &Visibility {
#[inline] #[inline]