Javier Chávarri
2c1f1c1605
Migrate derivative to educe (#8125)
Fixes #7001.
Mostly mechanical replacement of `derivative` attributes with `educe` ones.
### **Attribute Syntax Changes**
```rust
// Bounds: = "..." → (...)
#[derivative(Hash(bound = "E: EthSpec"))]
#[educe(Hash(bound(E: EthSpec)))]
// Ignore: = "ignore" → (ignore)
#[derivative(PartialEq = "ignore")]
#[educe(PartialEq(ignore))]
// Default values: value = "..." → expression = ...
#[derivative(Default(value = "ForkName::Base"))]
#[educe(Default(expression = ForkName::Base))]
// Methods: format_with/compare_with = "..." → method(...)
#[derivative(Debug(format_with = "fmt_peer_set_as_len"))]
#[educe(Debug(method(fmt_peer_set_as_len)))]
// Empty bounds: removed entirely, educe can infer appropriate bounds
#[derivative(Default(bound = ""))]
#[educe(Default)]
// Transparent debug: manual implementation (educe doesn't support it)
#[derivative(Debug = "transparent")]
// Replaced with manual Debug impl that delegates to inner field
```
**Note**: Some bounds use strings (`bound("E: EthSpec")`) for superstruct compatibility (`expected ','` errors).
Co-Authored-By: Javier Chávarri <javier.chavarri@gmail.com>
Co-Authored-By: Mac L <mjladson@pm.me>
2025-11-06 14:13:57 +00:00
..
2025-11-06 14:13:57 +00:00
2025-11-04 02:40:44 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-08-12 05:16:19 +00:00
2025-07-23 16:55:02 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-08-12 05:16:19 +00:00
2025-11-06 14:13:57 +00:00
2025-07-23 16:55:02 +00:00
2025-10-09 05:01:30 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-07-23 16:55:02 +00:00
2025-08-26 02:49:48 +00:00
2025-11-06 14:13:57 +00:00
2025-08-12 05:16:19 +00:00
2025-08-26 02:49:48 +00:00
2025-08-13 03:04:31 +00:00
2025-10-16 16:10:42 +00:00
2025-08-20 02:05:04 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-09-26 14:44:50 +00:00
2025-08-13 03:04:31 +00:00
2025-10-28 04:01:09 +00:00
2025-11-06 14:13:57 +00:00
2025-08-13 03:04:31 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-08-13 03:04:31 +00:00
2025-08-12 05:16:19 +00:00
2025-10-28 01:20:43 +00:00
2025-08-12 05:16:19 +00:00
2025-08-13 03:04:31 +00:00
2025-07-23 16:55:02 +00:00
2025-10-28 05:49:47 +00:00
2025-11-06 14:13:57 +00:00
2025-08-26 02:49:48 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-08-13 03:04:31 +00:00
2025-11-06 14:13:57 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00
2025-10-01 09:29:15 +00:00
2024-09-02 08:03:24 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00
2025-09-10 04:59:22 +00:00
2025-11-06 14:13:57 +00:00
2025-09-03 03:50:41 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-11-06 14:13:57 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-07-23 16:55:02 +00:00
2025-03-12 22:31:05 +00:00
2025-10-22 03:51:34 +00:00
2025-08-13 03:04:31 +00:00
2025-08-13 03:04:31 +00:00
2025-11-06 14:13:57 +00:00
2025-07-23 16:55:02 +00:00
2025-08-13 03:04:31 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00
2025-09-03 03:50:41 +00:00
2025-08-13 03:04:31 +00:00
2025-03-06 03:21:10 +00:00
2025-08-13 03:04:31 +00:00
2025-08-13 03:04:31 +00:00
2024-09-02 08:03:24 +00:00
2025-07-23 16:55:02 +00:00
2025-07-23 16:55:02 +00:00