gracelang / minigrace

Self-hosting compiler for the Grace programming language
39 stars 22 forks source link

Can't inherit from sub-component of external module #270

Open apblack opened 5 years ago

apblack commented 5 years ago

See the test in file js/tests/known-failing/t182_inheritsExternal.grace

The class stringSet attempt to inherit from fd.dictionary.empty, where fd is a nickname of the external module fastDict. The gct for _fastDictsays thatdictionaryis a fresh method, and that it has an attributeempty, but not thatdictionary.empty` is fresh, or what attributes it has.

Hence, minigrace is unable to resolve implicit requests to at(_)put(_), etc, inherited from fd.dictionary.empty. They have to be turned into explicit self requests to allow th test to compile.

Fixing this issue will require more information in the gct, or a better way of doing inter-module name resolution.