Implementation variants: rehashing and refocusing

I think Cargo features are a great analog to consider. Yes, I could foresee unifying the treatment there. I suspect that any such unification would require a reworking of the core metadata spec since we would need to make Provides-Extra a subfield of some other Feature (placeholder name) field. At the implementation level I don’t think introducing a compatibility layer to support both the old and new metadata for extras would be terribly difficult (famous last words), but it would definitely be a prerequisite for moving forward there.

Naively I wouldn’t expect this particular piece (the changes to extras) to impact the wheel spec materially in a way that would require changes in concert with How to reinvent the wheel, but that may be moot since the other changes required to support variants might lump this change into that category anyway, in which case we might be more willing to consider breaking changes if it helps.

1 Like