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

Don't generate code that can access Dafny runtime internals #440

Open
robin-aws opened this issue Nov 25, 2019 · 0 comments
Open

Don't generate code that can access Dafny runtime internals #440

robin-aws opened this issue Nov 25, 2019 · 0 comments
Labels
area: ffi The {:extern} attribute and otherwise interfacing with code in other languages kind: enhancement Enhancements, feature requests, etc. These are NOT bugs, but ways we can improve Dafny

Comments

@robin-aws
Copy link
Member

It is currently possible when compiling to .NET to reference symbols that are intended to be internal to the runtime, such as Dafny.ArraySequence. I believe this is because the generated code is placed in the same namespace as the runtime, at least when embedding the runtime source into the generated *.cs file. Or perhaps it is because the code is all in the same compilation unit (i.e. file) - I admit I am relatively new to .NET so I'm not 100% sure.

In any case, it must be possible to hide details of the runtime from user code, even if marked with {:extern}, and the particulars of how the code is generated should not affect the access control.

@robin-aws robin-aws added area: ffi The {:extern} attribute and otherwise interfacing with code in other languages kind: enhancement Enhancements, feature requests, etc. These are NOT bugs, but ways we can improve Dafny labels Jun 23, 2020
@acioc acioc added this to the Dafny 3.0 milestone Aug 12, 2020
@robin-aws robin-aws modified the milestones: Dafny 3.0, Post 3.0 Dec 2, 2020
@robin-aws robin-aws removed this from the Post 3.1 milestone Sep 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: ffi The {:extern} attribute and otherwise interfacing with code in other languages kind: enhancement Enhancements, feature requests, etc. These are NOT bugs, but ways we can improve Dafny
Projects
None yet
Development

No branches or pull requests

2 participants