Jérôme M. Berger wrote:
> And what about this one:
>
> void func(T) (T range) {
> foreach (elem; range)
> assert (is (typeof (elem) == ElementType!(T)));
> }
>
> func ("azerty");
> auto a = [ 1, 2, 3, 4, 5];
> func (a);
You can specialize the template for strings:
void func(T:string)(T range) { ... }