Fun with templates
Dicebot
public at dicebot.lv
Sat Jul 6 11:07:07 PDT 2013
On Saturday, 6 July 2013 at 15:38:45 UTC, Artur Skawina wrote:
> Do you think this would be a problem /in practice/?
Yes. Honestly, lot of problems. I can easily imagine template
function that modifies its argument in-place for a mutable
qualifier and allocates a copy for an immutable one. Templates
that introspect their parameter type to format some string.
Different algorithms for processing mutable and immutable
versions of same container.
And it is not just code breakage - you propose some magic instead
of simple well-defined semantics and so far I don't even see the
detailed description how new system should behave. Currently
template body is defined only by its parameter set, your proposal
changes that as far as I understand.
I think more reasonable approach is to define "inout" in template
parameter specialization to mean "I don't care what it is, make
it compiler error to rely on any behavior difference between
them". Don't know what to do about mangling though. Will also
most likely need to prohibit and direct reference to T.
It looks like extremely complex way to solve only one minor part
of general problem (template bloat).
More information about the Digitalmars-d
mailing list