struct key_ann_valid_struct
{
    @key long first;
    @key(value = FALSE) string second;
    @key(FALSE) float third;
};

// TODO: Uncomment when annotating descriptors of unions' discriminators is supported
// union key_ann_valid_union switch(@key long)
// {
//   case 0:
//     long first;
//   default:
//     string second;
// };

struct key_ann_invalid_value_type
{
    @key("invalid") long invalid_member;
};

struct key_ann_extra_parameter
{
    @key(value = TRUE, value2 = "extra") long invalid_member;
};

@key struct key_ann_on_struct
{
    long first;
};
