mirror of
https://github.com/bevyengine/bevy
synced 2024-12-23 03:23:20 +00:00
871c80c103
# Objective This a follow-up to #6894, see https://github.com/bevyengine/bevy/pull/6894#discussion_r1045203113 The goal is to avoid cloning any string when getting a `&TypeRegistration` corresponding to a string which is being deserialized. As a bonus code duplication is also reduced. ## Solution The manual deserialization of a string and lookup into the type registry has been moved into a separate `TypeRegistrationDeserializer` type, which implements `DeserializeSeed` with a `Visitor` that accepts any string with `visit_str`, even ones that may not live longer than that function call. `BorrowedStr` has been removed since it's no longer used. --- ## Changelog - The type `TypeRegistrationDeserializer` has been added, which simplifies getting a `&TypeRegistration` while deserializing a string.
44 lines
1.3 KiB
TOML
44 lines
1.3 KiB
TOML
[package]
|
|
name = "bevy_reflect"
|
|
version = "0.9.0"
|
|
edition = "2021"
|
|
description = "Dynamically interact with rust types"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
readme = "README.md"
|
|
|
|
[features]
|
|
default = []
|
|
# Provides Bevy-related reflection implementations
|
|
bevy = ["glam", "smallvec", "bevy_math"]
|
|
# When enabled, allows documentation comments to be accessed via reflection
|
|
documentation = ["bevy_reflect_derive/documentation"]
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_math = { path = "../bevy_math", version = "0.9.0", features = ["serialize"], optional = true }
|
|
bevy_reflect_derive = { path = "bevy_reflect_derive", version = "0.9.0" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.9.0" }
|
|
bevy_ptr = { path = "../bevy_ptr", version = "0.9.0" }
|
|
|
|
# other
|
|
erased-serde = "0.3"
|
|
downcast-rs = "1.2"
|
|
parking_lot = "0.12.1"
|
|
thiserror = "1.0"
|
|
once_cell = "1.11"
|
|
serde = "1"
|
|
smallvec = { version = "1.6", features = ["serde", "union", "const_generics"], optional = true }
|
|
glam = { version = "0.22", features = ["serde"], optional = true }
|
|
|
|
[dev-dependencies]
|
|
ron = "0.8.0"
|
|
rmp-serde = "1.1"
|
|
bincode = "1.3"
|
|
|
|
[[example]]
|
|
name = "reflect_docs"
|
|
path = "examples/reflect_docs.rs"
|
|
required-features = ["documentation"]
|