Skip to content

Commit 2200596

Browse files
committed
Make use of the Cow
1 parent 755185b commit 2200596

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

crates/bevy_reflect/src/serde/de.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use serde::de::{
1212
};
1313
use serde::Deserialize;
1414
use std::any::TypeId;
15+
use std::borrow::Cow;
1516
use std::fmt;
1617
use std::fmt::{Debug, Display, Formatter};
1718
use std::slice::Iter;
@@ -273,7 +274,7 @@ impl<'a, 'de> Visitor<'de> for UntypedReflectDeserializerVisitor<'a> {
273274
A: MapAccess<'de>,
274275
{
275276
let type_name = map
276-
.next_key::<String>()?
277+
.next_key::<Cow<'static, str>>()?
277278
.ok_or_else(|| Error::invalid_length(0, &"at least one entry"))?;
278279

279280
let registration = self.registry.get_with_name(&type_name).ok_or_else(|| {

crates/bevy_scene/src/serde.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use serde::{
99
ser::SerializeStruct,
1010
Deserialize, Deserializer, Serialize, Serializer,
1111
};
12+
use std::borrow::Cow;
1213
use std::fmt::Formatter;
1314

1415
pub const SCENE_STRUCT: &str = "Scene";
@@ -352,7 +353,7 @@ impl<'a, 'de> Visitor<'de> for ComponentVisitor<'a> {
352353
{
353354
let mut added = HashSet::new();
354355
let mut components = Vec::new();
355-
while let Some(key) = map.next_key::<String>()? {
356+
while let Some(key) = map.next_key::<Cow<'static, str>>()? {
356357
if !added.insert(key.clone()) {
357358
return Err(Error::custom(format!("duplicate component: `{key}`")));
358359
}

0 commit comments

Comments
 (0)