• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

facet-rs / facet / 20074615249
58%

Build:
DEFAULT BRANCH: main
Ran 09 Dec 2025 06:41PM UTC
Jobs 1
Files 214
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Dec 2025 06:40PM UTC coverage: 58.494% (+0.2%) from 58.279%
20074615249

push

github

fasterthanlime
feat(facet-core): add #[facet(metadata = kind)] field attribute

Adds a new `metadata` field attribute for marking fields that contain
auxiliary information (like source spans) that should be excluded from
structural equality and hashing.

Changes:
- Add `metadata: Option<&'static str>` field to `Field` struct
- Add `is_metadata()` and `metadata_kind()` helper methods
- Add `.metadata(kind)` builder method to `FieldBuilder`
- Handle `#[facet(metadata = kind)]` in derive macro
- Update `structural_hash` to skip metadata fields
- Update `Spanned<T>` to use `#[facet(metadata = span)]` on span field
- Update `is_spanned_shape()` to detect via metadata field
- Add `find_span_metadata_field()` helper function
- Update facet-json deserializer to use new metadata detection

This allows any struct to have span tracking by adding the metadata
attribute, not just the built-in `Spanned<T>` wrapper. Deserializers
can check `field.metadata_kind() == Some("span")` to know which field
to populate with source location information.

Also includes preparatory work for GumTree-style tree diffing:
- Add tree.rs module with tree building and diff algorithm
- Update showcase to demonstrate new tree diff output

359 of 495 new or added lines in 7 files covered. (72.53%)

1 existing line in 1 file now uncovered.

26860 of 45919 relevant lines covered (58.49%)

619.28 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
66.41
5.68% facet-reflect/src/peek/value.rs
6
41.24
0.64% facet-core/src/types/ty/field.rs
7
88.29
-0.05% facet-diff/src/display.rs
8
46.34
4.8% facet-reflect/src/spanned.rs
30
58.48
-0.91% facet-json/src/deserialize.rs
84
77.11
facet-diff/src/tree.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
46.34
4.8% facet-reflect/src/spanned.rs
Jobs
ID Job ID Ran Files Coverage
1 20074615249.1 09 Dec 2025 06:41PM UTC 214
58.49
GitHub Action Run
Source Files on build 20074615249
  • Tree
  • List 214
  • Changed 8
  • Source Changed 0
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 5895c6ea on github
  • Prev Build on main (#20074468373)
  • Next Build on main (#20077181072)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc