- (pass-if "guarded element of weak vector gets removed from weak vector"
- ;; How should this be handled? Should weak objects be removed from
- ;; their containers before they become zombies? Let's take a look at
- ;; the possible scenarios: a) Weak objects that are also guarded are
- ;; not removed from their containers as long as they are guarded.
- ;; However, they still can become zombies. The consequence is, that the
- ;; object can be retrieved from its container, thus being alive, while
- ;; on the other hand it can at the same time be retrieved from a
- ;; guardian. This is unfortunate, since when retrieving an object from
- ;; a guardian one would not expect any other reference to the object.
- ;; b) Weak objects are removed from their containers if they are not
- ;; referenced any more or if the only references are from guardians.
- ;; That means that it is guaranteed that there are no other references
- ;; to an object that is retrieved from a guardian. However, this means
- ;; that there is no chance to update containers like weak hash tables
- ;; using the information that one of their contained objects will be
- ;; removed. It may be however, that this is not necessary anyway.