Open xtrm0 opened 2 years ago
The following doesn't error either:
module M0 {}
module Imports {
import opened M0
export All provides M0
export reveals *
}
module MA refines Imports {
export All ... provides AAA
export extends All
predicate AAA() { true }
}
module MB refines Imports {
export extends All
predicate AAA() { false }
}
But I'm not sure what are the specifications of exporting, providing, extending and importing. Can someone please help @xtrm0 with this?
In dafny3.3. I would expect module MB to just export M0, but it seems that the export set 'All' is being shared between MA and MB. I was trying to have
Imports
as a baseclass with a lot of import opened and then using it on child classes to not have to duplicate the imports, but it doesn't work.Is this a bug, and is there another way to avoid duplicating the imports?
Output:
This doesn't error:
Output:
Neither does this:
Output: