Problem with UFCS

Jonathan M Davis jmdavisProg at gmx.com
Tue Oct 16 10:03:15 PDT 2012


On Tuesday, October 16, 2012 18:28:14 Adam D. Ruppe wrote:
> On Tuesday, 16 October 2012 at 16:12:06 UTC, Michael wrote:
> > void main() {
> > 
> > import std.range, std.stdio;
> 
> The problem is that UFCS only works on functions in the global
> scope. The import inside a function makes them local, so it
> doesn't consider them in it.
> 
> This is apparently by design; Walter said that just a couple
> weeks ago, though I don't have the link right now and don't
> remember what he said the reason was.
> 
> But if you move those imports outside the function the rest of
> your code will work.

That seems like it goes against the whole "turtles all the way down" principle 
that made it so that local imports were added in the first place. I wonder what 
the reasoning was.

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list