- imported crate name collisions bypass implemented
## [why]
There may be some core or external crates required/used by this project that collide with
uutil names. For example, the `test` util collides with the rust core crate 'test' which
is used behind the scenes for testing. Without the renaming scheme used here, cryptic and
fatal compiler errors occur when compiling the integration tests.
## [why]
'textwrap' is currently unstable, with "term_size" being an undocumented, but required,
feature. The feature name has already changed within the repository 'master' branch.
But that branch has never been pushed to a new version.
Pin for now with "!maint" mark and comment.
- final multi-binary will now function correctly with any binary/executable name
- multi-binary container acts as the specified util IF EITHER ...
1. the binary/executable name exactly matches the name of an applet/util
2. the binary/exectuable name matches <PREFIX><UTIL_NAME> pattern
* where the PREFIX is any string ending in a non-alphanumeric character
.## [why]
Reorganizing and minor renaming of features within *Cargo.toml* will hopefully
help to place new utilities into the best feature set, encouraging the
"universal" / cross-platform aspect of the project.
"feat_require_..." sets are used to segregate utilities with restrictions limiting
cross-platform availability and are annotated with the reasons for the limitations.
- hotfix transitive bug in 'failure' forcing MinSRV increase to rust v1.33.0 by pinning 'backtrace' to <= 0.3.31
.# [why]
'failure' was using 'backtrace' `version = "0.3.3"`, which by semantic version
auto-upgrade was pulling in 'backtrace' > v0.3.30 (specifically, v0.3.40 most
recently). 'backtrace' v0.3.31 introduces use of `#[cfg(target_vendor = ...)]`
which requires rust v1.33.0. So, 'backtrace' is forcing an upgrade of MinSRV
to rust v1.33.0 with the change from backtrace v0.3.30 to backtrace v0.3.31.
Technically, by being less than v1.0.0, 'backtrace' has no semantic version
requirement. And there is debate about whether increasing MinSRV is a semantic
change. But, in my strong opinion, breaking our MinSRV statement is definitely
a semantic change.
* ref: <https://github.com/rust-lang/rust/blob/master/RELEASES.md>