Salut Armin, I checked the code and indeed, it seems like the list field in the Context class _can_ be reassigned. However, it should only happen very soon after the constructor is finished, and the size of the list should not change. To be sure, I'll try to refactor this and make it impossible for the list to be reassigned after the constructor is finished. That would satisfy the requirements right? Is it illegal to reassign the list field at all, or is it just the size of the list that matters? Also, is it possible to have two different list fields in a virtualizable object (provided both are never reassigned after the constructor)? Merci bien at a bientôt, Anton 2014-08-03 14:26 GMT+02:00 Armin Rigo <arigo@tunes.org>:
Hi Anton,
Since this seems to be related to virtualizable objects: during
On 3 August 2014 12:57, Anton Gulenko <anton.gulenko@googlemail.com> wrote: translation
we get 2 warnings that the "fresh_virtualizable" hints are ignored (there are 2 places where virtualizable frame objects are created. Also, we have one virtualizable list[*] field in our Context class, which should never be resized. I applied the make_sure_not_resized hint on it, but maybe I'm using it wrong... I'm just calling make_sure_not_resized once, after setting the list field.
It's not enough to not resize the list: you need to make sure that a given virtualizable object's list attribute is never re-assigned with a list of different size. Is that true?
A bientôt,
Armin.