Notes |
|
|
It isn't clear to me what the correct thing to do here is.
If we had abstract insts then this sort of code shouldn't be allowed,
but as it is the relationship between abstract types and exported insts is
a bit fuzzy (to say the least).
It may be possible to tweak module qualification to allow this to "work",
but I think a proper fix for it is going to have to wait until the mode
analyser is redone. |
|
|
|
The reason it doesn't work is that the body of the abstract type
is not included in the interface files. The importing module,
rdfDiffStore, therefore cannot qualify the inst properly.
Note, that this example will work with --intermodule-optimization enabled
(because the bodies of the abstract types are included in the optimization
interfaces.) |
|
|
(0000111)
|
wangp
|
2008-08-05 13:18
|
|
The same problem has struck again. What to do to prevent this? Issue an error for abstract types with exported insts? Even if we might support it in the future, it's not supported *now*. |
|
|
|
If it is causing problems then issuing some sort of warning would be a good idea.
I'm not sure how easy that would be to implement though. |
|
|
(0000125)
|
wangp
|
2008-08-08 15:14
|
|
Added a warning about it, although it won't necessarily be issued in
time to stop confusing the user (the warning code isn't run when making
.int files). |
|
|
(0000146)
|
wangp
|
2008-09-03 16:11
|
|
|