If target and source are the same, don't perform assignment