Skip to content
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

refactor: feature gate all implementations with full #713

Closed
wants to merge 6 commits into from

Conversation

W95Psp
Copy link
Collaborator

@W95Psp W95Psp commented Jun 12, 2024

This PR adds a (default) feature full for the
hax-frontend-exporter crate. With this feature disabled, the crate turns into a mostly type-only crate. The crate depends on rustc and drive sinto only with full enabled.

This PR also simplifies some the structure of the workspace:

  • remove the path trick introduced by feat: isolate DefId: faster build times #703 in favor of a dependency to hax-frontend-exporter where feature full is off
  • remove the crate hax-frontend-exporter-options, now it's possible to inline it in hax-frontend-exporter

This PR is particularly useful for #714

@W95Psp W95Psp force-pushed the frontend-add-full-feature branch from f8dcefe to 58646a3 Compare June 12, 2024 06:44
@W95Psp W95Psp marked this pull request as draft June 12, 2024 08:34
@W95Psp W95Psp force-pushed the frontend-add-full-feature branch 5 times, most recently from 10cb7bb to d623ea1 Compare June 12, 2024 12:20
@W95Psp W95Psp marked this pull request as ready for review June 12, 2024 12:20
@W95Psp W95Psp force-pushed the frontend-add-full-feature branch from d623ea1 to bdfd2a2 Compare June 12, 2024 12:21
W95Psp added a commit to AeneasVerif/charon that referenced this pull request Jun 12, 2024
This dependency is useless, and is blocking for
hacspec/hax#713, which removes the crate
`hax-frontend-exporter-options`. This commit thus just drops that
dependency and cleans up the commented similar dependencies below.
W95Psp added a commit to AeneasVerif/charon that referenced this pull request Jun 12, 2024
This dependency is useless, and is blocking for
hacspec/hax#713, which removes the crate
`hax-frontend-exporter-options`. This commit thus just drops that
dependency and cleans up the commented similar dependencies below.
This PR adds a (default) feature `full` for the
`hax-frontend-exporter` crate. With this feature disabled, the crate
turns into a mostly type-only crate. The crate depends on rustc and
drive `sinto` only with `full` enabled.
… w/o `full`

This get rids of the `#[path]` introduced
#703 by using the disabling the new
`full` feature of `hax-frontend-exporter`.
@W95Psp W95Psp force-pushed the frontend-add-full-feature branch from bdfd2a2 to 2493d27 Compare June 13, 2024 14:07

[features]
default = ["full"]
full = ["dep:tracing", "dep:itertools", "dep:extension-traits", "dep:lazy_static"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What exactly is this feature? Full isn't a great name. Something a little more descriptive would be nice. Adding some comments here to describe what it enables would be good too.

@franziskuskiefer franziskuskiefer added the waiting-on-author Status: This is awaiting some action from the author. label Jun 21, 2024
@W95Psp
Copy link
Collaborator Author

W95Psp commented Jul 2, 2024

Will be subsumed by #743

@W95Psp W95Psp closed this Jul 2, 2024
@W95Psp W95Psp mentioned this pull request Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
waiting-on-author Status: This is awaiting some action from the author.
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants