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-08-13 03:04:31 +00:00
2025-11-04 02:40:44 +00:00
2025-10-28 04:01:09 +00:00
2025-10-22 05:23:17 +00:00
2025-01-30 07:01:34 +00:00
2025-08-13 03:04:31 +00:00
2025-03-12 22:31:05 +00:00
2025-11-03 09:28:48 +11:00
2025-08-13 03:04:31 +00:00
2025-08-13 03:04:31 +00:00
2025-09-25 03:52:27 +00:00
2025-11-05 02:08:46 +00:00
2025-11-06 14:13:57 +00:00
2025-11-03 08:06:03 +00:00
2024-04-24 01:22:36 +00:00
2025-03-05 01:53:00 +00:00
2025-11-06 14:13:57 +00:00
2025-08-13 03:04:31 +00:00
2025-02-24 02:36:13 +00:00
2025-11-06 14:13:57 +00:00
2025-11-06 14:13:57 +00:00
2025-10-23 02:56:09 +00:00
2025-10-08 06:09:12 +00:00
2025-10-22 05:23:17 +00:00
2025-11-03 08:06:06 +00:00
2025-10-27 11:23:45 +00:00
2025-11-06 14:13:57 +00:00
2025-04-08 07:37:16 +00:00
2025-10-28 04:01:09 +00:00
2025-08-13 03:04:31 +00:00
2025-09-10 03:30:51 +00:00
2023-01-27 09:48:42 +00:00
2025-08-18 06:03:28 +00:00
2025-08-13 03:04:31 +00:00
2025-10-13 20:32:13 +11:00
2025-11-03 08:06:06 +00:00
2025-11-04 02:40:44 +00:00
2025-10-22 05:23:17 +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-05 06:19:35 +00:00
2025-08-13 03:04:31 +00:00
2025-08-13 03:04:31 +00:00
2025-08-13 03:04:31 +00:00
2025-08-13 03:04:31 +00:00
2023-12-18 12:15:12 -05:00
2025-08-20 02:05:04 +00:00
2025-11-06 14:13:57 +00:00
2024-01-08 10:30:57 -05:00
2025-03-12 22:31:05 +00:00
2025-04-07 04:23:52 +00:00
2025-10-22 05:23:17 +00:00
2025-08-18 06:03:28 +00:00
2025-08-13 03:04:31 +00:00
2025-03-12 22:31:05 +00:00
2025-08-18 06:03:28 +00:00
2025-08-13 03:04:31 +00:00
2025-06-17 09:01:26 +00:00
2025-10-20 03:14:14 +00:00
2025-08-18 06:03:28 +00:00
2025-03-14 16:44:48 +00:00
2025-11-06 14:13:57 +00:00
2025-11-04 02:40:44 +00:00
2025-11-05 06:19:35 +00:00
2025-03-12 22:31:05 +00:00