library fidl.test.nullable;

using zx;

struct StructWithNullableString {
    string? val;
};

struct StructWithNullableVector {
    vector<int32>? val;
};

resource struct StructWithNullableHandle {
    zx.handle:VMO? val;
};

protocol SimpleProtocol {
    Add(int32 a, int32 b) -> (int32 sum);
};

resource struct StructWithNullableProtocol {
    SimpleProtocol? val;
};

resource struct StructWithNullableRequest {
    request<SimpleProtocol>? val;
};

struct Int32Wrapper {
    int32 val;
};

struct StructWithNullableStruct {
    Int32Wrapper? val;
};

union SimpleUnion {
    1: int32 a;
    2: float32 b;
};

struct StructWithNullableUnion {
    SimpleUnion? val;
};
