-
Notifications
You must be signed in to change notification settings - Fork 17
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
Expose charon as a rust library #178
Comments
#284 does most of that. |
Did you have plans/thoughts on how Charon can be restructured so that the library can be included without including the toolchain-dependent crates in the dependencies (e.g. Currently, including the Charon library as a dependency brings in the dependencies used in the binaries as well. Unfortunately, cargo doesn't allow specifying binary-specific dependencies easily: The workarounds from what I understand are:
|
Oh yeah, I was thinking we'd add a feature flag. Either is fine probably. |
Alright, this should now work on many nightly compilers: [dependencies]
charon = { git = "https://github.com/AeneasVerif/charon", default-features = false } |
The most interesting modules are I believe the current state is good enough to close this issue, lmk if not. |
Awesome, thanks @Nadrieril! |
Looks like a hax dependency got added to the library recently: charon/charon/src/ast/types.rs Line 5 in 39c9404
This was introduced in 316a376 Is there a way around it? I'm happy to contribute if you can provide some guidance. FYI, I opened a PR in Kani that is the first step in adding an LLBC/Aeneas backend: model-checking/kani#3514. Thanks for making this possible! |
Oops, my mistake. I don't know an easy way to ask rust to enforce binary-only dependencies. Give me just a minute to fix that. |
Fixed in #360 |
Thanks for the quick fix! |
We'd like other rust users to be able to use Charon code. This may involve:
rustc
optional behind a feature flag.The text was updated successfully, but these errors were encountered: