-
Notifications
You must be signed in to change notification settings - Fork 22
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
feat(engine/fstar): --interfaces
: add option to extract only fsti
#470
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I can't get both anymore? That's a little weird.
Now I have to explicitly add all the modules I want to have interfaces for. Can't we make this a little nicer?
I re-read the explanations on the I now wrote that:
Is that the behavior you would expect? edit: Oh and I just edited the title, which was very misleading as well... |
--interfaces
: extract only fsti
--interfaces
: add option to extract only fsti
5c76f21
to
c9e96b1
Compare
c9e96b1
to
ba58bec
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, lets get this in. It works.
We may want to improve on this later. Right now we have to add +!
twice (for -i
and --interfaces
), to get only an interfaces, which is a little unintuitive. If the -i
flag is only about what to include, a +
should be enough.
You mean that if you want only the interface for Foo (without impl), then you don't want to extract dependencies of Foo's items, right? So maybe we should have, for
But then, we need to have a representation for items without bodies, define what that means for types, for traits, etc. And also we need to define what it means in the various backend, to have empty bodies, which is not easy. |
I introduced a bug in #470: a negative `-i` clause would drop not only the matching items but any items they rely on! This resulted in an extremely confusing behavior...
Fixes #397 and fixes #465