Rémi Bernon (@rbernon) commented about tools/widl/parser.y:
| contract_req { $$ = $1; } /* activatable on the default activation factory */ ;
-access_attr - : tPUBLIC { $$ = attr_int( @$, ATTR_PUBLIC, 0 ); } - | tPROTECTED { $$ = attr_int( @$, ATTR_PROTECTED, 0 ); } +composable_access + : tPUBLIC { $$ = COMPOSABLE_ACCESS_PUBLIC; } + | tPROTECTED { $$ = COMPOSABLE_ACCESS_PROTECTED; } The public/protected attributes already exist, I don't think it is right to duplicate it just for the composable attribute. If `make_exprt` discards attributes, it's probably better to just fix things there instead.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8507#note_108821