gracelang / minigrace

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

required methods not recognized when used #269

Closed apblack closed 6 years ago

apblack commented 6 years ago

In module collectionsPrelude, trait collection has a required method do. However, implicit requests of do are not disambiguated as being self-requests.

The disambiguation fails both in trait collection itself, and in the traits that use do.

apblack commented 6 years ago

This was a bogus issue; the required method should have been do(_), not do!

This highlighted the important of making suggestions when an implicit request cannot be disambiguated. Commit 352a5892a makes such suggestions.

kjx commented 6 years ago

should have been do(_), not do!

or the perils of any overriding, even on arity.

much as I hate it, do/0 vs do/1 (or do(0) vs do(1)) is more explicit...