(deserializer: D)
| 302 | T: EntityRef + serde::Deserialize<'de>, |
| 303 | { |
| 304 | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> |
| 305 | where |
| 306 | D: serde::Deserializer<'de>, |
| 307 | { |
| 308 | struct SeqVisitor<T> |
| 309 | where |
| 310 | T: EntityRef, |
| 311 | { |
| 312 | marker: PhantomData<EntitySet<T>>, |
| 313 | } |
| 314 | |
| 315 | impl<'de, T> serde::de::Visitor<'de> for SeqVisitor<T> |
| 316 | where |
| 317 | T: EntityRef + serde::Deserialize<'de>, |
| 318 | { |
| 319 | type Value = EntitySet<T>; |
| 320 | |
| 321 | fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { |
| 322 | formatter.write_str("a sequence") |
| 323 | } |
| 324 | |
| 325 | #[inline] |
| 326 | fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error> |
| 327 | where |
| 328 | A: serde::de::SeqAccess<'de>, |
| 329 | { |
| 330 | let mut values = EntitySet::new(); |
| 331 | |
| 332 | while let Some(value) = seq.next_element()? { |
| 333 | values.insert(value); |
| 334 | } |
| 335 | |
| 336 | Ok(values) |
| 337 | } |
| 338 | } |
| 339 | |
| 340 | let visitor = SeqVisitor { |
| 341 | marker: PhantomData, |
| 342 | }; |
| 343 | deserializer.deserialize_seq(visitor) |
| 344 | } |
| 345 | } |
| 346 | |
| 347 | /// Iterator over the elements in an [`EntitySet`]. |
nothing calls this directly
no outgoing calls
no test coverage detected