dafny-lang / dafny

Dafny is a verification-aware programming language
https://dafny.org
Other
2.88k stars 256 forks source link

Feature request: allowing consumers to customize opaqueness, intrinsic specifications, etc. #4697

Open robin-aws opened 11 months ago

robin-aws commented 11 months ago

(underspecified, just cutting this to elaborate on later)

From #4678:


Brittleness of code using the standard libraries: This one is tougher. There is tension between two different use cases:

For now, these libraries are more focused on the first use case, but should plan for a smooth migration process to support the second better in the future.


This issue is a placeholder for the need for features to support this migration better. Possibly options to allow consumers to make a transparent function opaque, to selectively hide intrinsic post-conditions, and so on.

keyboardDrummer commented 4 months ago

I think step one is to make "AutoRevealDependencies" the default option for "--default-function-opacity". There's currently a bug that prevents doing this: https://github.com/dafny-lang/dafny/issues/5272