-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split icrate
into multiple crates
#537
Comments
icrate
I've requested an increase in the interim, though we should still solve this in a better way! |
|
We could of course just go back to having one |
Regarding splitting I think the coherence-problem is solvable, by properly introducing categories (in Swift, these are called "extensions"). In most cases, we will just emit categories as implementations directly on the type, as we're doing now. But if we encounter a category that is implemented on a type outside of the current library/framework, then we will emit a trait, and implement the trait for the type. This is a bit ugly, but we have to support categories if we want to support external crates anyhow. Another problem is code-organization, as I'd still like to keep the generated files outside the main repository. Do we just use symlinks? I recall these being troublesome on Windows, will have to check how bad it is, but honestly, not a big issue if it's a bit more difficult for Windows users to clone the repository. The crates themselves won't have any symlinks, pretty sure Cargo prevents that, but will also have to verify that. |
Yeah, symlinks are a bit of trouble on Windows, but it's solvable. Cargo does copy files when running |
icrate
icrate
into multiple crates
Other problems:
|
We're currently hitting
crates.io
's limit of 300 features, we should do something about that.Maybe split the crate into multiple, e.g.
icrate-appkit
,icrate-foundation
? Would also decrease the download size. Difficult because of coherence though.The text was updated successfully, but these errors were encountered: