On 2/26/20 4:57 AM, Walter Bright wrote:
On 2/25/2020 9:44 AM, H. S. Teoh wrote:
On Mon, Feb 24, 2020 at 10:54:34PM -0800, Walter Bright via
Digitalmars-d-announce wrote:
[...]
Writing that an implementation must refer to specific templates
implies that the behavior is customizable by the user via modifying
those templates.
I think this is where the misunderstanding is. The proposed template is
defined by druntime, and is NOT customizable by the user.
Requiring the compiler to use a specific template that is not specified
by the user has no place in a language specification (and therefore no
place in a proposed language change).
We can do it without specifying that it's a template or the name of that
template.
But this statement still belies your misunderstanding. D is full of
compiler-defined types that are implemented via templates in the library
"not specified by the user".
The specification does NOT specify how it should be implemented.
No but logic does. It will have to be implemented this way, but we can
certainly word the spec to "leave it up to the compiler/runtime
implementation" to satisfy the requirements.
-Steve