On Sunday, 19 January 2014 at 15:03:13 UTC, monarch_dodra wrote:

So, my conclusion, "*" might be a workable solution. But simply taking by ref would be cleaner, and make more sense as a whole.

Or a special template constraint path for T*.

foo(T)(T t) if (is(T = Q*)) && manyOtherChecks!(Q)
foo(T)(T t) if (!is(T = Q*)) && manyOtherChecks!(T)

Maybe that will break less code.

Reply via email to