S.opAssign might trigger analysis user code in dtor,postblit or field copy operation and these might cause any kind of recursion. But AFAICT most of these are not analyzed by buildOpAssign, only if auto return type is involved (I'm not sure if "auto" is allowed for opAssign for fields). But that is unrelated enough to this patch...