Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# Objective - The current implementations for `&Visibility == Visibility` and `Visibility == &Visibility` are ambiguous, so they raise a warning for being unconditionally recursive. - `TaskPool`'s `LOCAL_EXECUTOR` thread local calls a `const` constructor in a non-`const` context. ## Solution - Make `&Visibility == Visibility` and `Visibility == &Visibility` implementations use `Visibility == Visibility`. - Wrap `LocalExecutor::new` in a special `const` block supported by [`thread_local`](https://doc.rust-lang.org/stable/std/macro.thread_local.html). --- This lints were found by running: ```shell $ cargo clippy --workspace ``` There are a few other warnings that were more complicated, so I chose not to include them in this PR. <details> <summary>Here they are...</summary> ```shell warning: function cannot return without recursing --> crates/bevy_utils/src/cow_arc.rs:92:5 | 92 | / fn eq(&self, other: &Self) -> bool { 93 | | self.deref().eq(other.deref()) 94 | | } | |_____^ | note: recursive call site --> crates/bevy_utils/src/cow_arc.rs:93:9 | 93 | self.deref().eq(other.deref()) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ warning: method `get_path` is never used --> crates/bevy_reflect/src/serde/de.rs:26:8 | 25 | trait StructLikeInfo { | -------------- method in this trait 26 | fn get_path(&self) -> &str; | ^^^^^^^^ | = note: `#[warn(dead_code)]` on by default warning: methods `get_path` and `get_field` are never used --> crates/bevy_reflect/src/serde/de.rs:34:8 | 33 | trait TupleLikeInfo { | ------------- methods in this trait 34 | fn get_path(&self) -> &str; | ^^^^^^^^ 35 | fn get_field(&self, index: usize) -> Option<&UnnamedField>; | ^^^^^^^^^ ``` The other warnings are fixed by #11865. </details>
- Loading branch information