On Sunday, August 25, 2019 11:59:08 PM MDT berni via Digitalmars-d-learn wrote: > Out of curiosity: Browsing the source of stdio.d I found that > flush() is implemented by calling fflush from some C++ library. > What I don't understand: Why is the call to fflush preceded by a > dot?
The dot makes it so that it's specifically referencing a module-level symbol (be it in that module or an imported module) instead of a local or member symbol. https://dlang.org/spec/module.html#module_scope_operators In this particular case, it doesn't look like the dot is necessary, because File doesn't have an fflush member, but there are a number of cases where it has a member that's the same as a C function that it wraps, in which case the dot would be necessary to reference the C function instead of the member function. So, it wouldn't surprise me if whoever wrote that code was just putting a dot in front of C function calls in general. - Jonathan M Davis