-
Notifications
You must be signed in to change notification settings - Fork 254
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
Feature request: ignore {:extern} method in trait #2212
Comments
Another work around is to give
|
After looking at this with @RustanLeino and @fabiomadge , we came up with the following proposal: Current rule: *When a class is checked to make sure that it overrides the definitions of each trait that it extends, it has to override any definition in the trait that does not have a body. New rule: When a class is checked to make sure that it overrides the definitions (functions or methods) of each trait that it extends, it has to override any definition in the trait that
In other words, definitions with With these rules, if a trait has a bodyless definition without an Note that @txiang61 , could you check whether this proposal would fulfill your use case? Thanks! |
Currently Dafny forces class
C
to implement trait methodT.m
, even though we specified it as implemented externally.One work around is adding
method {:extern} m() returns (res: int)
to classC
as well, but it's a pain if we have massive classes and need to do this over and over.The text was updated successfully, but these errors were encountered: