What problem does this solve or what need does it fill?
bevy_utils is a collection of unrelated utilities for Bevy. Utility modules/classes/libraries are generally frowned upon in the programming community since they are most likely a sign of poor organization.
What solution would you like?
Move bevy_utils's contents into existing bevy crates or into separate crates.
Long list of what to do with each item in bevy_utils
What problem does this solve or what need does it fill?
bevy_utilsis a collection of unrelated utilities for Bevy. Utility modules/classes/libraries are generally frowned upon in the programming community since they are most likely a sign of poor organization.What solution would you like?
Move
bevy_utils's contents into existing bevy crates or into separate crates.Long list of what to do with each item in
bevy_utilsBoxedFuturecould probably be removed since async in traits were added in Rust 1.75HashMaprelated stuff: no idea where to put that.EntityHashrelated types intobevy_ecs#11498OnDropcould be its own cratetracingrelated stuff: put inbevy_logoncerelated stuff: I would put it inbevy_log, but this could cause some issues (see move once from bevy_log to bevy_utils, to allow for it's use in bevy_ecs #11419)get_short_name: put inbevy_reflectSyncCell: usestd::sync::Exclusivewhen stabilized (Tracking Issue forSyncViewrust-lang/rust#98407)SyncUnsafeCell: usestd::cell::SyncUnsafeCellwhen stablized (Tracking Issue for SyncUnsafeCell rust-lang/rust#95439)generate_composite_uuid: Maybe contribute this to theuuidcrate?labelmodule: Sounds like abevy_reflectthing but isn't actually used anywhere there so idkInterned: put inbevy_ecsfuturesmodule: only used inbevy_render, so put it there.FloatOrd: could be its own cratedefault: Could be its own crate (Thedefaultcrate already exists, so maybe we should use that)CowArc: Could be its own crate