Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ahead of #63.
This PR splits the 17 modules into separate small crates like @ngtkana's ac-adapter-rs.
It aims to make development of "bundlers" that works with ac-library-rs like this easier.
https://judge.yosupo.jp/submission/28576
Benefits
bin
→lib
(→lib
) dependencies by using cargo-udeps. We don't even need to parse source code of thebin
by ourselves to find "dependencies".Drawbacks
With this plan, we would write "extern crate" usages as follwing. "Bundlers" would have to process this format. Also I'm not sure it is the best way to expand multiple crates.
↓ some tool (including
expand.py
)This kind of crate is very incompatible with @kuretchi's cargo-simple-bundler. If we seriously follow the plan, we force cargo-simple-bundler to do:
lib_a::foo
→lib_b
(orlib_b::bar
) dependencies.lib
crates.We would have to
publish
18 crates.This change may interfere with manual copy-and-paste.
expand.py
. It would continue working, and it is easier to use than copy-and-pasting by hand.