Fix Issue 11108 - `hasElaborateAssign` should check whether the type is assignable

Issue URL: http://d.puremagic.com/issues/show_bug.cgi?id=11108

Requires pull #1597 for type assignability check.