Open sgrekhov opened 2 months ago
Oh, I have to say that I had that problem many times!
If you say 'extension types' then there's no doubt, but if you say 'extensions' then it's never obvious whether you'd also need to say '(that is, extension
declarations, not extension type
declarations)'.
The language specification uses 'extensions'. The feature specification (which is not normative at this time, it's kept around in order to document the background and history of this feature) uses 'static extension methods'. We have an ongoing discussion about adding a new feature that might get the syntax static extension ...
. Of course, all kinds of extensions have methods, they are all resolved statically, and (for good measure) they all support static
method declarations. :grinning:
It would be nice if we could decide on a specific phrase to denote this particular feature (provided by extension
declarations), but I'm afraid we don't have a good phrase to standardize on today.
As an aside, it isn't the library which is deferred, it's the import, so the error message should probably say something like 'Deferred library imports' rather than 'Imports of deferred libraries'.
Perhaps this could work?: "Deferred library imports must hide all extension
declarations. ..."
According to extension methods specification
If this error occurs analyzer produces the following error message
The sentence "...must hide all extensions..." was fine before introducing of extension types. Now it sounds as if extension types also should be hidden but it isn't so. Please change the message to "...must hide all extension methods..." or similar.