facet-reflect

Crates.iofacet-reflect
lib.rsfacet-reflect
version0.43.2
created_at2025-04-11 23:42:48.273007+00
updated_at2026-01-23 18:00:59.551056+00
descriptionBuild and manipulate values of arbitrary Facet types at runtime while respecting invariants - safe runtime reflection
homepagehttps://facet.rs
repositoryhttps://github.com/facet-rs/facet
max_upload_size
id1630485
size923,315
Amos Wenger (fasterthanlime)

documentation

README

facet-reflect

Coverage Status crates.io documentation MIT/Apache-2.0 licensed Discord

Whereas the core facet crate provides essential traits like Facet itself, and data structures like Type, StructType, Field, etc., facet-reflect uses that information about the shape of types to allow:

  • Read-only access to already-initialized values (via [Peek])
  • Construction of values from scratch (via [Partial])

This allows, respectively, serialization and deserialization, without risking breaking invariants in types that implement Facet.

Sponsors

Thanks to all individual sponsors:

GitHub Sponsors Patreon

...along with corporate sponsors:

AWS Zed Depot

...without whom this work could not exist.

Special thanks

The facet logo was drawn by Misiasart.

License

Licensed under either of:

at your option.

Commit count: 3380

cargo fmt