fill() is not atomic
When fill
fails, because max_sites
is reached or because the shape function raises an exception (this happens in attach_lead()
when the scattering region does not interrupt the central builder), the graph of the target builder is in an inconsistent state and is currently erased.
fill
should be atomic: either it suceeds, or it leaves self
untouched.