##// END OF EJS Templates
interfaces: convert `imanifestrevisionstored` to a Protocol class...
interfaces: convert `imanifestrevisionstored` to a Protocol class This is similar to 1df97507c6b8 for `ipeer`, because the Protocol nature needs to be explicit on each class, as it isn't inherited. While we're here, make the methods abstract. There's some background info on this in f5d134e57f51 and fd200f5bcaea, but in short, the plan is to explicitly subclass this instead of relying on structured typing, and explicit inheritence will see this as a method implementation that returns None at runtime (regardless of how it is typed), instead of a mandatory function for the subclass to supply. The `Protocol` class has `abc.ABCMeta` as the metaclass, so there's nothing more to do with the inheritence list.
Matt Harbison -
r53372:cdd4bc69 default
Show More