Steven Schveighoffer wrote:
"Andrei Alexandrescu" wrote
Steven Schveighoffer wrote:
Would it make sense to have shortcuts to Rebindable that automatically
apply const or invariant? something like:
template tconst(T)
{
alias Rebindable!(const(T)) tconst;
}
Using whatever you think is best for a symbol name. Just something a
little shorter.
Better yet (or in addition to), we could make it a function so argument
deduction takes care of everything.
Rebindable!(const T) tailconst(const T r);
Rebindable!(immutable T) tailimmutable(const T r);
auto w = new Widget;
auto w1 = tailconst(w);
w1 = tailconst(new Widget);
These could be useful. Also, another reason for having a rebindable type is
that you don't have to initialize it upon declaration, so having a shorter
type for declaration would still be beneficial.
Good argument. Now, finding the right names is the eternal challenge.
TailConst!(T), TailImmutable!(T)? Other, perhaps shorter, ideas?
Andrei