I thought to call a Glib::Flags as_arrayref directly like myexpression()->as_arrayref inspired by other as_arrayref funcs, and because it seemed a little cleaner than lots of brackets [ {myexpression()}] Alas as_arrayref requires the "overload" three args. I wonder if that could be relaxed per below. The test case is actually a good example of the method looking cleaner than the overload, though no doubt it's a matter of personal preference. I wondered if the "PROTOTYPE:" in the xs was meant to allow this already, except it doesn't. :-) That's something else is it?
Attachment:
flags-arrayref.diff
Description: Text Data
-- "Never bolt your door with a boiled carrot."