// WARNING: This file is machine generated by fidlgen.

#![feature(futures_api, pin, arbitrary_self_types, nll)]
#![allow(warnings)]

extern crate fuchsia_async;
extern crate fuchsia_zircon as zx;
#[macro_use]
extern crate fidl;
#[macro_use]
extern crate futures;
use fidl::encoding::{Encodable, Decodable};
use futures::{Future, Stream, StreamExt};
use std::ops::Deref;


fidl_union! {
  name: Union,
  members: [
    Primitive {
      ty: i32,
      offset: 8,
    },
    StringNeedsConstructor {
      ty: String,
      offset: 8,
    },
    VectorStringAlsoNeedsConstructor {
      ty: Vec<String>,
      offset: 8,
    },
  ],
  size: 24,
  align: 8,
}
