enum Numberz { ONE = 1, TWO, THREE, FIVE = 5, SIX, EIGHT = 8 } typedef i64 UserId struct Xtruct { string string_thing = 0, byte byte_thing = 1, i32 i32_thing = 3, i64 i64_thing = 5 } struct Xtruct2 { byte byte_thing = 0, Xtruct struct_thing = 1, i32 i32_thing = 2 } struct Insanity { map userMap = 0, list xtructs = 1 } service ThriftTest { void testVoid() string testString(string thing = 0) byte testByte(byte thing = 0) i32 testI32(i32 thing = 0) i64 testI64(i64 thing = 0) Xtruct testStruct(Xtruct thing = 0) Xtruct2 testNest(Xtruct2 thing = 0) map testMap(map thing = 0) set testSet(set thing = 0) list testList(list thing = 0) Numberz testEnum(Numberz thing = 0) UserId testTypedef(UserId thing = 0) map> testMapMap(i32 hello = 0) /* So you think you've got this all worked, out eh? */ map> testInsanity(Insanity argument = 0) }