If you're assigning an index from another object, it would previously be caught in this part: `elif isinstance(value, Series) or _is_sequence(value)` where it would either be converted to `asobject` if it were PeriodIndex, or just copied if it's any other kind of Index. Then, as with any ndarray, Series, NDFrame or sequence passed to it, it would be passed through the broadcasting part.

The only reindexing op that would occur is if it were Series or DataFrame.

All I did here was separate the part that assumes ndarray from the part that assumes Index, for clarity.