This is an archive of the discontinued Mercurial Phabricator instance.

rust: replace most "operation" structs with functions
ClosedPublic

Authored by SimonSapin on Dec 14 2020, 11:27 AM.

Details

Summary

The hg-core crate has a partially-formed concept of "operation",
represented as structs with constructors and a run method.

Each struct’s contructor takes different parameters,
and each run has a different return type.
Constructors typically don’t do much more than store parameters
for run to access them.

There was a comment about adding an Operation trait
when the language supports expressing something so general,
but it’s hard to imagine how operations with such different APIs
could be used in a generic context.

This commit starts removing the concept of "operation",
since those are pretty much just functions.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.