Don't generate code that can access Dafny runtime internals #440
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
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.
The text was updated successfully, but these errors were encountered: