> 
> You did not fix everything that was fixed in Squeak.
> Example:
> 
>     rect1 := 10@10 corner: 40@40.
>     empty2 := 30@30 corner: 20@20.
>     (rect1 intersects: empty2) - > true

I think that we should not use intersect: anymore because it does not make 
sense. 

> What I see is that you provided intersect:ifNone: to avoid producing empty 
> rectangle in the first place - or to produce explicitely empty 0@0 extent: 
> 0@0.
> 
> But
> - not all intersect: senders have been changed,
Indeed we should probably continue

> - some senders have been changed questionably (allowedArea in 
> IdentifierChooserMorph is re-implementing RealEstateAgent class 
> maximumUsableArea differently)
> - I don't know if intersect: was the sole source of empty rectangles…

No around 160 layoutFrame and others

> Until all producers have been eradicated, the empty invariant still exists, 
> and Rectangle methods must still be guarded against empty rectangle edge 
> cases.
> Right now, it is not enforced everywhere (see intersects: case above).
> 
> Right now you're in the middle of the bridge, but that's OK if the emptiness 
> invariant eradication is still planned, it's just a temporary transition..

If I remember correctly the goal is to never have never width.

Reply via email to