Decision Workspace
vptr vs thin_trait_object vs viable
Side-by-side comparison of Rust crates
44
vptr
growingv0.2.2
Thin references to trait objects by embedding the virtual table pointer in the struct
50
thin_trait_object
growingv1.1.2
One pointer wide trait objects which are also FFI safe, allowing traits to be passed to/from and implemented by C ABI code
42
viable
growingv0.2.0
Interop with C++ MSVC VTables through Rust! If this hasn't been used for a while, you can message me for the name.
Core Metrics
| vptr | thin_trait_object | viable | |
|---|---|---|---|
| Health Score | 44 | 50 | 42 |
| Total Downloads | 5.7K | 9.4K | 10.8K |
| 30d Downloads | 8 | 140 | 50 |
| Dependents | 0 | 4 | 3 |
| Releases | 4 | 5 | 7 |
| Last Updated | 579d ago | 1809d ago | 1491d ago |
| Age | 6y 9m | 5y 1m | 4y 1m |
Health Breakdown
vptr
Maintenance
3
Quality
17
Community
5
Popularity
4
Documentation
15
thin_trait_object
Maintenance
4
Quality
21
Community
8
Popularity
5
Documentation
12
viable
Maintenance
4
Quality
15
Community
8
Popularity
5
Documentation
10
Technical Details
| vptr | thin_trait_object | viable | |
|---|---|---|---|
| Version | 0.2.2 | 1.1.2 | 0.2.0 |
| Stable (≥1.0) | ✗ No | ✓ Yes | ✗ No |
| License | MIT | MIT OR Apache-2.0 | MIT |
| Dependencies | 1 | 5 | 1 |
| Crate Size | 8KB | 24KB | 1KB |
| Features | 2 | 2 | 0 |
| Yanked % | 0.0% | 0.0% | 0.0% |
| Edition | 2021 | 2018 | 2021 |
| MSRV | 1.77 | — | — |
| Owners | 1 | 1 | 1 |
Links
Quick Verdict
- •thin_trait_object leads with a health score of 50/100, but none of the options score above 80.
- •viable has the most downloads (10.8K), suggesting wider adoption.
- •⚠ vptr, thin_trait_object, viable have not been updated in over a year.
- •vptr, viable are pre-1.0 — API may change.