On Sunday, 2 August 2015 at 08:08:05 UTC, tcak wrote:
[code] void func1(N)( const N name ) if( is(N: string) || is(N: char[]) ) { func2( name ); }[...]
This seems like the reasonable behavior to me. Perhaps you should use Unqual?
http://dlang.org/phobos/std_traits.html#Unqual