// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Code generated by tools/fidl/gidl-conformance-suite/regen.sh; DO NOT EDIT.

// +build fuchsia

//
package fidl_test

import (
	"reflect"
	"testing"

	"syscall/zx/fidl"
	"syscall/zx/fidl/conformance"
)

func TestAllEncodeSuccessCases(t *testing.T) {

	{
		v1 := conformance.ThreeByteInStruct{}
		v2 := conformance.ThreeByte{}
		var v3 uint8 = 1
		v2.Elem1 = v3
		var v4 uint8 = 2
		v2.Elem2 = v4
		var v5 uint8 = 3
		v2.Elem3 = v5
		v1.Elem1 = v2
		v6 := conformance.ThreeByte{}
		var v7 uint8 = 4
		v6.Elem1 = v7
		var v8 uint8 = 5
		v6.Elem2 = v8
		var v9 uint8 = 6
		v6.Elem3 = v9
		v1.Elem2 = v6
		v10 := conformance.ThreeByte{}
		var v11 uint8 = 7
		v10.Elem1 = v11
		var v12 uint8 = 8
		v10.Elem2 = v12
		var v13 uint8 = 9
		v10.Elem3 = v13
		v1.Elem3 = v10

		encodeSuccessCase{
			name: "3ByteObjectAlignmentInStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.FiveByteInStruct{}
		v2 := conformance.FiveByte{}
		var v3 uint32 = 16909060
		v2.Elem1 = v3
		var v4 uint8 = 5
		v2.Elem2 = v4
		v1.Elem1 = v2
		v5 := conformance.FiveByte{}
		var v6 uint32 = 101124105
		v5.Elem1 = v6
		var v7 uint8 = 10
		v5.Elem2 = v7
		v1.Elem2 = v5
		v8 := conformance.FiveByte{}
		var v9 uint32 = 185339150
		v8.Elem1 = v9
		var v10 uint8 = 15
		v8.Elem2 = v10
		v1.Elem3 = v8

		encodeSuccessCase{
			name: "5ByteObjectAlignmentInStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00,
				0x09, 0x08, 0x07, 0x06, 0x0a, 0x00, 0x00, 0x00,
				0x0e, 0x0d, 0x0c, 0x0b, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ThreeByteInVector{}
		v2 := conformance.ThreeByte{}
		var v3 uint8 = 1
		v2.Elem1 = v3
		var v4 uint8 = 2
		v2.Elem2 = v4
		var v5 uint8 = 3
		v2.Elem3 = v5
		v6 := conformance.ThreeByte{}
		var v7 uint8 = 4
		v6.Elem1 = v7
		var v8 uint8 = 5
		v6.Elem2 = v8
		var v9 uint8 = 6
		v6.Elem3 = v9
		v10 := conformance.ThreeByte{}
		var v11 uint8 = 7
		v10.Elem1 = v11
		var v12 uint8 = 8
		v10.Elem2 = v12
		var v13 uint8 = 9
		v10.Elem3 = v13
		v14 := []conformance.ThreeByte{v2, v6, v10}
		v1.Elems = v14

		encodeSuccessCase{
			name: "3ByteObjectAlignmentInVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.FiveByteInVector{}
		v2 := conformance.FiveByte{}
		var v3 uint32 = 16909060
		v2.Elem1 = v3
		var v4 uint8 = 5
		v2.Elem2 = v4
		v5 := conformance.FiveByte{}
		var v6 uint32 = 101124105
		v5.Elem1 = v6
		var v7 uint8 = 10
		v5.Elem2 = v7
		v8 := conformance.FiveByte{}
		var v9 uint32 = 185339150
		v8.Elem1 = v9
		var v10 uint8 = 15
		v8.Elem2 = v10
		v11 := []conformance.FiveByte{v2, v5, v8}
		v1.Elems = v11

		encodeSuccessCase{
			name: "5ByteObjectAlignmentInVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x04, 0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00,
				0x09, 0x08, 0x07, 0x06, 0x0a, 0x00, 0x00, 0x00,
				0x0e, 0x0d, 0x0c, 0x0b, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ThreeByteInArray{}
		v2 := conformance.ThreeByte{}
		var v3 uint8 = 1
		v2.Elem1 = v3
		var v4 uint8 = 2
		v2.Elem2 = v4
		var v5 uint8 = 3
		v2.Elem3 = v5
		v6 := conformance.ThreeByte{}
		var v7 uint8 = 4
		v6.Elem1 = v7
		var v8 uint8 = 5
		v6.Elem2 = v8
		var v9 uint8 = 6
		v6.Elem3 = v9
		v10 := conformance.ThreeByte{}
		var v11 uint8 = 7
		v10.Elem1 = v11
		var v12 uint8 = 8
		v10.Elem2 = v12
		var v13 uint8 = 9
		v10.Elem3 = v13
		v14 := [3]conformance.ThreeByte{v2, v6, v10}
		v1.Elems = v14

		encodeSuccessCase{
			name: "3ByteObjectAlignmentInArray",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.FiveByteInArray{}
		v2 := conformance.FiveByte{}
		var v3 uint32 = 16909060
		v2.Elem1 = v3
		var v4 uint8 = 5
		v2.Elem2 = v4
		v5 := conformance.FiveByte{}
		var v6 uint32 = 101124105
		v5.Elem1 = v6
		var v7 uint8 = 10
		v5.Elem2 = v7
		v8 := conformance.FiveByte{}
		var v9 uint32 = 185339150
		v8.Elem1 = v9
		var v10 uint8 = 15
		v8.Elem2 = v10
		v11 := [3]conformance.FiveByte{v2, v5, v8}
		v1.Elems = v11

		encodeSuccessCase{
			name: "5ByteObjectAlignmentInArray",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00,
				0x09, 0x08, 0x07, 0x06, 0x0a, 0x00, 0x00, 0x00,
				0x0e, 0x0d, 0x0c, 0x0b, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStruct{}

		encodeSuccessCase{
			name: "EmptyStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStructSandwich{}
		v2 := "before"
		v1.Before = v2
		v3 := conformance.EmptyStruct{}
		v1.Es = v3
		v4 := "after"
		v1.After = v4

		encodeSuccessCase{
			name: "EmptyStructSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Uint8Uint16Uint32Uint64{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint16 = 515
		v1.F2 = v3
		var v4 uint32 = 67438087
		v1.F3 = v4
		var v5 uint64 = 579005069656919567
		v1.F4 = v5

		encodeSuccessCase{
			name: "Uint8Uint16Uint32Uint64",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x03, 0x02, 0x07, 0x06, 0x05, 0x04,
				0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
			},
		}.check(t)
	}

	{
		v1 := conformance.Uint64Uint32Uint16Uint8{}
		var v2 uint64 = 579005069656919567
		v1.F1 = v2
		var v3 uint32 = 67438087
		v1.F2 = v3
		var v4 uint16 = 515
		v1.F3 = v4
		var v5 uint8 = 1
		v1.F4 = v5

		encodeSuccessCase{
			name: "Uint64Uint32Uint16Uint8",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
				0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfSimpleTable{}
		v2 := conformance.SimpleTable{}
		v1.Table = v2

		encodeSuccessCase{
			name: "SimpleTableEmpty",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfSimpleTable{}
		v2 := conformance.SimpleTable{}
		var v3 int64 = 42
		v2.SetX(v3)
		var v4 int64 = 67
		v2.SetY(v4)
		v1.Table = v2

		encodeSuccessCase{
			name: "SimpleTableXAndY",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfSimpleTable{}
		v2 := conformance.SimpleTable{}
		var v3 int64 = 67
		v2.SetY(v3)
		v1.Table = v2

		encodeSuccessCase{
			name: "SimpleTableJustY",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfTableWithStringAndVector{}
		v2 := conformance.TableWithStringAndVector{}
		v3 := "hello"
		v2.SetFoo(v3)
		var v4 int32 = 27
		v2.SetBar(v4)
		v1.Table = v2

		encodeSuccessCase{
			name: "TableWithStringAndVectorNoVectorContent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SimpleTableThenUint64{}
		v2 := conformance.SimpleTable{}
		var v3 int64 = 42
		v2.SetX(v3)
		var v4 int64 = 67
		v2.SetY(v4)
		v1.Table = v2
		var v5 uint64 = 16045690984833335023
		v1.Number = v5

		encodeSuccessCase{
			name: "SimpleTableThenUint64",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xef, 0xbe, 0xad, 0xde, 0xef, 0xbe, 0xad, 0xde,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestInlineXUnionInStruct{}
		v2 := "before"
		v1.Before = v2
		v3 := conformance.SampleXUnion{}
		var v4 uint32 = 3735928559
		v3.SetU(v4)
		v1.Xu = v3
		v5 := "after"
		v1.After = v5

		encodeSuccessCase{
			name: "InlineXUnionInStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb2, 0x56, 0x9c, 0x38, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestOptionalXUnionInStruct{}
		v2 := "before"
		v1.Before = v2
		v3 := "after"
		v1.After = v3

		encodeSuccessCase{
			name: "OptionalXUnionInStructAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestOptionalXUnionInStruct{}
		v2 := "before"
		v1.Before = v2
		v3 := &conformance.SampleXUnion{}
		var v4 uint32 = 3735928559
		v3.SetU(v4)
		v1.Xu = v3
		v5 := "after"
		v1.After = v5

		encodeSuccessCase{
			name: "OptionalXUnionInStructPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb2, 0x56, 0x9c, 0x38, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestXUnionInTable{}
		v2 := conformance.XUnionInTable{}
		v3 := "before"
		v2.SetBefore(v3)
		v4 := "after"
		v2.SetAfter(v4)
		v1.Value = v2

		encodeSuccessCase{
			name: "XUnionInTableXUnionAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestXUnionInTable{}
		v2 := conformance.XUnionInTable{}
		v3 := "before"
		v2.SetBefore(v3)
		v4 := conformance.SampleXUnion{}
		var v5 uint32 = 3735928559
		v4.SetU(v5)
		v2.SetXu(v4)
		v6 := "after"
		v2.SetAfter(v6)
		v1.Value = v2

		encodeSuccessCase{
			name: "XUnionInTableXUnionPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0xb2, 0x56, 0x9c, 0x38, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestStrictXUnionInStruct{}
		v2 := conformance.SampleStrictXUnion{}
		var v3 uint32 = 3735928559
		v2.SetU(v3)
		v1.Xu = v2

		encodeSuccessCase{
			name: "StrictXUnion",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x72, 0xea, 0xe2, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestAddEthernetDeviceRequest{}
		v2 := "@/dev/sys/pci/00:03.0/e1000/ethernet"
		v1.TopologicalPath = v2
		v3 := conformance.InterfaceConfig{}
		v4 := "ethp0003"
		v3.Name = v4
		v5 := conformance.IpAddressConfig{}
		v6 := true
		v5.SetDhcp(v6)
		v3.IpAddressConfig = v5
		v1.Config = v3
		var v7 uint32 = 4294967295
		v1.ThisShouldBeAHandle = v7

		encodeSuccessCase{
			name: "AddEthernetDeviceRequest",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
				0x40, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x79,
				0x73, 0x2f, 0x70, 0x63, 0x69, 0x2f, 0x30, 0x30,
				0x3a, 0x30, 0x33, 0x2e, 0x30, 0x2f, 0x65, 0x31,
				0x30, 0x30, 0x30, 0x2f, 0x65, 0x74, 0x68, 0x65,
				0x72, 0x6e, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00,
				0x65, 0x74, 0x68, 0x70, 0x30, 0x30, 0x30, 0x33,
			},
		}.check(t)
	}

	{
		v1 := conformance.FileGetAttrResponse{}
		var v2 int32 = 2125315759
		v1.S = v2
		v3 := conformance.NodeAttributes{}
		var v4 uint32 = 2518909348
		v3.Mode = v4
		var v5 uint64 = 1
		v3.Id = v5
		var v6 uint64 = 231
		v3.ContentSize = v6
		var v7 uint64 = 231
		v3.StorageSize = v7
		var v8 uint64 = 1
		v3.LinkCount = v8
		var v9 uint64 = 9833440827789222417
		v3.CreationTime = v9
		var v10 uint64 = 72038755451251353
		v3.ModificationTime = v10
		v1.Attributes = v3

		encodeSuccessCase{
			name: "FileGetAttrResponse",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xaf, 0xbe, 0xad, 0x7e, 0x00, 0x00, 0x00, 0x00,
				0xa4, 0x81, 0x23, 0x96, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88,
				0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructWithOptionals{}
		v2 := conformance.EmptyStruct{}
		v1.S = v2
		v3 := &conformance.EmptyStruct{}
		v1.S2 = v3
		v4 := conformance.TableWithEmptyStruct{}
		v5 := conformance.EmptyStruct{}
		v4.SetS(v5)
		v1.T = v4
		v6 := conformance.XUnionWithEmptyStruct{}
		v7 := conformance.EmptyStruct{}
		v6.SetS(v7)
		v1.Xu = v6
		v8 := &conformance.XUnionWithEmptyStruct{}
		v9 := conformance.EmptyStruct{}
		v8.SetS(v9)
		v1.Xu2 = v8
		v10 := conformance.UnionWithEmptyStruct{}
		v11 := conformance.EmptyStruct{}
		v10.SetS(v11)
		v1.U = v10
		v12 := &conformance.UnionWithEmptyStruct{}
		v13 := conformance.EmptyStruct{}
		v12.SetS(v13)
		v1.U2 = v12

		encodeSuccessCase{
			name: "Optionals",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xfe, 0xe0, 0x99, 0x74, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xfe, 0xe0, 0x99, 0x74, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructWithArrays{}
		var v2 int32 = 1
		var v3 int32 = 2
		v4 := [2]int32{v2, v3}
		v1.ArrInt = v4
		v5 := "a"
		v6 := "b"
		v7 := [2]string{v5, v6}
		v1.ArrString = v7
		v8 := "c"
		v9 := &v8
		var v10 *string = nil
		v11 := [2]*string{v9, v10}
		v1.ArrNullableString = v11
		v12 := conformance.StructWithInt{}
		var v13 int32 = 1
		v12.X = v13
		v14 := conformance.StructWithInt{}
		var v15 int32 = 2
		v14.X = v15
		v16 := [2]conformance.StructWithInt{v12, v14}
		v1.ArrStruct = v16
		var v17 *conformance.StructWithInt = nil
		v18 := &conformance.StructWithInt{}
		var v19 int32 = 16909060
		v18.X = v19
		v20 := [2]*conformance.StructWithInt{v17, v18}
		v1.ArrNullableStruct = v20
		var v21 int32 = 1
		var v22 int32 = 2
		var v23 int32 = 3
		v24 := [3]int32{v21, v22, v23}
		var v25 int32 = 4
		var v26 int32 = 5
		var v27 int32 = 6
		v28 := [3]int32{v25, v26, v27}
		v29 := [2][3]int32{v24, v28}
		v1.ArrArrInt = v29

		encodeSuccessCase{
			name: "Arrays",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
				0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructWithVectors{}
		v2 := []int32{}
		v1.VecEmpty = v2
		var v3 int32 = 1
		var v4 int32 = 2
		v5 := []int32{v3, v4}
		v1.VecInt = v5
		v6 := "a"
		v7 := "b"
		v8 := []string{v6, v7}
		v1.VecString = v8
		var v9 *string = nil
		v10 := "c"
		v11 := &v10
		var v12 *string = nil
		v13 := []*string{v9, v11, v12}
		v1.VecNullableString = v13
		v14 := conformance.StructWithInt{}
		var v15 int32 = 1
		v14.X = v15
		v16 := []conformance.StructWithInt{v14}
		v1.VecStruct = v16
		var v17 *conformance.StructWithInt = nil
		var v18 *conformance.StructWithInt = nil
		v19 := &conformance.StructWithInt{}
		var v20 int32 = 2
		v19.X = v20
		v21 := []*conformance.StructWithInt{v17, v18, v19}
		v1.VecNullableStruct = v21
		var v22 int32 = 1
		var v23 int32 = 2
		v24 := []int32{v22, v23}
		var v25 int32 = 3
		v26 := []int32{v25}
		v27 := [][]int32{v24, v26}
		v1.VecVecInt = v27

		encodeSuccessCase{
			name: "Vectors",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyBool{}
		v2 := true
		v1.Value = v2

		encodeSuccessCase{
			name: "BoolTrue",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyBool{}
		v2 := false
		v1.Value = v2

		encodeSuccessCase{
			name: "BoolFalse",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyByte{}
		var v2 uint8 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "ByteZero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyByte{}
		var v2 uint8 = 255
		v1.Value = v2

		encodeSuccessCase{
			name: "Byte255",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt8{}
		var v2 int8 = -128
		v1.Value = v2

		encodeSuccessCase{
			name: "Int8Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt8{}
		var v2 int8 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Int8Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt8{}
		var v2 int8 = 127
		v1.Value = v2

		encodeSuccessCase{
			name: "Int8Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt16{}
		var v2 int16 = -32768
		v1.Value = v2

		encodeSuccessCase{
			name: "Int16Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt16{}
		var v2 int16 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Int16Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt16{}
		var v2 int16 = 32767
		v1.Value = v2

		encodeSuccessCase{
			name: "Int16Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt32{}
		var v2 int32 = -2147483648
		v1.Value = v2

		encodeSuccessCase{
			name: "Int32Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt32{}
		var v2 int32 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Int32Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt32{}
		var v2 int32 = 2147483647
		v1.Value = v2

		encodeSuccessCase{
			name: "Int32Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt64{}
		var v2 int64 = -9223372036854775808
		v1.Value = v2

		encodeSuccessCase{
			name: "Int64Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt64{}
		var v2 int64 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Int64Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt64{}
		var v2 int64 = 9223372036854775807
		v1.Value = v2

		encodeSuccessCase{
			name: "Int64Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint8{}
		var v2 uint8 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint8Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint8{}
		var v2 uint8 = 255
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint8Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint16{}
		var v2 uint16 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint16Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint16{}
		var v2 uint16 = 65535
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint16Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint32{}
		var v2 uint32 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint32Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint32{}
		var v2 uint32 = 4294967295
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint32Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint64{}
		var v2 uint64 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint64Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint64{}
		var v2 uint64 = 18446744073709551615
		v1.Value = v2

		encodeSuccessCase{
			name: "Uint64Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Float32Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = 1
		v1.Value = v2

		encodeSuccessCase{
			name: "Float32One",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = -1
		v1.Value = v2

		encodeSuccessCase{
			name: "Float32MinusOne",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = 3.4028234663852886e+38
		v1.Value = v2

		encodeSuccessCase{
			name: "Float32Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = 0
		v1.Value = v2

		encodeSuccessCase{
			name: "Float64Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = 1
		v1.Value = v2

		encodeSuccessCase{
			name: "Float64One",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = -1
		v1.Value = v2

		encodeSuccessCase{
			name: "Float64MinusOne",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = 1.7976931348623157e+308
		v1.Value = v2

		encodeSuccessCase{
			name: "Float64Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x7f,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich1Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich1Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := &conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.OptUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich1WithOptUnionPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := &conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.OptUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich1WithOptUnionPresent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		var v3 uint32 = 134678021
		v1.After = v3

		encodeSuccessCase{
			name: "Sandwich1WithOptUnionAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		var v3 uint32 = 134678021
		v1.After = v3

		encodeSuccessCase{
			name: "Sandwich1WithOptUnionAbsent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich2{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize12Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVariant(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		encodeSuccessCase{
			name: "Sandwich2Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich2{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize12Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVariant(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		encodeSuccessCase{
			name: "Sandwich2Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich3{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize24Align8{}
		v4 := conformance.StructSize16Align8{}
		var v5 uint64 = 12080525177006498208
		v4.F1 = v5
		var v6 uint64 = 12659246559711111592
		v4.F2 = v6
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		encodeSuccessCase{
			name: "Sandwich3Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich3{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize24Align8{}
		v4 := conformance.StructSize16Align8{}
		var v5 uint64 = 12080525177006498208
		v4.F1 = v5
		var v6 uint64 = 12659246559711111592
		v4.F2 = v6
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		encodeSuccessCase{
			name: "Sandwich3Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize36Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		var v10 uint8 = 166
		var v11 uint8 = 167
		var v12 uint8 = 168
		var v13 uint8 = 169
		var v14 uint8 = 170
		var v15 uint8 = 171
		var v16 uint8 = 172
		var v17 uint8 = 173
		var v18 uint8 = 174
		var v19 uint8 = 175
		var v20 uint8 = 176
		var v21 uint8 = 177
		var v22 uint8 = 178
		var v23 uint8 = 179
		var v24 uint8 = 180
		var v25 uint8 = 181
		var v26 uint8 = 182
		var v27 uint8 = 183
		var v28 uint8 = 184
		var v29 uint8 = 185
		var v30 uint8 = 186
		var v31 uint8 = 187
		var v32 uint8 = 188
		var v33 uint8 = 189
		var v34 uint8 = 190
		var v35 uint8 = 191
		v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
		v3.SetVariant(v36)
		v1.TheUnion = v3
		var v37 uint32 = 134678021
		v1.After = v37

		encodeSuccessCase{
			name: "Sandwich4Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize36Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		var v10 uint8 = 166
		var v11 uint8 = 167
		var v12 uint8 = 168
		var v13 uint8 = 169
		var v14 uint8 = 170
		var v15 uint8 = 171
		var v16 uint8 = 172
		var v17 uint8 = 173
		var v18 uint8 = 174
		var v19 uint8 = 175
		var v20 uint8 = 176
		var v21 uint8 = 177
		var v22 uint8 = 178
		var v23 uint8 = 179
		var v24 uint8 = 180
		var v25 uint8 = 181
		var v26 uint8 = 182
		var v27 uint8 = 183
		var v28 uint8 = 184
		var v29 uint8 = 185
		var v30 uint8 = 186
		var v31 uint8 = 187
		var v32 uint8 = 188
		var v33 uint8 = 189
		var v34 uint8 = 190
		var v35 uint8 = 191
		v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
		v3.SetVariant(v36)
		v1.TheUnion = v3
		var v37 uint32 = 134678021
		v1.After = v37

		encodeSuccessCase{
			name: "Sandwich4Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		encodeSuccessCase{
			name: "Sandwich5Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		encodeSuccessCase{
			name: "Sandwich5Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize24Align8{}
		v5 := conformance.StructSize16Align8{}
		var v6 uint64 = 12080525177006498208
		v5.F1 = v6
		var v7 uint64 = 12659246559711111592
		v5.F2 = v7
		v4.SetVariant(v5)
		v3.SetSize24align8(v4)
		v1.UnionOfUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		encodeSuccessCase{
			name: "Sandwich5Case2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize24Align8{}
		v5 := conformance.StructSize16Align8{}
		var v6 uint64 = 12080525177006498208
		v5.F1 = v6
		var v7 uint64 = 12659246559711111592
		v5.F2 = v7
		v4.SetVariant(v5)
		v3.SetSize24align8(v4)
		v1.UnionOfUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		encodeSuccessCase{
			name: "Sandwich5Case2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := []uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVectorOfUint8(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		encodeSuccessCase{
			name: "Sandwich6Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := []uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVectorOfUint8(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		encodeSuccessCase{
			name: "Sandwich6Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := []uint8{}
		v3.SetVectorOfUint8(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich6Case1AbsentVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := []uint8{}
		v3.SetVectorOfUint8(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich6Case1AbsentVector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := "soft migrations rock!"
		v3.SetS(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich6Case2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := "soft migrations rock!"
		v3.SetS(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		encodeSuccessCase{
			name: "Sandwich6Case2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 115
		var v6 uint8 = 111
		var v7 uint8 = 102
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 32
		var v11 uint8 = 109
		var v12 uint8 = 105
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := conformance.StructSize3Align1{}
		var v15 uint8 = 114
		var v16 uint8 = 97
		var v17 uint8 = 116
		v18 := [3]uint8{v15, v16, v17}
		v14.ThreeBytes = v18
		v19 := []conformance.StructSize3Align1{v4, v9, v14}
		v3.SetVectorS3A1(v19)
		v1.TheUnion = v3
		var v20 uint32 = 134678021
		v1.After = v20

		encodeSuccessCase{
			name: "Sandwich6Case3",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x73, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x72, 0x61,
				0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 115
		var v6 uint8 = 111
		var v7 uint8 = 102
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 32
		var v11 uint8 = 109
		var v12 uint8 = 105
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := conformance.StructSize3Align1{}
		var v15 uint8 = 114
		var v16 uint8 = 97
		var v17 uint8 = 116
		v18 := [3]uint8{v15, v16, v17}
		v14.ThreeBytes = v18
		v19 := []conformance.StructSize3Align1{v4, v9, v14}
		v3.SetVectorS3A1(v19)
		v1.TheUnion = v3
		var v20 uint32 = 134678021
		v1.After = v20

		encodeSuccessCase{
			name: "Sandwich6Case3_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x72, 0x61,
				0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 28531
		v4.F1 = v5
		var v6 uint8 = 102
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 27936
		v7.F1 = v8
		var v9 uint8 = 105
		v7.F2 = v9
		v10 := conformance.StructSize3Align2{}
		var v11 uint16 = 24946
		v10.F1 = v11
		var v12 uint8 = 116
		v10.F2 = v12
		v13 := []conformance.StructSize3Align2{v4, v7, v10}
		v3.SetVectorS3A2(v13)
		v1.TheUnion = v3
		var v14 uint32 = 134678021
		v1.After = v14

		encodeSuccessCase{
			name: "Sandwich6Case4",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x73, 0x6f, 0x66, 0x00, 0x20, 0x6d, 0x69, 0x00,
				0x72, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 28531
		v4.F1 = v5
		var v6 uint8 = 102
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 27936
		v7.F1 = v8
		var v9 uint8 = 105
		v7.F2 = v9
		v10 := conformance.StructSize3Align2{}
		var v11 uint16 = 24946
		v10.F1 = v11
		var v12 uint8 = 116
		v10.F2 = v12
		v13 := []conformance.StructSize3Align2{v4, v7, v10}
		v3.SetVectorS3A2(v13)
		v1.TheUnion = v3
		var v14 uint32 = 134678021
		v1.After = v14

		encodeSuccessCase{
			name: "Sandwich6Case4_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x00, 0x20, 0x6d, 0x69, 0x00,
				0x72, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint32 = 4294967295
		var v5 uint32 = 4294967295
		var v6 uint32 = 4294967295
		v7 := []uint32{v4, v5, v6}
		v3.SetHandles(v7)
		v1.TheUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		encodeSuccessCase{
			name: "Sandwich6Case5",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint32 = 4294967295
		var v5 uint32 = 4294967295
		var v6 uint32 = 4294967295
		v7 := []uint32{v4, v5, v6}
		v3.SetHandles(v7)
		v1.TheUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		encodeSuccessCase{
			name: "Sandwich6Case5_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 164
		var v11 uint8 = 165
		var v12 uint8 = 166
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := [2]conformance.StructSize3Align1{v4, v9}
		v3.SetArrayS3A1(v14)
		v1.TheUnion = v3
		var v15 uint32 = 134678021
		v1.After = v15

		encodeSuccessCase{
			name: "Sandwich6Case6",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 164
		var v11 uint8 = 165
		var v12 uint8 = 166
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := [2]conformance.StructSize3Align1{v4, v9}
		v3.SetArrayS3A1(v14)
		v1.TheUnion = v3
		var v15 uint32 = 134678021
		v1.After = v15

		encodeSuccessCase{
			name: "Sandwich6Case6_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 41633
		v4.F1 = v5
		var v6 uint8 = 163
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 42404
		v7.F1 = v8
		var v9 uint8 = 166
		v7.F2 = v9
		v10 := [2]conformance.StructSize3Align2{v4, v7}
		v3.SetArrayS3A2(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		encodeSuccessCase{
			name: "Sandwich6Case7",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0x00, 0xa4, 0xa5, 0xa6, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 41633
		v4.F1 = v5
		var v6 uint8 = 163
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 42404
		v7.F1 = v8
		var v9 uint8 = 166
		v7.F2 = v9
		v10 := [2]conformance.StructSize3Align2{v4, v7}
		v3.SetArrayS3A2(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		encodeSuccessCase{
			name: "Sandwich6Case7_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0x00, 0xa4, 0xa5, 0xa6, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v6 := []conformance.UnionSize8Align4{v4}
		v3.SetVectorUnion(v6)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		encodeSuccessCase{
			name: "Sandwich6Case8",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v6 := []conformance.UnionSize8Align4{v4}
		v3.SetVectorUnion(v6)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		encodeSuccessCase{
			name: "Sandwich6Case8_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		v3 := &conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v1.OptSandwich1 = v3
		var v8 uint32 = 606282273
		v1.After = v8

		encodeSuccessCase{
			name: "Sandwich7Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		v3 := &conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v1.OptSandwich1 = v3
		var v8 uint32 = 606282273
		v1.After = v8

		encodeSuccessCase{
			name: "Sandwich7Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		var v3 uint32 = 606282273
		v1.After = v3

		encodeSuccessCase{
			name: "Sandwich7Case2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		var v3 uint32 = 606282273
		v1.After = v3

		encodeSuccessCase{
			name: "Sandwich7Case2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression1{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		var v4 uint8 = 3
		v1.F3 = v4
		var v5 uint16 = 4
		v1.F4 = v5
		var v6 uint64 = 5
		v1.F5 = v6
		var v7 uint8 = 6
		v1.F6 = v7

		encodeSuccessCase{
			name: "Regression1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression1{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		var v4 uint8 = 3
		v1.F3 = v4
		var v5 uint16 = 4
		v1.F4 = v5
		var v6 uint64 = 5
		v1.F5 = v6
		var v7 uint8 = 6
		v1.F6 = v7

		encodeSuccessCase{
			name: "Regression1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression2{}
		v2 := conformance.Regression1{}
		var v3 uint8 = 1
		v2.F1 = v3
		var v4 uint32 = 2
		v2.F2 = v4
		var v5 uint8 = 3
		v2.F3 = v5
		var v6 uint16 = 4
		v2.F4 = v6
		var v7 uint64 = 5
		v2.F5 = v7
		var v8 uint8 = 6
		v2.F6 = v8
		v1.Head = v2
		var v9 uint8 = 7
		v1.F7 = v9

		encodeSuccessCase{
			name: "Regression2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression2{}
		v2 := conformance.Regression1{}
		var v3 uint8 = 1
		v2.F1 = v3
		var v4 uint32 = 2
		v2.F2 = v4
		var v5 uint8 = 3
		v2.F3 = v5
		var v6 uint16 = 4
		v2.F4 = v6
		var v7 uint64 = 5
		v2.F5 = v7
		var v8 uint8 = 6
		v2.F6 = v8
		v1.Head = v2
		var v9 uint8 = 7
		v1.F7 = v9

		encodeSuccessCase{
			name: "Regression2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}

		encodeSuccessCase{
			name: "Regression3Absent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}

		encodeSuccessCase{
			name: "Regression3Absent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}
		v2 := &conformance.Regression2{}
		v3 := conformance.Regression1{}
		var v4 uint8 = 1
		v3.F1 = v4
		var v5 uint32 = 2
		v3.F2 = v5
		var v6 uint8 = 3
		v3.F3 = v6
		var v7 uint16 = 4
		v3.F4 = v7
		var v8 uint64 = 5
		v3.F5 = v8
		var v9 uint8 = 6
		v3.F6 = v9
		v2.Head = v3
		var v10 uint8 = 7
		v2.F7 = v10
		v1.OptValue = v2

		encodeSuccessCase{
			name: "Regression3Present",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}
		v2 := &conformance.Regression2{}
		v3 := conformance.Regression1{}
		var v4 uint8 = 1
		v3.F1 = v4
		var v5 uint32 = 2
		v3.F2 = v5
		var v6 uint8 = 3
		v3.F3 = v6
		var v7 uint16 = 4
		v3.F4 = v7
		var v8 uint64 = 5
		v3.F5 = v8
		var v9 uint8 = 6
		v3.F6 = v9
		v2.Head = v3
		var v10 uint8 = 7
		v2.F7 = v10
		v1.OptValue = v2

		encodeSuccessCase{
			name: "Regression3Present_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Array{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := conformance.Size5Alignment1{}
		var v17 uint8 = 11
		var v18 uint8 = 12
		var v19 uint8 = 13
		var v20 uint8 = 14
		var v21 uint8 = 15
		v22 := [5]uint8{v17, v18, v19, v20, v21}
		v16.Data = v22
		v23 := [3]conformance.Size5Alignment1{v2, v9, v16}
		v1.A = v23

		encodeSuccessCase{
			name: "Size5Alignment1Array",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Array{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := conformance.Size5Alignment1{}
		var v17 uint8 = 11
		var v18 uint8 = 12
		var v19 uint8 = 13
		var v20 uint8 = 14
		var v21 uint8 = 15
		v22 := [5]uint8{v17, v18, v19, v20, v21}
		v16.Data = v22
		v23 := [3]conformance.Size5Alignment1{v2, v9, v16}
		v1.A = v23

		encodeSuccessCase{
			name: "Size5Alignment1Array_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Array{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := conformance.Size5Alignment4{}
		var v9 uint32 = 235736075
		v8.Four = v9
		var v10 uint8 = 15
		v8.One = v10
		v11 := [3]conformance.Size5Alignment4{v2, v5, v8}
		v1.A = v11

		encodeSuccessCase{
			name: "Size5Alignment4Array",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
				0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Array{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := conformance.Size5Alignment4{}
		var v9 uint32 = 235736075
		v8.Four = v9
		var v10 uint8 = 15
		v8.One = v10
		v11 := [3]conformance.Size5Alignment4{v2, v5, v8}
		v1.A = v11

		encodeSuccessCase{
			name: "Size5Alignment4Array_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
				0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Vector{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := []conformance.Size5Alignment1{v2, v9}
		v1.V = v16

		encodeSuccessCase{
			name: "Size5Alignment1Vector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Vector{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := []conformance.Size5Alignment1{v2, v9}
		v1.V = v16

		encodeSuccessCase{
			name: "Size5Alignment1Vector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Vector{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := []conformance.Size5Alignment4{v2, v5}
		v1.V = v8

		encodeSuccessCase{
			name: "Size5Alignment4Vector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Vector{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := []conformance.Size5Alignment4{v2, v5}
		v1.V = v8

		encodeSuccessCase{
			name: "Size5Alignment4Vector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithReservedSandwichStruct{}
		v2 := conformance.TableStructWithReservedSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 9
		var v5 uint8 = 10
		var v6 uint8 = 11
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.StructSize3Align1{}
		var v9 uint8 = 25
		var v10 uint8 = 26
		var v11 uint8 = 27
		v12 := [3]uint8{v9, v10, v11}
		v8.ThreeBytes = v12
		v2.SetS2(v8)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_StructWithReservedSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithReservedSandwichStruct{}
		v2 := conformance.TableStructWithReservedSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 9
		var v5 uint8 = 10
		var v6 uint8 = 11
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.StructSize3Align1{}
		var v9 uint8 = 25
		var v10 uint8 = 26
		var v11 uint8 = 27
		v12 := [3]uint8{v9, v10, v11}
		v8.ThreeBytes = v12
		v2.SetS2(v8)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_StructWithReservedSandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithUint32SandwichStruct{}
		v2 := conformance.TableStructWithUint32Sandwich{}
		var v3 uint32 = 67305985
		v2.SetI(v3)
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v2.SetS1(v4)
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 25
		var v11 uint8 = 26
		var v12 uint8 = 27
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v2.SetS2(v9)
		var v14 uint32 = 218893066
		v2.SetI2(v14)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_StructWithUint32Sandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithUint32SandwichStruct{}
		v2 := conformance.TableStructWithUint32Sandwich{}
		var v3 uint32 = 67305985
		v2.SetI(v3)
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v2.SetS1(v4)
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 25
		var v11 uint8 = 26
		var v12 uint8 = 27
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v2.SetS2(v9)
		var v14 uint32 = 218893066
		v2.SetI2(v14)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_StructWithUint32Sandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorReservedSandwichStruct{}
		v2 := conformance.TableUnionWithVectorReservedSandwich{}
		v3 := conformance.UnionWithVector{}
		v4 := "hello"
		v3.SetS(v4)
		v2.SetUv(v3)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_UnionWithVector_ReservedSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorReservedSandwichStruct{}
		v2 := conformance.TableUnionWithVectorReservedSandwich{}
		v3 := conformance.UnionWithVector{}
		v4 := "hello"
		v3.SetS(v4)
		v2.SetUv(v3)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_UnionWithVector_ReservedSandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorStructSandwichStruct{}
		v2 := conformance.TableUnionWithVectorStructSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.UnionWithVector{}
		v9 := "hello"
		v8.SetS(v9)
		v2.SetUv(v8)
		v10 := conformance.StructSize3Align1{}
		var v11 uint8 = 4
		var v12 uint8 = 5
		var v13 uint8 = 6
		v14 := [3]uint8{v11, v12, v13}
		v10.ThreeBytes = v14
		v2.SetS2(v10)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_UnionWithVector_StructSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorStructSandwichStruct{}
		v2 := conformance.TableUnionWithVectorStructSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.UnionWithVector{}
		v9 := "hello"
		v8.SetS(v9)
		v2.SetUv(v8)
		v10 := conformance.StructSize3Align1{}
		var v11 uint8 = 4
		var v12 uint8 = 5
		var v13 uint8 = 6
		v14 := [3]uint8{v11, v12, v13}
		v10.ThreeBytes = v14
		v2.SetS2(v10)
		v1.Table = v2

		encodeSuccessCase{
			name: "Table_UnionWithVector_StructSandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.XUnionWithStructStruct{}
		v2 := conformance.XUnionWithStruct{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS(v3)
		v1.Xu = v2

		encodeSuccessCase{
			name: "XUnionWithStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x14, 0x5c, 0x3e, 0x19, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.XUnionWithStructStruct{}
		v2 := conformance.XUnionWithStruct{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS(v3)
		v1.Xu = v2

		encodeSuccessCase{
			name: "XUnionWithStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x14, 0x5c, 0x3e, 0x19, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ArrayStruct{}
		v2 := conformance.StringUnion{}
		v3 := "one"
		v2.SetS(v3)
		v4 := conformance.StringUnion{}
		v5 := "two"
		v4.SetS(v5)
		v6 := conformance.StringUnion{}
		v7 := "three"
		v6.SetS(v7)
		v8 := [3]conformance.StringUnion{v2, v4, v6}
		v1.Unions = v8
		v9 := &conformance.StringUnion{}
		v10 := "four"
		v9.SetS(v10)
		v11 := &conformance.StringUnion{}
		v12 := "five"
		v11.SetS(v12)
		v13 := &conformance.StringUnion{}
		v14 := "six"
		v13.SetS(v14)
		v15 := [3]*conformance.StringUnion{v9, v11, v13}
		v1.OptionalUnions = v15

		encodeSuccessCase{
			name: "ArrayStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x74, 0x77, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x74, 0x68, 0x72, 0x65, 0x65, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x6f, 0x75, 0x72, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x69, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ArrayStruct{}
		v2 := conformance.StringUnion{}
		v3 := "one"
		v2.SetS(v3)
		v4 := conformance.StringUnion{}
		v5 := "two"
		v4.SetS(v5)
		v6 := conformance.StringUnion{}
		v7 := "three"
		v6.SetS(v7)
		v8 := [3]conformance.StringUnion{v2, v4, v6}
		v1.Unions = v8
		v9 := &conformance.StringUnion{}
		v10 := "four"
		v9.SetS(v10)
		v11 := &conformance.StringUnion{}
		v12 := "five"
		v11.SetS(v12)
		v13 := &conformance.StringUnion{}
		v14 := "six"
		v13.SetS(v14)
		v15 := [3]*conformance.StringUnion{v9, v11, v13}
		v1.OptionalUnions = v15

		encodeSuccessCase{
			name: "ArrayStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x74, 0x77, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x74, 0x68, 0x72, 0x65, 0x65, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x6f, 0x75, 0x72, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x69, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TransformerEmptyStruct{}

		encodeSuccessCase{
			name: "TransformerEmptyStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TransformerEmptyStruct{}

		encodeSuccessCase{
			name: "TransformerEmptyStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStructUnionStruct{}
		v2 := conformance.EmptyStructUnion{}
		v3 := conformance.TransformerEmptyStruct{}
		v2.SetEs(v3)
		v1.U = v2

		encodeSuccessCase{
			name: "EmptyStructUnion",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStructUnionStruct{}
		v2 := conformance.EmptyStructUnion{}
		v3 := conformance.TransformerEmptyStruct{}
		v2.SetEs(v3)
		v1.U = v2

		encodeSuccessCase{
			name: "EmptyStructUnion_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.NoCodingTablesStressor{}
		var v2 uint64 = 1229782938247303441
		v1.F1 = v2
		var v3 uint64 = 2459565876494606882
		v1.F2 = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 51
		var v6 uint8 = 51
		var v7 uint8 = 51
		var v8 uint8 = 51
		var v9 uint8 = 51
		var v10 uint8 = 51
		var v11 uint8 = 51
		var v12 uint8 = 51
		var v13 uint8 = 51
		var v14 uint8 = 51
		var v15 uint8 = 51
		var v16 uint8 = 51
		var v17 uint8 = 51
		var v18 uint8 = 51
		var v19 uint8 = 51
		var v20 uint8 = 51
		var v21 uint8 = 51
		var v22 uint8 = 51
		var v23 uint8 = 51
		var v24 uint8 = 51
		var v25 uint8 = 51
		var v26 uint8 = 51
		var v27 uint8 = 51
		var v28 uint8 = 51
		var v29 uint8 = 51
		var v30 uint8 = 51
		var v31 uint8 = 51
		var v32 uint8 = 51
		var v33 uint8 = 51
		var v34 uint8 = 51
		var v35 uint8 = 51
		var v36 uint8 = 51
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v1.U1 = v4
		var v38 uint64 = 4919131752989213764
		v1.F3 = v38
		var v39 uint64 = 6148914691236517205
		v1.F4 = v39
		v40 := conformance.UnionSize36Align4{}
		var v41 uint8 = 102
		var v42 uint8 = 102
		var v43 uint8 = 102
		var v44 uint8 = 102
		var v45 uint8 = 102
		var v46 uint8 = 102
		var v47 uint8 = 102
		var v48 uint8 = 102
		var v49 uint8 = 102
		var v50 uint8 = 102
		var v51 uint8 = 102
		var v52 uint8 = 102
		var v53 uint8 = 102
		var v54 uint8 = 102
		var v55 uint8 = 102
		var v56 uint8 = 102
		var v57 uint8 = 102
		var v58 uint8 = 102
		var v59 uint8 = 102
		var v60 uint8 = 102
		var v61 uint8 = 102
		var v62 uint8 = 102
		var v63 uint8 = 102
		var v64 uint8 = 102
		var v65 uint8 = 102
		var v66 uint8 = 102
		var v67 uint8 = 102
		var v68 uint8 = 102
		var v69 uint8 = 102
		var v70 uint8 = 102
		var v71 uint8 = 102
		var v72 uint8 = 102
		v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
		v40.SetVariant(v73)
		v1.U2 = v40
		var v74 uint64 = 8608480567731124087
		v1.F5 = v74
		var v75 uint64 = 9838263505978427528
		v1.F6 = v75
		v76 := conformance.UnionSize36Align4{}
		var v77 uint8 = 153
		var v78 uint8 = 153
		var v79 uint8 = 153
		var v80 uint8 = 153
		var v81 uint8 = 153
		var v82 uint8 = 153
		var v83 uint8 = 153
		var v84 uint8 = 153
		var v85 uint8 = 153
		var v86 uint8 = 153
		var v87 uint8 = 153
		var v88 uint8 = 153
		var v89 uint8 = 153
		var v90 uint8 = 153
		var v91 uint8 = 153
		var v92 uint8 = 153
		var v93 uint8 = 153
		var v94 uint8 = 153
		var v95 uint8 = 153
		var v96 uint8 = 153
		var v97 uint8 = 153
		var v98 uint8 = 153
		var v99 uint8 = 153
		var v100 uint8 = 153
		var v101 uint8 = 153
		var v102 uint8 = 153
		var v103 uint8 = 153
		var v104 uint8 = 153
		var v105 uint8 = 153
		var v106 uint8 = 153
		var v107 uint8 = 153
		var v108 uint8 = 153
		v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
		v76.SetVariant(v109)
		v1.U3 = v76
		var v110 uint64 = 12297829382473034410
		v1.F7 = v110
		v111 := &conformance.Size8Align8{}
		var v112 uint64 = 17216961135462248174
		v111.Data = v112
		v1.P1 = v111
		var v113 uint64 = 13527612320720337851
		v1.F8 = v113
		v114 := &conformance.Size8Align8{}
		var v115 uint64 = 17216961135462248174
		v114.Data = v115
		v1.P2 = v114
		var v116 uint64 = 15987178197214944733
		v1.F9 = v116

		encodeSuccessCase{
			name: "NoCodingTablesStressor",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
				0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
				0x03, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
				0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
				0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
				0x03, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
				0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
				0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
				0x03, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x00, 0x00, 0x00, 0x00,
				0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
			},
		}.check(t)
	}

	{
		v1 := conformance.NoCodingTablesStressor{}
		var v2 uint64 = 1229782938247303441
		v1.F1 = v2
		var v3 uint64 = 2459565876494606882
		v1.F2 = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 51
		var v6 uint8 = 51
		var v7 uint8 = 51
		var v8 uint8 = 51
		var v9 uint8 = 51
		var v10 uint8 = 51
		var v11 uint8 = 51
		var v12 uint8 = 51
		var v13 uint8 = 51
		var v14 uint8 = 51
		var v15 uint8 = 51
		var v16 uint8 = 51
		var v17 uint8 = 51
		var v18 uint8 = 51
		var v19 uint8 = 51
		var v20 uint8 = 51
		var v21 uint8 = 51
		var v22 uint8 = 51
		var v23 uint8 = 51
		var v24 uint8 = 51
		var v25 uint8 = 51
		var v26 uint8 = 51
		var v27 uint8 = 51
		var v28 uint8 = 51
		var v29 uint8 = 51
		var v30 uint8 = 51
		var v31 uint8 = 51
		var v32 uint8 = 51
		var v33 uint8 = 51
		var v34 uint8 = 51
		var v35 uint8 = 51
		var v36 uint8 = 51
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v1.U1 = v4
		var v38 uint64 = 4919131752989213764
		v1.F3 = v38
		var v39 uint64 = 6148914691236517205
		v1.F4 = v39
		v40 := conformance.UnionSize36Align4{}
		var v41 uint8 = 102
		var v42 uint8 = 102
		var v43 uint8 = 102
		var v44 uint8 = 102
		var v45 uint8 = 102
		var v46 uint8 = 102
		var v47 uint8 = 102
		var v48 uint8 = 102
		var v49 uint8 = 102
		var v50 uint8 = 102
		var v51 uint8 = 102
		var v52 uint8 = 102
		var v53 uint8 = 102
		var v54 uint8 = 102
		var v55 uint8 = 102
		var v56 uint8 = 102
		var v57 uint8 = 102
		var v58 uint8 = 102
		var v59 uint8 = 102
		var v60 uint8 = 102
		var v61 uint8 = 102
		var v62 uint8 = 102
		var v63 uint8 = 102
		var v64 uint8 = 102
		var v65 uint8 = 102
		var v66 uint8 = 102
		var v67 uint8 = 102
		var v68 uint8 = 102
		var v69 uint8 = 102
		var v70 uint8 = 102
		var v71 uint8 = 102
		var v72 uint8 = 102
		v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
		v40.SetVariant(v73)
		v1.U2 = v40
		var v74 uint64 = 8608480567731124087
		v1.F5 = v74
		var v75 uint64 = 9838263505978427528
		v1.F6 = v75
		v76 := conformance.UnionSize36Align4{}
		var v77 uint8 = 153
		var v78 uint8 = 153
		var v79 uint8 = 153
		var v80 uint8 = 153
		var v81 uint8 = 153
		var v82 uint8 = 153
		var v83 uint8 = 153
		var v84 uint8 = 153
		var v85 uint8 = 153
		var v86 uint8 = 153
		var v87 uint8 = 153
		var v88 uint8 = 153
		var v89 uint8 = 153
		var v90 uint8 = 153
		var v91 uint8 = 153
		var v92 uint8 = 153
		var v93 uint8 = 153
		var v94 uint8 = 153
		var v95 uint8 = 153
		var v96 uint8 = 153
		var v97 uint8 = 153
		var v98 uint8 = 153
		var v99 uint8 = 153
		var v100 uint8 = 153
		var v101 uint8 = 153
		var v102 uint8 = 153
		var v103 uint8 = 153
		var v104 uint8 = 153
		var v105 uint8 = 153
		var v106 uint8 = 153
		var v107 uint8 = 153
		var v108 uint8 = 153
		v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
		v76.SetVariant(v109)
		v1.U3 = v76
		var v110 uint64 = 12297829382473034410
		v1.F7 = v110
		v111 := &conformance.Size8Align8{}
		var v112 uint64 = 17216961135462248174
		v111.Data = v112
		v1.P1 = v111
		var v113 uint64 = 13527612320720337851
		v1.F8 = v113
		v114 := &conformance.Size8Align8{}
		var v115 uint64 = 17216961135462248174
		v114.Data = v115
		v1.P2 = v114
		var v116 uint64 = 15987178197214944733
		v1.F9 = v116

		encodeSuccessCase{
			name: "NoCodingTablesStressor_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
				0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
				0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
				0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		encodeSuccessCase{
			name: "OutOfLineSandwich1Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		encodeSuccessCase{
			name: "OutOfLineSandwich1Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := &conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.OptUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		encodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := &conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.OptUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		encodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionPresent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		var v5 uint32 = 134678021
		v3.After = v5
		v6 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v6
		v7 := "hard transitions suck!"
		v1.After = v7

		encodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		var v5 uint32 = 134678021
		v3.After = v5
		v6 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v6
		v7 := "hard transitions suck!"
		v1.After = v7

		encodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionAbsent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression4{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v1.S1 = v4
		var v9 uint8 = 3
		v1.F3 = v9
		var v10 uint16 = 4
		v1.F4 = v10
		var v11 uint64 = 5
		v1.F5 = v11
		var v12 uint8 = 6
		v1.F6 = v12

		encodeSuccessCase{
			name: "Regression4",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression4{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v1.S1 = v4
		var v9 uint8 = 3
		v1.F3 = v9
		var v10 uint16 = 4
		v1.F4 = v10
		var v11 uint64 = 5
		v1.F5 = v11
		var v12 uint8 = 6
		v1.F6 = v12

		encodeSuccessCase{
			name: "Regression4_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		var v39 uint64 = 1157159078456920585
		v1.Alignment8Enforcement = v39

		encodeSuccessCase{
			name: "Sandwich4Align8",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		var v39 uint64 = 1157159078456920585
		v1.Alignment8Enforcement = v39

		encodeSuccessCase{
			name: "Sandwich4Align8_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8WithPointer{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		v39 := &conformance.Size8Align8{}
		var v40 uint64 = 1157159078456920585
		v39.Data = v40
		v1.Alignment8Enforcement = v39

		encodeSuccessCase{
			name: "Sandwich4Align8WithPointer",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8WithPointer{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		v39 := &conformance.Size8Align8{}
		var v40 uint64 = 1157159078456920585
		v39.Data = v40
		v1.Alignment8Enforcement = v39

		encodeSuccessCase{
			name: "Sandwich4Align8WithPointer_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich8{}
		var v2 uint64 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		encodeSuccessCase{
			name: "Sandwich8Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich8{}
		var v2 uint64 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		encodeSuccessCase{
			name: "Sandwich8Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich9{}
		var v2 uint16 = 513
		v1.Before = v2
		v3 := conformance.UnionWithVectorOfVectors{}
		v4 := &conformance.StructSize3Align1{}
		var v5 uint8 = 16
		var v6 uint8 = 17
		var v7 uint8 = 18
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := &conformance.StructSize3Align1{}
		var v10 uint8 = 19
		var v11 uint8 = 20
		var v12 uint8 = 21
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := []*conformance.StructSize3Align1{v4, v9}
		v15 := [][]*conformance.StructSize3Align1{v14}
		v3.SetV(v15)
		v1.TheUnion = v3
		var v16 uint16 = 4625
		v1.After = v16

		encodeSuccessCase{
			name: "Sandwich9Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich9{}
		var v2 uint16 = 513
		v1.Before = v2
		v3 := conformance.UnionWithVectorOfVectors{}
		v4 := &conformance.StructSize3Align1{}
		var v5 uint8 = 16
		var v6 uint8 = 17
		var v7 uint8 = 18
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := &conformance.StructSize3Align1{}
		var v10 uint8 = 19
		var v11 uint8 = 20
		var v12 uint8 = 21
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := []*conformance.StructSize3Align1{v4, v9}
		v15 := [][]*conformance.StructSize3Align1{v14}
		v3.SetV(v15)
		v1.TheUnion = v3
		var v16 uint16 = 4625
		v1.After = v16

		encodeSuccessCase{
			name: "Sandwich9Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SimpleTableArrayStruct{}
		v2 := conformance.TransformerSimpleTable{}
		var v3 uint32 = 2745344416
		v2.SetValue(v3)
		v4 := conformance.TransformerSimpleTable{}
		var v5 uint32 = 3014832560
		v4.SetValue(v5)
		v6 := [2]conformance.TransformerSimpleTable{v2, v4}
		v1.TheArray = v6

		encodeSuccessCase{
			name: "SimpleTableArrayStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SimpleTableArrayStruct{}
		v2 := conformance.TransformerSimpleTable{}
		var v3 uint32 = 2745344416
		v2.SetValue(v3)
		v4 := conformance.TransformerSimpleTable{}
		var v5 uint32 = 3014832560
		v4.SetValue(v5)
		v6 := [2]conformance.TransformerSimpleTable{v2, v4}
		v1.TheArray = v6

		encodeSuccessCase{
			name: "SimpleTableArrayStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StringUnionVector{}
		v2 := &conformance.StringUnion{}
		v3 := "hello"
		v2.SetS(v3)
		v4 := &conformance.StringUnion{}
		var v5 uint8 = 170
		v4.SetU8(v5)
		v6 := &conformance.StringUnion{}
		var v7 uint8 = 187
		v6.SetU8(v7)
		v8 := []*conformance.StringUnion{v2, v4, v6}
		v1.TheVector = v8

		encodeSuccessCase{
			name: "StringUnionVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StringUnionVector{}
		v2 := &conformance.StringUnion{}
		v3 := "hello"
		v2.SetS(v3)
		v4 := &conformance.StringUnion{}
		var v5 uint8 = 170
		v4.SetU8(v5)
		v6 := &conformance.StringUnion{}
		var v7 uint8 = 187
		v6.SetU8(v7)
		v8 := []*conformance.StringUnion{v2, v4, v6}
		v1.TheVector = v8

		encodeSuccessCase{
			name: "StringUnionVector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.UnionWithBoundStringStruct{}
		v2 := conformance.UnionWithBoundString{}
		v3 := "abcd"
		v2.SetBoundFiveStr(v3)
		v1.V = v2

		encodeSuccessCase{
			name: "UnionWithBoundString",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x62, 0x63, 0x64, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SingleVariantUnionStruct{}
		v2 := conformance.SingleVariantUnion{}
		var v3 uint32 = 42
		v2.SetX(v3)
		v1.U = v2

		encodeSuccessCase{
			name: "UnionMigration_SingleVariant",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SingleVariantUnionStruct{}
		v2 := conformance.SingleVariantUnion{}
		var v3 uint32 = 42
		v2.SetX(v3)
		v1.U = v2

		encodeSuccessCase{
			name: "UnionMigration_SingleVariant_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

}

func TestAllDecodeSuccessCases(t *testing.T) {

	{
		v1 := conformance.ThreeByteInStruct{}
		v2 := conformance.ThreeByte{}
		var v3 uint8 = 1
		v2.Elem1 = v3
		var v4 uint8 = 2
		v2.Elem2 = v4
		var v5 uint8 = 3
		v2.Elem3 = v5
		v1.Elem1 = v2
		v6 := conformance.ThreeByte{}
		var v7 uint8 = 4
		v6.Elem1 = v7
		var v8 uint8 = 5
		v6.Elem2 = v8
		var v9 uint8 = 6
		v6.Elem3 = v9
		v1.Elem2 = v6
		v10 := conformance.ThreeByte{}
		var v11 uint8 = 7
		v10.Elem1 = v11
		var v12 uint8 = 8
		v10.Elem2 = v12
		var v13 uint8 = 9
		v10.Elem3 = v13
		v1.Elem3 = v10

		decodeSuccessCase{
			name: "3ByteObjectAlignmentInStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.FiveByteInStruct{}
		v2 := conformance.FiveByte{}
		var v3 uint32 = 16909060
		v2.Elem1 = v3
		var v4 uint8 = 5
		v2.Elem2 = v4
		v1.Elem1 = v2
		v5 := conformance.FiveByte{}
		var v6 uint32 = 101124105
		v5.Elem1 = v6
		var v7 uint8 = 10
		v5.Elem2 = v7
		v1.Elem2 = v5
		v8 := conformance.FiveByte{}
		var v9 uint32 = 185339150
		v8.Elem1 = v9
		var v10 uint8 = 15
		v8.Elem2 = v10
		v1.Elem3 = v8

		decodeSuccessCase{
			name: "5ByteObjectAlignmentInStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00,
				0x09, 0x08, 0x07, 0x06, 0x0a, 0x00, 0x00, 0x00,
				0x0e, 0x0d, 0x0c, 0x0b, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ThreeByteInVector{}
		v2 := conformance.ThreeByte{}
		var v3 uint8 = 1
		v2.Elem1 = v3
		var v4 uint8 = 2
		v2.Elem2 = v4
		var v5 uint8 = 3
		v2.Elem3 = v5
		v6 := conformance.ThreeByte{}
		var v7 uint8 = 4
		v6.Elem1 = v7
		var v8 uint8 = 5
		v6.Elem2 = v8
		var v9 uint8 = 6
		v6.Elem3 = v9
		v10 := conformance.ThreeByte{}
		var v11 uint8 = 7
		v10.Elem1 = v11
		var v12 uint8 = 8
		v10.Elem2 = v12
		var v13 uint8 = 9
		v10.Elem3 = v13
		v14 := []conformance.ThreeByte{v2, v6, v10}
		v1.Elems = v14

		decodeSuccessCase{
			name: "3ByteObjectAlignmentInVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.FiveByteInVector{}
		v2 := conformance.FiveByte{}
		var v3 uint32 = 16909060
		v2.Elem1 = v3
		var v4 uint8 = 5
		v2.Elem2 = v4
		v5 := conformance.FiveByte{}
		var v6 uint32 = 101124105
		v5.Elem1 = v6
		var v7 uint8 = 10
		v5.Elem2 = v7
		v8 := conformance.FiveByte{}
		var v9 uint32 = 185339150
		v8.Elem1 = v9
		var v10 uint8 = 15
		v8.Elem2 = v10
		v11 := []conformance.FiveByte{v2, v5, v8}
		v1.Elems = v11

		decodeSuccessCase{
			name: "5ByteObjectAlignmentInVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x04, 0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00,
				0x09, 0x08, 0x07, 0x06, 0x0a, 0x00, 0x00, 0x00,
				0x0e, 0x0d, 0x0c, 0x0b, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ThreeByteInArray{}
		v2 := conformance.ThreeByte{}
		var v3 uint8 = 1
		v2.Elem1 = v3
		var v4 uint8 = 2
		v2.Elem2 = v4
		var v5 uint8 = 3
		v2.Elem3 = v5
		v6 := conformance.ThreeByte{}
		var v7 uint8 = 4
		v6.Elem1 = v7
		var v8 uint8 = 5
		v6.Elem2 = v8
		var v9 uint8 = 6
		v6.Elem3 = v9
		v10 := conformance.ThreeByte{}
		var v11 uint8 = 7
		v10.Elem1 = v11
		var v12 uint8 = 8
		v10.Elem2 = v12
		var v13 uint8 = 9
		v10.Elem3 = v13
		v14 := [3]conformance.ThreeByte{v2, v6, v10}
		v1.Elems = v14

		decodeSuccessCase{
			name: "3ByteObjectAlignmentInArray",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.FiveByteInArray{}
		v2 := conformance.FiveByte{}
		var v3 uint32 = 16909060
		v2.Elem1 = v3
		var v4 uint8 = 5
		v2.Elem2 = v4
		v5 := conformance.FiveByte{}
		var v6 uint32 = 101124105
		v5.Elem1 = v6
		var v7 uint8 = 10
		v5.Elem2 = v7
		v8 := conformance.FiveByte{}
		var v9 uint32 = 185339150
		v8.Elem1 = v9
		var v10 uint8 = 15
		v8.Elem2 = v10
		v11 := [3]conformance.FiveByte{v2, v5, v8}
		v1.Elems = v11

		decodeSuccessCase{
			name: "5ByteObjectAlignmentInArray",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00,
				0x09, 0x08, 0x07, 0x06, 0x0a, 0x00, 0x00, 0x00,
				0x0e, 0x0d, 0x0c, 0x0b, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStruct{}

		decodeSuccessCase{
			name: "EmptyStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStructSandwich{}
		v2 := "before"
		v1.Before = v2
		v3 := conformance.EmptyStruct{}
		v1.Es = v3
		v4 := "after"
		v1.After = v4

		decodeSuccessCase{
			name: "EmptyStructSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Uint8Uint16Uint32Uint64{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint16 = 515
		v1.F2 = v3
		var v4 uint32 = 67438087
		v1.F3 = v4
		var v5 uint64 = 579005069656919567
		v1.F4 = v5

		decodeSuccessCase{
			name: "Uint8Uint16Uint32Uint64",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x03, 0x02, 0x07, 0x06, 0x05, 0x04,
				0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
			},
		}.check(t)
	}

	{
		v1 := conformance.Uint64Uint32Uint16Uint8{}
		var v2 uint64 = 579005069656919567
		v1.F1 = v2
		var v3 uint32 = 67438087
		v1.F2 = v3
		var v4 uint16 = 515
		v1.F3 = v4
		var v5 uint8 = 1
		v1.F4 = v5

		decodeSuccessCase{
			name: "Uint64Uint32Uint16Uint8",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
				0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfSimpleTable{}
		v2 := conformance.SimpleTable{}
		v1.Table = v2

		decodeSuccessCase{
			name: "SimpleTableEmpty",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfSimpleTable{}
		v2 := conformance.SimpleTable{}
		var v3 int64 = 42
		v2.SetX(v3)
		var v4 int64 = 67
		v2.SetY(v4)
		v1.Table = v2

		decodeSuccessCase{
			name: "SimpleTableXAndY",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfSimpleTable{}
		v2 := conformance.SimpleTable{}
		var v3 int64 = 67
		v2.SetY(v3)
		v1.Table = v2

		decodeSuccessCase{
			name: "SimpleTableJustY",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructOfTableWithStringAndVector{}
		v2 := conformance.TableWithStringAndVector{}
		v3 := "hello"
		v2.SetFoo(v3)
		var v4 int32 = 27
		v2.SetBar(v4)
		v1.Table = v2

		decodeSuccessCase{
			name: "TableWithStringAndVectorNoVectorContent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SimpleTableThenUint64{}
		v2 := conformance.SimpleTable{}
		var v3 int64 = 42
		v2.SetX(v3)
		var v4 int64 = 67
		v2.SetY(v4)
		v1.Table = v2
		var v5 uint64 = 16045690984833335023
		v1.Number = v5

		decodeSuccessCase{
			name: "SimpleTableThenUint64",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xef, 0xbe, 0xad, 0xde, 0xef, 0xbe, 0xad, 0xde,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestInlineXUnionInStruct{}
		v2 := "before"
		v1.Before = v2
		v3 := conformance.SampleXUnion{}
		var v4 uint32 = 3735928559
		v3.SetU(v4)
		v1.Xu = v3
		v5 := "after"
		v1.After = v5

		decodeSuccessCase{
			name: "InlineXUnionInStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb2, 0x56, 0x9c, 0x38, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestOptionalXUnionInStruct{}
		v2 := "before"
		v1.Before = v2
		v3 := "after"
		v1.After = v3

		decodeSuccessCase{
			name: "OptionalXUnionInStructAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestOptionalXUnionInStruct{}
		v2 := "before"
		v1.Before = v2
		v3 := &conformance.SampleXUnion{}
		var v4 uint32 = 3735928559
		v3.SetU(v4)
		v1.Xu = v3
		v5 := "after"
		v1.After = v5

		decodeSuccessCase{
			name: "OptionalXUnionInStructPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb2, 0x56, 0x9c, 0x38, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestXUnionInTable{}
		v2 := conformance.XUnionInTable{}
		v3 := "before"
		v2.SetBefore(v3)
		v4 := "after"
		v2.SetAfter(v4)
		v1.Value = v2

		decodeSuccessCase{
			name: "XUnionInTableXUnionAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestXUnionInTable{}
		v2 := conformance.XUnionInTable{}
		v3 := "before"
		v2.SetBefore(v3)
		v4 := conformance.SampleXUnion{}
		var v5 uint32 = 3735928559
		v4.SetU(v5)
		v2.SetXu(v4)
		v6 := "after"
		v2.SetAfter(v6)
		v1.Value = v2

		decodeSuccessCase{
			name: "XUnionInTableXUnionPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x00, 0x00,
				0xb2, 0x56, 0x9c, 0x38, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x66, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestStrictXUnionInStruct{}
		v2 := conformance.SampleStrictXUnion{}
		var v3 uint32 = 3735928559
		v2.SetU(v3)
		v1.Xu = v2

		decodeSuccessCase{
			name: "StrictXUnion",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x72, 0xea, 0xe2, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xef, 0xbe, 0xad, 0xde, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TestAddEthernetDeviceRequest{}
		v2 := "@/dev/sys/pci/00:03.0/e1000/ethernet"
		v1.TopologicalPath = v2
		v3 := conformance.InterfaceConfig{}
		v4 := "ethp0003"
		v3.Name = v4
		v5 := conformance.IpAddressConfig{}
		v6 := true
		v5.SetDhcp(v6)
		v3.IpAddressConfig = v5
		v1.Config = v3
		var v7 uint32 = 4294967295
		v1.ThisShouldBeAHandle = v7

		decodeSuccessCase{
			name: "AddEthernetDeviceRequest",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
				0x40, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x73, 0x79,
				0x73, 0x2f, 0x70, 0x63, 0x69, 0x2f, 0x30, 0x30,
				0x3a, 0x30, 0x33, 0x2e, 0x30, 0x2f, 0x65, 0x31,
				0x30, 0x30, 0x30, 0x2f, 0x65, 0x74, 0x68, 0x65,
				0x72, 0x6e, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00,
				0x65, 0x74, 0x68, 0x70, 0x30, 0x30, 0x30, 0x33,
			},
		}.check(t)
	}

	{
		v1 := conformance.FileGetAttrResponse{}
		var v2 int32 = 2125315759
		v1.S = v2
		v3 := conformance.NodeAttributes{}
		var v4 uint32 = 2518909348
		v3.Mode = v4
		var v5 uint64 = 1
		v3.Id = v5
		var v6 uint64 = 231
		v3.ContentSize = v6
		var v7 uint64 = 231
		v3.StorageSize = v7
		var v8 uint64 = 1
		v3.LinkCount = v8
		var v9 uint64 = 9833440827789222417
		v3.CreationTime = v9
		var v10 uint64 = 72038755451251353
		v3.ModificationTime = v10
		v1.Attributes = v3

		decodeSuccessCase{
			name: "FileGetAttrResponse",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xaf, 0xbe, 0xad, 0x7e, 0x00, 0x00, 0x00, 0x00,
				0xa4, 0x81, 0x23, 0x96, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88,
				0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructWithOptionals{}
		v2 := conformance.EmptyStruct{}
		v1.S = v2
		v3 := &conformance.EmptyStruct{}
		v1.S2 = v3
		v4 := conformance.TableWithEmptyStruct{}
		v5 := conformance.EmptyStruct{}
		v4.SetS(v5)
		v1.T = v4
		v6 := conformance.XUnionWithEmptyStruct{}
		v7 := conformance.EmptyStruct{}
		v6.SetS(v7)
		v1.Xu = v6
		v8 := &conformance.XUnionWithEmptyStruct{}
		v9 := conformance.EmptyStruct{}
		v8.SetS(v9)
		v1.Xu2 = v8
		v10 := conformance.UnionWithEmptyStruct{}
		v11 := conformance.EmptyStruct{}
		v10.SetS(v11)
		v1.U = v10
		v12 := &conformance.UnionWithEmptyStruct{}
		v13 := conformance.EmptyStruct{}
		v12.SetS(v13)
		v1.U2 = v12

		decodeSuccessCase{
			name: "Optionals",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xfe, 0xe0, 0x99, 0x74, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xfe, 0xe0, 0x99, 0x74, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructWithArrays{}
		var v2 int32 = 1
		var v3 int32 = 2
		v4 := [2]int32{v2, v3}
		v1.ArrInt = v4
		v5 := "a"
		v6 := "b"
		v7 := [2]string{v5, v6}
		v1.ArrString = v7
		v8 := "c"
		v9 := &v8
		var v10 *string = nil
		v11 := [2]*string{v9, v10}
		v1.ArrNullableString = v11
		v12 := conformance.StructWithInt{}
		var v13 int32 = 1
		v12.X = v13
		v14 := conformance.StructWithInt{}
		var v15 int32 = 2
		v14.X = v15
		v16 := [2]conformance.StructWithInt{v12, v14}
		v1.ArrStruct = v16
		var v17 *conformance.StructWithInt = nil
		v18 := &conformance.StructWithInt{}
		var v19 int32 = 16909060
		v18.X = v19
		v20 := [2]*conformance.StructWithInt{v17, v18}
		v1.ArrNullableStruct = v20
		var v21 int32 = 1
		var v22 int32 = 2
		var v23 int32 = 3
		v24 := [3]int32{v21, v22, v23}
		var v25 int32 = 4
		var v26 int32 = 5
		var v27 int32 = 6
		v28 := [3]int32{v25, v26, v27}
		v29 := [2][3]int32{v24, v28}
		v1.ArrArrInt = v29

		decodeSuccessCase{
			name: "Arrays",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
				0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StructWithVectors{}
		v2 := []int32{}
		v1.VecEmpty = v2
		var v3 int32 = 1
		var v4 int32 = 2
		v5 := []int32{v3, v4}
		v1.VecInt = v5
		v6 := "a"
		v7 := "b"
		v8 := []string{v6, v7}
		v1.VecString = v8
		var v9 *string = nil
		v10 := "c"
		v11 := &v10
		var v12 *string = nil
		v13 := []*string{v9, v11, v12}
		v1.VecNullableString = v13
		v14 := conformance.StructWithInt{}
		var v15 int32 = 1
		v14.X = v15
		v16 := []conformance.StructWithInt{v14}
		v1.VecStruct = v16
		var v17 *conformance.StructWithInt = nil
		var v18 *conformance.StructWithInt = nil
		v19 := &conformance.StructWithInt{}
		var v20 int32 = 2
		v19.X = v20
		v21 := []*conformance.StructWithInt{v17, v18, v19}
		v1.VecNullableStruct = v21
		var v22 int32 = 1
		var v23 int32 = 2
		v24 := []int32{v22, v23}
		var v25 int32 = 3
		v26 := []int32{v25}
		v27 := [][]int32{v24, v26}
		v1.VecVecInt = v27

		decodeSuccessCase{
			name: "Vectors",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyBool{}
		v2 := true
		v1.Value = v2

		decodeSuccessCase{
			name: "BoolTrue",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyBool{}
		v2 := false
		v1.Value = v2

		decodeSuccessCase{
			name: "BoolFalse",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyByte{}
		var v2 uint8 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "ByteZero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyByte{}
		var v2 uint8 = 255
		v1.Value = v2

		decodeSuccessCase{
			name: "Byte255",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt8{}
		var v2 int8 = -128
		v1.Value = v2

		decodeSuccessCase{
			name: "Int8Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt8{}
		var v2 int8 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Int8Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt8{}
		var v2 int8 = 127
		v1.Value = v2

		decodeSuccessCase{
			name: "Int8Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt16{}
		var v2 int16 = -32768
		v1.Value = v2

		decodeSuccessCase{
			name: "Int16Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt16{}
		var v2 int16 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Int16Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt16{}
		var v2 int16 = 32767
		v1.Value = v2

		decodeSuccessCase{
			name: "Int16Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt32{}
		var v2 int32 = -2147483648
		v1.Value = v2

		decodeSuccessCase{
			name: "Int32Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt32{}
		var v2 int32 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Int32Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt32{}
		var v2 int32 = 2147483647
		v1.Value = v2

		decodeSuccessCase{
			name: "Int32Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt64{}
		var v2 int64 = -9223372036854775808
		v1.Value = v2

		decodeSuccessCase{
			name: "Int64Min",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt64{}
		var v2 int64 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Int64Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyInt64{}
		var v2 int64 = 9223372036854775807
		v1.Value = v2

		decodeSuccessCase{
			name: "Int64Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint8{}
		var v2 uint8 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint8Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint8{}
		var v2 uint8 = 255
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint8Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint16{}
		var v2 uint16 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint16Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint16{}
		var v2 uint16 = 65535
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint16Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint32{}
		var v2 uint32 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint32Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint32{}
		var v2 uint32 = 4294967295
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint32Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint64{}
		var v2 uint64 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint64Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyUint64{}
		var v2 uint64 = 18446744073709551615
		v1.Value = v2

		decodeSuccessCase{
			name: "Uint64Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Float32Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = 1
		v1.Value = v2

		decodeSuccessCase{
			name: "Float32One",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = -1
		v1.Value = v2

		decodeSuccessCase{
			name: "Float32MinusOne",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x80, 0xbf, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat32{}
		var v2 float32 = 3.4028234663852886e+38
		v1.Value = v2

		decodeSuccessCase{
			name: "Float32Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0x7f, 0x7f, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = 0
		v1.Value = v2

		decodeSuccessCase{
			name: "Float64Zero",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = 1
		v1.Value = v2

		decodeSuccessCase{
			name: "Float64One",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = -1
		v1.Value = v2

		decodeSuccessCase{
			name: "Float64MinusOne",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xbf,
			},
		}.check(t)
	}

	{
		v1 := conformance.MyFloat64{}
		var v2 float64 = 1.7976931348623157e+308
		v1.Value = v2

		decodeSuccessCase{
			name: "Float64Max",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x7f,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich1Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich1Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := &conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.OptUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich1WithOptUnionPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := &conformance.UnionSize8Align4{}
		var v4 uint32 = 202050057
		v3.SetVariant(v4)
		v1.OptUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich1WithOptUnionPresent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		var v3 uint32 = 134678021
		v1.After = v3

		decodeSuccessCase{
			name: "Sandwich1WithOptUnionAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich1WithOptUnion{}
		var v2 uint32 = 67305985
		v1.Before = v2
		var v3 uint32 = 134678021
		v1.After = v3

		decodeSuccessCase{
			name: "Sandwich1WithOptUnionAbsent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich2{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize12Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVariant(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		decodeSuccessCase{
			name: "Sandwich2Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich2{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize12Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVariant(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		decodeSuccessCase{
			name: "Sandwich2Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich3{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize24Align8{}
		v4 := conformance.StructSize16Align8{}
		var v5 uint64 = 12080525177006498208
		v4.F1 = v5
		var v6 uint64 = 12659246559711111592
		v4.F2 = v6
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		decodeSuccessCase{
			name: "Sandwich3Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich3{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize24Align8{}
		v4 := conformance.StructSize16Align8{}
		var v5 uint64 = 12080525177006498208
		v4.F1 = v5
		var v6 uint64 = 12659246559711111592
		v4.F2 = v6
		v3.SetVariant(v4)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		decodeSuccessCase{
			name: "Sandwich3Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize36Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		var v10 uint8 = 166
		var v11 uint8 = 167
		var v12 uint8 = 168
		var v13 uint8 = 169
		var v14 uint8 = 170
		var v15 uint8 = 171
		var v16 uint8 = 172
		var v17 uint8 = 173
		var v18 uint8 = 174
		var v19 uint8 = 175
		var v20 uint8 = 176
		var v21 uint8 = 177
		var v22 uint8 = 178
		var v23 uint8 = 179
		var v24 uint8 = 180
		var v25 uint8 = 181
		var v26 uint8 = 182
		var v27 uint8 = 183
		var v28 uint8 = 184
		var v29 uint8 = 185
		var v30 uint8 = 186
		var v31 uint8 = 187
		var v32 uint8 = 188
		var v33 uint8 = 189
		var v34 uint8 = 190
		var v35 uint8 = 191
		v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
		v3.SetVariant(v36)
		v1.TheUnion = v3
		var v37 uint32 = 134678021
		v1.After = v37

		decodeSuccessCase{
			name: "Sandwich4Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionSize36Align4{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		var v10 uint8 = 166
		var v11 uint8 = 167
		var v12 uint8 = 168
		var v13 uint8 = 169
		var v14 uint8 = 170
		var v15 uint8 = 171
		var v16 uint8 = 172
		var v17 uint8 = 173
		var v18 uint8 = 174
		var v19 uint8 = 175
		var v20 uint8 = 176
		var v21 uint8 = 177
		var v22 uint8 = 178
		var v23 uint8 = 179
		var v24 uint8 = 180
		var v25 uint8 = 181
		var v26 uint8 = 182
		var v27 uint8 = 183
		var v28 uint8 = 184
		var v29 uint8 = 185
		var v30 uint8 = 186
		var v31 uint8 = 187
		var v32 uint8 = 188
		var v33 uint8 = 189
		var v34 uint8 = 190
		var v35 uint8 = 191
		v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
		v3.SetVariant(v36)
		v1.TheUnion = v3
		var v37 uint32 = 134678021
		v1.After = v37

		decodeSuccessCase{
			name: "Sandwich4Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		decodeSuccessCase{
			name: "Sandwich5Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		decodeSuccessCase{
			name: "Sandwich5Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize24Align8{}
		v5 := conformance.StructSize16Align8{}
		var v6 uint64 = 12080525177006498208
		v5.F1 = v6
		var v7 uint64 = 12659246559711111592
		v5.F2 = v7
		v4.SetVariant(v5)
		v3.SetSize24align8(v4)
		v1.UnionOfUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		decodeSuccessCase{
			name: "Sandwich5Case2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich5{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize24Align8{}
		v5 := conformance.StructSize16Align8{}
		var v6 uint64 = 12080525177006498208
		v5.F1 = v6
		var v7 uint64 = 12659246559711111592
		v5.F2 = v7
		v4.SetVariant(v5)
		v3.SetSize24align8(v4)
		v1.UnionOfUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		decodeSuccessCase{
			name: "Sandwich5Case2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := []uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVectorOfUint8(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		decodeSuccessCase{
			name: "Sandwich6Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint8 = 160
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		var v8 uint8 = 164
		var v9 uint8 = 165
		v10 := []uint8{v4, v5, v6, v7, v8, v9}
		v3.SetVectorOfUint8(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		decodeSuccessCase{
			name: "Sandwich6Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := []uint8{}
		v3.SetVectorOfUint8(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich6Case1AbsentVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := []uint8{}
		v3.SetVectorOfUint8(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich6Case1AbsentVector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := "soft migrations rock!"
		v3.SetS(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich6Case2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := "soft migrations rock!"
		v3.SetS(v4)
		v1.TheUnion = v3
		var v5 uint32 = 134678021
		v1.After = v5

		decodeSuccessCase{
			name: "Sandwich6Case2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 115
		var v6 uint8 = 111
		var v7 uint8 = 102
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 32
		var v11 uint8 = 109
		var v12 uint8 = 105
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := conformance.StructSize3Align1{}
		var v15 uint8 = 114
		var v16 uint8 = 97
		var v17 uint8 = 116
		v18 := [3]uint8{v15, v16, v17}
		v14.ThreeBytes = v18
		v19 := []conformance.StructSize3Align1{v4, v9, v14}
		v3.SetVectorS3A1(v19)
		v1.TheUnion = v3
		var v20 uint32 = 134678021
		v1.After = v20

		decodeSuccessCase{
			name: "Sandwich6Case3",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x73, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x72, 0x61,
				0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 115
		var v6 uint8 = 111
		var v7 uint8 = 102
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 32
		var v11 uint8 = 109
		var v12 uint8 = 105
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := conformance.StructSize3Align1{}
		var v15 uint8 = 114
		var v16 uint8 = 97
		var v17 uint8 = 116
		v18 := [3]uint8{v15, v16, v17}
		v14.ThreeBytes = v18
		v19 := []conformance.StructSize3Align1{v4, v9, v14}
		v3.SetVectorS3A1(v19)
		v1.TheUnion = v3
		var v20 uint32 = 134678021
		v1.After = v20

		decodeSuccessCase{
			name: "Sandwich6Case3_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x20, 0x6d, 0x69, 0x72, 0x61,
				0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 28531
		v4.F1 = v5
		var v6 uint8 = 102
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 27936
		v7.F1 = v8
		var v9 uint8 = 105
		v7.F2 = v9
		v10 := conformance.StructSize3Align2{}
		var v11 uint16 = 24946
		v10.F1 = v11
		var v12 uint8 = 116
		v10.F2 = v12
		v13 := []conformance.StructSize3Align2{v4, v7, v10}
		v3.SetVectorS3A2(v13)
		v1.TheUnion = v3
		var v14 uint32 = 134678021
		v1.After = v14

		decodeSuccessCase{
			name: "Sandwich6Case4",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x73, 0x6f, 0x66, 0x00, 0x20, 0x6d, 0x69, 0x00,
				0x72, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 28531
		v4.F1 = v5
		var v6 uint8 = 102
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 27936
		v7.F1 = v8
		var v9 uint8 = 105
		v7.F2 = v9
		v10 := conformance.StructSize3Align2{}
		var v11 uint16 = 24946
		v10.F1 = v11
		var v12 uint8 = 116
		v10.F2 = v12
		v13 := []conformance.StructSize3Align2{v4, v7, v10}
		v3.SetVectorS3A2(v13)
		v1.TheUnion = v3
		var v14 uint32 = 134678021
		v1.After = v14

		decodeSuccessCase{
			name: "Sandwich6Case4_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x00, 0x20, 0x6d, 0x69, 0x00,
				0x72, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint32 = 4294967295
		var v5 uint32 = 4294967295
		var v6 uint32 = 4294967295
		v7 := []uint32{v4, v5, v6}
		v3.SetHandles(v7)
		v1.TheUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		decodeSuccessCase{
			name: "Sandwich6Case5",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		var v4 uint32 = 4294967295
		var v5 uint32 = 4294967295
		var v6 uint32 = 4294967295
		v7 := []uint32{v4, v5, v6}
		v3.SetHandles(v7)
		v1.TheUnion = v3
		var v8 uint32 = 134678021
		v1.After = v8

		decodeSuccessCase{
			name: "Sandwich6Case5_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 164
		var v11 uint8 = 165
		var v12 uint8 = 166
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := [2]conformance.StructSize3Align1{v4, v9}
		v3.SetArrayS3A1(v14)
		v1.TheUnion = v3
		var v15 uint32 = 134678021
		v1.After = v15

		decodeSuccessCase{
			name: "Sandwich6Case6",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 161
		var v6 uint8 = 162
		var v7 uint8 = 163
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 164
		var v11 uint8 = 165
		var v12 uint8 = 166
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := [2]conformance.StructSize3Align1{v4, v9}
		v3.SetArrayS3A1(v14)
		v1.TheUnion = v3
		var v15 uint32 = 134678021
		v1.After = v15

		decodeSuccessCase{
			name: "Sandwich6Case6_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 41633
		v4.F1 = v5
		var v6 uint8 = 163
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 42404
		v7.F1 = v8
		var v9 uint8 = 166
		v7.F2 = v9
		v10 := [2]conformance.StructSize3Align2{v4, v7}
		v3.SetArrayS3A2(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		decodeSuccessCase{
			name: "Sandwich6Case7",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0x00, 0xa4, 0xa5, 0xa6, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.StructSize3Align2{}
		var v5 uint16 = 41633
		v4.F1 = v5
		var v6 uint8 = 163
		v4.F2 = v6
		v7 := conformance.StructSize3Align2{}
		var v8 uint16 = 42404
		v7.F1 = v8
		var v9 uint8 = 166
		v7.F2 = v9
		v10 := [2]conformance.StructSize3Align2{v4, v7}
		v3.SetArrayS3A2(v10)
		v1.TheUnion = v3
		var v11 uint32 = 134678021
		v1.After = v11

		decodeSuccessCase{
			name: "Sandwich6Case7_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xa1, 0xa2, 0xa3, 0x00, 0xa4, 0xa5, 0xa6, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v6 := []conformance.UnionSize8Align4{v4}
		v3.SetVectorUnion(v6)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		decodeSuccessCase{
			name: "Sandwich6Case8",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich6{}
		var v2 uint32 = 67305985
		v1.Before = v2
		v3 := conformance.UnionWithVector{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v6 := []conformance.UnionSize8Align4{v4}
		v3.SetVectorUnion(v6)
		v1.TheUnion = v3
		var v7 uint32 = 134678021
		v1.After = v7

		decodeSuccessCase{
			name: "Sandwich6Case8_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		v3 := &conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v1.OptSandwich1 = v3
		var v8 uint32 = 606282273
		v1.After = v8

		decodeSuccessCase{
			name: "Sandwich7Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		v3 := &conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v1.OptSandwich1 = v3
		var v8 uint32 = 606282273
		v1.After = v8

		decodeSuccessCase{
			name: "Sandwich7Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		var v3 uint32 = 606282273
		v1.After = v3

		decodeSuccessCase{
			name: "Sandwich7Case2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich7{}
		var v2 uint32 = 336794129
		v1.Before = v2
		var v3 uint32 = 606282273
		v1.After = v3

		decodeSuccessCase{
			name: "Sandwich7Case2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x12, 0x13, 0x14, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x21, 0x22, 0x23, 0x24, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression1{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		var v4 uint8 = 3
		v1.F3 = v4
		var v5 uint16 = 4
		v1.F4 = v5
		var v6 uint64 = 5
		v1.F5 = v6
		var v7 uint8 = 6
		v1.F6 = v7

		decodeSuccessCase{
			name: "Regression1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression1{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		var v4 uint8 = 3
		v1.F3 = v4
		var v5 uint16 = 4
		v1.F4 = v5
		var v6 uint64 = 5
		v1.F5 = v6
		var v7 uint8 = 6
		v1.F6 = v7

		decodeSuccessCase{
			name: "Regression1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression2{}
		v2 := conformance.Regression1{}
		var v3 uint8 = 1
		v2.F1 = v3
		var v4 uint32 = 2
		v2.F2 = v4
		var v5 uint8 = 3
		v2.F3 = v5
		var v6 uint16 = 4
		v2.F4 = v6
		var v7 uint64 = 5
		v2.F5 = v7
		var v8 uint8 = 6
		v2.F6 = v8
		v1.Head = v2
		var v9 uint8 = 7
		v1.F7 = v9

		decodeSuccessCase{
			name: "Regression2",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression2{}
		v2 := conformance.Regression1{}
		var v3 uint8 = 1
		v2.F1 = v3
		var v4 uint32 = 2
		v2.F2 = v4
		var v5 uint8 = 3
		v2.F3 = v5
		var v6 uint16 = 4
		v2.F4 = v6
		var v7 uint64 = 5
		v2.F5 = v7
		var v8 uint8 = 6
		v2.F6 = v8
		v1.Head = v2
		var v9 uint8 = 7
		v1.F7 = v9

		decodeSuccessCase{
			name: "Regression2_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}

		decodeSuccessCase{
			name: "Regression3Absent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}

		decodeSuccessCase{
			name: "Regression3Absent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}
		v2 := &conformance.Regression2{}
		v3 := conformance.Regression1{}
		var v4 uint8 = 1
		v3.F1 = v4
		var v5 uint32 = 2
		v3.F2 = v5
		var v6 uint8 = 3
		v3.F3 = v6
		var v7 uint16 = 4
		v3.F4 = v7
		var v8 uint64 = 5
		v3.F5 = v8
		var v9 uint8 = 6
		v3.F6 = v9
		v2.Head = v3
		var v10 uint8 = 7
		v2.F7 = v10
		v1.OptValue = v2

		decodeSuccessCase{
			name: "Regression3Present",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression3{}
		v2 := &conformance.Regression2{}
		v3 := conformance.Regression1{}
		var v4 uint8 = 1
		v3.F1 = v4
		var v5 uint32 = 2
		v3.F2 = v5
		var v6 uint8 = 3
		v3.F3 = v6
		var v7 uint16 = 4
		v3.F4 = v7
		var v8 uint64 = 5
		v3.F5 = v8
		var v9 uint8 = 6
		v3.F6 = v9
		v2.Head = v3
		var v10 uint8 = 7
		v2.F7 = v10
		v1.OptValue = v2

		decodeSuccessCase{
			name: "Regression3Present_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Array{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := conformance.Size5Alignment1{}
		var v17 uint8 = 11
		var v18 uint8 = 12
		var v19 uint8 = 13
		var v20 uint8 = 14
		var v21 uint8 = 15
		v22 := [5]uint8{v17, v18, v19, v20, v21}
		v16.Data = v22
		v23 := [3]conformance.Size5Alignment1{v2, v9, v16}
		v1.A = v23

		decodeSuccessCase{
			name: "Size5Alignment1Array",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Array{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := conformance.Size5Alignment1{}
		var v17 uint8 = 11
		var v18 uint8 = 12
		var v19 uint8 = 13
		var v20 uint8 = 14
		var v21 uint8 = 15
		v22 := [5]uint8{v17, v18, v19, v20, v21}
		v16.Data = v22
		v23 := [3]conformance.Size5Alignment1{v2, v9, v16}
		v1.A = v23

		decodeSuccessCase{
			name: "Size5Alignment1Array_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Array{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := conformance.Size5Alignment4{}
		var v9 uint32 = 235736075
		v8.Four = v9
		var v10 uint8 = 15
		v8.One = v10
		v11 := [3]conformance.Size5Alignment4{v2, v5, v8}
		v1.A = v11

		decodeSuccessCase{
			name: "Size5Alignment4Array",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
				0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Array{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := conformance.Size5Alignment4{}
		var v9 uint32 = 235736075
		v8.Four = v9
		var v10 uint8 = 15
		v8.One = v10
		v11 := [3]conformance.Size5Alignment4{v2, v5, v8}
		v1.A = v11

		decodeSuccessCase{
			name: "Size5Alignment4Array_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
				0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Vector{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := []conformance.Size5Alignment1{v2, v9}
		v1.V = v16

		decodeSuccessCase{
			name: "Size5Alignment1Vector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment1Vector{}
		v2 := conformance.Size5Alignment1{}
		var v3 uint8 = 1
		var v4 uint8 = 2
		var v5 uint8 = 3
		var v6 uint8 = 4
		var v7 uint8 = 5
		v8 := [5]uint8{v3, v4, v5, v6, v7}
		v2.Data = v8
		v9 := conformance.Size5Alignment1{}
		var v10 uint8 = 6
		var v11 uint8 = 7
		var v12 uint8 = 8
		var v13 uint8 = 9
		var v14 uint8 = 10
		v15 := [5]uint8{v10, v11, v12, v13, v14}
		v9.Data = v15
		v16 := []conformance.Size5Alignment1{v2, v9}
		v1.V = v16

		decodeSuccessCase{
			name: "Size5Alignment1Vector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
				0x09, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Vector{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := []conformance.Size5Alignment4{v2, v5}
		v1.V = v8

		decodeSuccessCase{
			name: "Size5Alignment4Vector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Size5Alignment4Vector{}
		v2 := conformance.Size5Alignment4{}
		var v3 uint32 = 67305985
		v2.Four = v3
		var v4 uint8 = 5
		v2.One = v4
		v5 := conformance.Size5Alignment4{}
		var v6 uint32 = 151521030
		v5.Four = v6
		var v7 uint8 = 10
		v5.One = v7
		v8 := []conformance.Size5Alignment4{v2, v5}
		v1.V = v8

		decodeSuccessCase{
			name: "Size5Alignment4Vector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00,
				0x06, 0x07, 0x08, 0x09, 0x0a, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithReservedSandwichStruct{}
		v2 := conformance.TableStructWithReservedSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 9
		var v5 uint8 = 10
		var v6 uint8 = 11
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.StructSize3Align1{}
		var v9 uint8 = 25
		var v10 uint8 = 26
		var v11 uint8 = 27
		v12 := [3]uint8{v9, v10, v11}
		v8.ThreeBytes = v12
		v2.SetS2(v8)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_StructWithReservedSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithReservedSandwichStruct{}
		v2 := conformance.TableStructWithReservedSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 9
		var v5 uint8 = 10
		var v6 uint8 = 11
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.StructSize3Align1{}
		var v9 uint8 = 25
		var v10 uint8 = 26
		var v11 uint8 = 27
		v12 := [3]uint8{v9, v10, v11}
		v8.ThreeBytes = v12
		v2.SetS2(v8)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_StructWithReservedSandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithUint32SandwichStruct{}
		v2 := conformance.TableStructWithUint32Sandwich{}
		var v3 uint32 = 67305985
		v2.SetI(v3)
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v2.SetS1(v4)
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 25
		var v11 uint8 = 26
		var v12 uint8 = 27
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v2.SetS2(v9)
		var v14 uint32 = 218893066
		v2.SetI2(v14)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_StructWithUint32Sandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableStructWithUint32SandwichStruct{}
		v2 := conformance.TableStructWithUint32Sandwich{}
		var v3 uint32 = 67305985
		v2.SetI(v3)
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v2.SetS1(v4)
		v9 := conformance.StructSize3Align1{}
		var v10 uint8 = 25
		var v11 uint8 = 26
		var v12 uint8 = 27
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v2.SetS2(v9)
		var v14 uint32 = 218893066
		v2.SetI2(v14)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_StructWithUint32Sandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x19, 0x1a, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorReservedSandwichStruct{}
		v2 := conformance.TableUnionWithVectorReservedSandwich{}
		v3 := conformance.UnionWithVector{}
		v4 := "hello"
		v3.SetS(v4)
		v2.SetUv(v3)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_UnionWithVector_ReservedSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorReservedSandwichStruct{}
		v2 := conformance.TableUnionWithVectorReservedSandwich{}
		v3 := conformance.UnionWithVector{}
		v4 := "hello"
		v3.SetS(v4)
		v2.SetUv(v3)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_UnionWithVector_ReservedSandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorStructSandwichStruct{}
		v2 := conformance.TableUnionWithVectorStructSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.UnionWithVector{}
		v9 := "hello"
		v8.SetS(v9)
		v2.SetUv(v8)
		v10 := conformance.StructSize3Align1{}
		var v11 uint8 = 4
		var v12 uint8 = 5
		var v13 uint8 = 6
		v14 := [3]uint8{v11, v12, v13}
		v10.ThreeBytes = v14
		v2.SetS2(v10)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_UnionWithVector_StructSandwich",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TableUnionWithVectorStructSandwichStruct{}
		v2 := conformance.TableUnionWithVectorStructSandwich{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS1(v3)
		v8 := conformance.UnionWithVector{}
		v9 := "hello"
		v8.SetS(v9)
		v2.SetUv(v8)
		v10 := conformance.StructSize3Align1{}
		var v11 uint8 = 4
		var v12 uint8 = 5
		var v13 uint8 = 6
		v14 := [3]uint8{v11, v12, v13}
		v10.ThreeBytes = v14
		v2.SetS2(v10)
		v1.Table = v2

		decodeSuccessCase{
			name: "Table_UnionWithVector_StructSandwich_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.XUnionWithStructStruct{}
		v2 := conformance.XUnionWithStruct{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS(v3)
		v1.Xu = v2

		decodeSuccessCase{
			name: "XUnionWithStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x14, 0x5c, 0x3e, 0x19, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.XUnionWithStructStruct{}
		v2 := conformance.XUnionWithStruct{}
		v3 := conformance.StructSize3Align1{}
		var v4 uint8 = 1
		var v5 uint8 = 2
		var v6 uint8 = 3
		v7 := [3]uint8{v4, v5, v6}
		v3.ThreeBytes = v7
		v2.SetS(v3)
		v1.Xu = v2

		decodeSuccessCase{
			name: "XUnionWithStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x14, 0x5c, 0x3e, 0x19, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ArrayStruct{}
		v2 := conformance.StringUnion{}
		v3 := "one"
		v2.SetS(v3)
		v4 := conformance.StringUnion{}
		v5 := "two"
		v4.SetS(v5)
		v6 := conformance.StringUnion{}
		v7 := "three"
		v6.SetS(v7)
		v8 := [3]conformance.StringUnion{v2, v4, v6}
		v1.Unions = v8
		v9 := &conformance.StringUnion{}
		v10 := "four"
		v9.SetS(v10)
		v11 := &conformance.StringUnion{}
		v12 := "five"
		v11.SetS(v12)
		v13 := &conformance.StringUnion{}
		v14 := "six"
		v13.SetS(v14)
		v15 := [3]*conformance.StringUnion{v9, v11, v13}
		v1.OptionalUnions = v15

		decodeSuccessCase{
			name: "ArrayStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x74, 0x77, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x74, 0x68, 0x72, 0x65, 0x65, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x6f, 0x75, 0x72, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x69, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.ArrayStruct{}
		v2 := conformance.StringUnion{}
		v3 := "one"
		v2.SetS(v3)
		v4 := conformance.StringUnion{}
		v5 := "two"
		v4.SetS(v5)
		v6 := conformance.StringUnion{}
		v7 := "three"
		v6.SetS(v7)
		v8 := [3]conformance.StringUnion{v2, v4, v6}
		v1.Unions = v8
		v9 := &conformance.StringUnion{}
		v10 := "four"
		v9.SetS(v10)
		v11 := &conformance.StringUnion{}
		v12 := "five"
		v11.SetS(v12)
		v13 := &conformance.StringUnion{}
		v14 := "six"
		v13.SetS(v14)
		v15 := [3]*conformance.StringUnion{v9, v11, v13}
		v1.OptionalUnions = v15

		decodeSuccessCase{
			name: "ArrayStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x6f, 0x6e, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x74, 0x77, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x74, 0x68, 0x72, 0x65, 0x65, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x6f, 0x75, 0x72, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x66, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x69, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TransformerEmptyStruct{}

		decodeSuccessCase{
			name: "TransformerEmptyStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.TransformerEmptyStruct{}

		decodeSuccessCase{
			name: "TransformerEmptyStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStructUnionStruct{}
		v2 := conformance.EmptyStructUnion{}
		v3 := conformance.TransformerEmptyStruct{}
		v2.SetEs(v3)
		v1.U = v2

		decodeSuccessCase{
			name: "EmptyStructUnion",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.EmptyStructUnionStruct{}
		v2 := conformance.EmptyStructUnion{}
		v3 := conformance.TransformerEmptyStruct{}
		v2.SetEs(v3)
		v1.U = v2

		decodeSuccessCase{
			name: "EmptyStructUnion_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.NoCodingTablesStressor{}
		var v2 uint64 = 1229782938247303441
		v1.F1 = v2
		var v3 uint64 = 2459565876494606882
		v1.F2 = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 51
		var v6 uint8 = 51
		var v7 uint8 = 51
		var v8 uint8 = 51
		var v9 uint8 = 51
		var v10 uint8 = 51
		var v11 uint8 = 51
		var v12 uint8 = 51
		var v13 uint8 = 51
		var v14 uint8 = 51
		var v15 uint8 = 51
		var v16 uint8 = 51
		var v17 uint8 = 51
		var v18 uint8 = 51
		var v19 uint8 = 51
		var v20 uint8 = 51
		var v21 uint8 = 51
		var v22 uint8 = 51
		var v23 uint8 = 51
		var v24 uint8 = 51
		var v25 uint8 = 51
		var v26 uint8 = 51
		var v27 uint8 = 51
		var v28 uint8 = 51
		var v29 uint8 = 51
		var v30 uint8 = 51
		var v31 uint8 = 51
		var v32 uint8 = 51
		var v33 uint8 = 51
		var v34 uint8 = 51
		var v35 uint8 = 51
		var v36 uint8 = 51
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v1.U1 = v4
		var v38 uint64 = 4919131752989213764
		v1.F3 = v38
		var v39 uint64 = 6148914691236517205
		v1.F4 = v39
		v40 := conformance.UnionSize36Align4{}
		var v41 uint8 = 102
		var v42 uint8 = 102
		var v43 uint8 = 102
		var v44 uint8 = 102
		var v45 uint8 = 102
		var v46 uint8 = 102
		var v47 uint8 = 102
		var v48 uint8 = 102
		var v49 uint8 = 102
		var v50 uint8 = 102
		var v51 uint8 = 102
		var v52 uint8 = 102
		var v53 uint8 = 102
		var v54 uint8 = 102
		var v55 uint8 = 102
		var v56 uint8 = 102
		var v57 uint8 = 102
		var v58 uint8 = 102
		var v59 uint8 = 102
		var v60 uint8 = 102
		var v61 uint8 = 102
		var v62 uint8 = 102
		var v63 uint8 = 102
		var v64 uint8 = 102
		var v65 uint8 = 102
		var v66 uint8 = 102
		var v67 uint8 = 102
		var v68 uint8 = 102
		var v69 uint8 = 102
		var v70 uint8 = 102
		var v71 uint8 = 102
		var v72 uint8 = 102
		v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
		v40.SetVariant(v73)
		v1.U2 = v40
		var v74 uint64 = 8608480567731124087
		v1.F5 = v74
		var v75 uint64 = 9838263505978427528
		v1.F6 = v75
		v76 := conformance.UnionSize36Align4{}
		var v77 uint8 = 153
		var v78 uint8 = 153
		var v79 uint8 = 153
		var v80 uint8 = 153
		var v81 uint8 = 153
		var v82 uint8 = 153
		var v83 uint8 = 153
		var v84 uint8 = 153
		var v85 uint8 = 153
		var v86 uint8 = 153
		var v87 uint8 = 153
		var v88 uint8 = 153
		var v89 uint8 = 153
		var v90 uint8 = 153
		var v91 uint8 = 153
		var v92 uint8 = 153
		var v93 uint8 = 153
		var v94 uint8 = 153
		var v95 uint8 = 153
		var v96 uint8 = 153
		var v97 uint8 = 153
		var v98 uint8 = 153
		var v99 uint8 = 153
		var v100 uint8 = 153
		var v101 uint8 = 153
		var v102 uint8 = 153
		var v103 uint8 = 153
		var v104 uint8 = 153
		var v105 uint8 = 153
		var v106 uint8 = 153
		var v107 uint8 = 153
		var v108 uint8 = 153
		v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
		v76.SetVariant(v109)
		v1.U3 = v76
		var v110 uint64 = 12297829382473034410
		v1.F7 = v110
		v111 := &conformance.Size8Align8{}
		var v112 uint64 = 17216961135462248174
		v111.Data = v112
		v1.P1 = v111
		var v113 uint64 = 13527612320720337851
		v1.F8 = v113
		v114 := &conformance.Size8Align8{}
		var v115 uint64 = 17216961135462248174
		v114.Data = v115
		v1.P2 = v114
		var v116 uint64 = 15987178197214944733
		v1.F9 = v116

		decodeSuccessCase{
			name: "NoCodingTablesStressor",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
				0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
				0x03, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
				0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
				0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
				0x03, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
				0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
				0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
				0x03, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x00, 0x00, 0x00, 0x00,
				0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
			},
		}.check(t)
	}

	{
		v1 := conformance.NoCodingTablesStressor{}
		var v2 uint64 = 1229782938247303441
		v1.F1 = v2
		var v3 uint64 = 2459565876494606882
		v1.F2 = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 51
		var v6 uint8 = 51
		var v7 uint8 = 51
		var v8 uint8 = 51
		var v9 uint8 = 51
		var v10 uint8 = 51
		var v11 uint8 = 51
		var v12 uint8 = 51
		var v13 uint8 = 51
		var v14 uint8 = 51
		var v15 uint8 = 51
		var v16 uint8 = 51
		var v17 uint8 = 51
		var v18 uint8 = 51
		var v19 uint8 = 51
		var v20 uint8 = 51
		var v21 uint8 = 51
		var v22 uint8 = 51
		var v23 uint8 = 51
		var v24 uint8 = 51
		var v25 uint8 = 51
		var v26 uint8 = 51
		var v27 uint8 = 51
		var v28 uint8 = 51
		var v29 uint8 = 51
		var v30 uint8 = 51
		var v31 uint8 = 51
		var v32 uint8 = 51
		var v33 uint8 = 51
		var v34 uint8 = 51
		var v35 uint8 = 51
		var v36 uint8 = 51
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v1.U1 = v4
		var v38 uint64 = 4919131752989213764
		v1.F3 = v38
		var v39 uint64 = 6148914691236517205
		v1.F4 = v39
		v40 := conformance.UnionSize36Align4{}
		var v41 uint8 = 102
		var v42 uint8 = 102
		var v43 uint8 = 102
		var v44 uint8 = 102
		var v45 uint8 = 102
		var v46 uint8 = 102
		var v47 uint8 = 102
		var v48 uint8 = 102
		var v49 uint8 = 102
		var v50 uint8 = 102
		var v51 uint8 = 102
		var v52 uint8 = 102
		var v53 uint8 = 102
		var v54 uint8 = 102
		var v55 uint8 = 102
		var v56 uint8 = 102
		var v57 uint8 = 102
		var v58 uint8 = 102
		var v59 uint8 = 102
		var v60 uint8 = 102
		var v61 uint8 = 102
		var v62 uint8 = 102
		var v63 uint8 = 102
		var v64 uint8 = 102
		var v65 uint8 = 102
		var v66 uint8 = 102
		var v67 uint8 = 102
		var v68 uint8 = 102
		var v69 uint8 = 102
		var v70 uint8 = 102
		var v71 uint8 = 102
		var v72 uint8 = 102
		v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
		v40.SetVariant(v73)
		v1.U2 = v40
		var v74 uint64 = 8608480567731124087
		v1.F5 = v74
		var v75 uint64 = 9838263505978427528
		v1.F6 = v75
		v76 := conformance.UnionSize36Align4{}
		var v77 uint8 = 153
		var v78 uint8 = 153
		var v79 uint8 = 153
		var v80 uint8 = 153
		var v81 uint8 = 153
		var v82 uint8 = 153
		var v83 uint8 = 153
		var v84 uint8 = 153
		var v85 uint8 = 153
		var v86 uint8 = 153
		var v87 uint8 = 153
		var v88 uint8 = 153
		var v89 uint8 = 153
		var v90 uint8 = 153
		var v91 uint8 = 153
		var v92 uint8 = 153
		var v93 uint8 = 153
		var v94 uint8 = 153
		var v95 uint8 = 153
		var v96 uint8 = 153
		var v97 uint8 = 153
		var v98 uint8 = 153
		var v99 uint8 = 153
		var v100 uint8 = 153
		var v101 uint8 = 153
		var v102 uint8 = 153
		var v103 uint8 = 153
		var v104 uint8 = 153
		var v105 uint8 = 153
		var v106 uint8 = 153
		var v107 uint8 = 153
		var v108 uint8 = 153
		v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
		v76.SetVariant(v109)
		v1.U3 = v76
		var v110 uint64 = 12297829382473034410
		v1.F7 = v110
		v111 := &conformance.Size8Align8{}
		var v112 uint64 = 17216961135462248174
		v111.Data = v112
		v1.P1 = v111
		var v113 uint64 = 13527612320720337851
		v1.F8 = v113
		v114 := &conformance.Size8Align8{}
		var v115 uint64 = 17216961135462248174
		v114.Data = v115
		v1.P2 = v114
		var v116 uint64 = 15987178197214944733
		v1.F9 = v116

		decodeSuccessCase{
			name: "NoCodingTablesStressor_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
				0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
				0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
				0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
				0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		decodeSuccessCase{
			name: "OutOfLineSandwich1Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.TheUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		decodeSuccessCase{
			name: "OutOfLineSandwich1Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := &conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.OptUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		decodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionPresent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		v5 := &conformance.UnionSize8Align4{}
		var v6 uint32 = 202050057
		v5.SetVariant(v6)
		v3.OptUnion = v5
		var v7 uint32 = 134678021
		v3.After = v7
		v8 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v8
		v9 := "hard transitions suck!"
		v1.After = v9

		decodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionPresent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		var v5 uint32 = 134678021
		v3.After = v5
		v6 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v6
		v7 := "hard transitions suck!"
		v1.After = v7

		decodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionAbsent",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.OutOfLineSandwich1WithOptUnion{}
		v2 := "soft migrations rock!"
		v1.Before = v2
		v3 := conformance.Sandwich1WithOptUnion{}
		var v4 uint32 = 67305985
		v3.Before = v4
		var v5 uint32 = 134678021
		v3.After = v5
		v6 := []conformance.Sandwich1WithOptUnion{v3}
		v1.V = v6
		v7 := "hard transitions suck!"
		v1.After = v7

		decodeSuccessCase{
			name: "OutOfLineSandwich1WithOptUnionAbsent_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
				0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
				0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
				0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
				0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression4{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v1.S1 = v4
		var v9 uint8 = 3
		v1.F3 = v9
		var v10 uint16 = 4
		v1.F4 = v10
		var v11 uint64 = 5
		v1.F5 = v11
		var v12 uint8 = 6
		v1.F6 = v12

		decodeSuccessCase{
			name: "Regression4",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Regression4{}
		var v2 uint8 = 1
		v1.F1 = v2
		var v3 uint32 = 2
		v1.F2 = v3
		v4 := conformance.StructSize3Align1{}
		var v5 uint8 = 9
		var v6 uint8 = 10
		var v7 uint8 = 11
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v1.S1 = v4
		var v9 uint8 = 3
		v1.F3 = v9
		var v10 uint16 = 4
		v1.F4 = v10
		var v11 uint64 = 5
		v1.F5 = v11
		var v12 uint8 = 6
		v1.F6 = v12

		decodeSuccessCase{
			name: "Regression4_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		var v39 uint64 = 1157159078456920585
		v1.Alignment8Enforcement = v39

		decodeSuccessCase{
			name: "Sandwich4Align8",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		var v39 uint64 = 1157159078456920585
		v1.Alignment8Enforcement = v39

		decodeSuccessCase{
			name: "Sandwich4Align8_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8WithPointer{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		v39 := &conformance.Size8Align8{}
		var v40 uint64 = 1157159078456920585
		v39.Data = v40
		v1.Alignment8Enforcement = v39

		decodeSuccessCase{
			name: "Sandwich4Align8WithPointer",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich4Align8WithPointer{}
		v2 := conformance.Sandwich4{}
		var v3 uint32 = 67305985
		v2.Before = v3
		v4 := conformance.UnionSize36Align4{}
		var v5 uint8 = 160
		var v6 uint8 = 161
		var v7 uint8 = 162
		var v8 uint8 = 163
		var v9 uint8 = 164
		var v10 uint8 = 165
		var v11 uint8 = 166
		var v12 uint8 = 167
		var v13 uint8 = 168
		var v14 uint8 = 169
		var v15 uint8 = 170
		var v16 uint8 = 171
		var v17 uint8 = 172
		var v18 uint8 = 173
		var v19 uint8 = 174
		var v20 uint8 = 175
		var v21 uint8 = 176
		var v22 uint8 = 177
		var v23 uint8 = 178
		var v24 uint8 = 179
		var v25 uint8 = 180
		var v26 uint8 = 181
		var v27 uint8 = 182
		var v28 uint8 = 183
		var v29 uint8 = 184
		var v30 uint8 = 185
		var v31 uint8 = 186
		var v32 uint8 = 187
		var v33 uint8 = 188
		var v34 uint8 = 189
		var v35 uint8 = 190
		var v36 uint8 = 191
		v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
		v4.SetVariant(v37)
		v2.TheUnion = v4
		var v38 uint32 = 134678021
		v2.After = v38
		v1.Sandwich4 = v2
		v39 := &conformance.Size8Align8{}
		var v40 uint64 = 1157159078456920585
		v39.Data = v40
		v1.Alignment8Enforcement = v39

		decodeSuccessCase{
			name: "Sandwich4Align8WithPointer_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
				0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
				0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
				0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
				0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich8{}
		var v2 uint64 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		decodeSuccessCase{
			name: "Sandwich8Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich8{}
		var v2 uint64 = 67305985
		v1.Before = v2
		v3 := conformance.UnionOfUnion{}
		v4 := conformance.UnionSize8Align4{}
		var v5 uint32 = 202050057
		v4.SetVariant(v5)
		v3.SetSize8align4(v4)
		v1.UnionOfUnion = v3
		var v6 uint32 = 134678021
		v1.After = v6

		decodeSuccessCase{
			name: "Sandwich8Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich9{}
		var v2 uint16 = 513
		v1.Before = v2
		v3 := conformance.UnionWithVectorOfVectors{}
		v4 := &conformance.StructSize3Align1{}
		var v5 uint8 = 16
		var v6 uint8 = 17
		var v7 uint8 = 18
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := &conformance.StructSize3Align1{}
		var v10 uint8 = 19
		var v11 uint8 = 20
		var v12 uint8 = 21
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := []*conformance.StructSize3Align1{v4, v9}
		v15 := [][]*conformance.StructSize3Align1{v14}
		v3.SetV(v15)
		v1.TheUnion = v3
		var v16 uint16 = 4625
		v1.After = v16

		decodeSuccessCase{
			name: "Sandwich9Case1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.Sandwich9{}
		var v2 uint16 = 513
		v1.Before = v2
		v3 := conformance.UnionWithVectorOfVectors{}
		v4 := &conformance.StructSize3Align1{}
		var v5 uint8 = 16
		var v6 uint8 = 17
		var v7 uint8 = 18
		v8 := [3]uint8{v5, v6, v7}
		v4.ThreeBytes = v8
		v9 := &conformance.StructSize3Align1{}
		var v10 uint8 = 19
		var v11 uint8 = 20
		var v12 uint8 = 21
		v13 := [3]uint8{v10, v11, v12}
		v9.ThreeBytes = v13
		v14 := []*conformance.StructSize3Align1{v4, v9}
		v15 := [][]*conformance.StructSize3Align1{v14}
		v3.SetV(v15)
		v1.TheUnion = v3
		var v16 uint16 = 4625
		v1.After = v16

		decodeSuccessCase{
			name: "Sandwich9Case1_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SimpleTableArrayStruct{}
		v2 := conformance.TransformerSimpleTable{}
		var v3 uint32 = 2745344416
		v2.SetValue(v3)
		v4 := conformance.TransformerSimpleTable{}
		var v5 uint32 = 3014832560
		v4.SetValue(v5)
		v6 := [2]conformance.TransformerSimpleTable{v2, v4}
		v1.TheArray = v6

		decodeSuccessCase{
			name: "SimpleTableArrayStruct",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SimpleTableArrayStruct{}
		v2 := conformance.TransformerSimpleTable{}
		var v3 uint32 = 2745344416
		v2.SetValue(v3)
		v4 := conformance.TransformerSimpleTable{}
		var v5 uint32 = 3014832560
		v4.SetValue(v5)
		v6 := [2]conformance.TransformerSimpleTable{v2, v4}
		v1.TheArray = v6

		decodeSuccessCase{
			name: "SimpleTableArrayStruct_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StringUnionVector{}
		v2 := &conformance.StringUnion{}
		v3 := "hello"
		v2.SetS(v3)
		v4 := &conformance.StringUnion{}
		var v5 uint8 = 170
		v4.SetU8(v5)
		v6 := &conformance.StringUnion{}
		var v7 uint8 = 187
		v6.SetU8(v7)
		v8 := []*conformance.StringUnion{v2, v4, v6}
		v1.TheVector = v8

		decodeSuccessCase{
			name: "StringUnionVector",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.StringUnionVector{}
		v2 := &conformance.StringUnion{}
		v3 := "hello"
		v2.SetS(v3)
		v4 := &conformance.StringUnion{}
		var v5 uint8 = 170
		v4.SetU8(v5)
		v6 := &conformance.StringUnion{}
		var v7 uint8 = 187
		v6.SetU8(v7)
		v8 := []*conformance.StringUnion{v2, v4, v6}
		v1.TheVector = v8

		decodeSuccessCase{
			name: "StringUnionVector_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
				0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.UnionWithBoundStringStruct{}
		v2 := conformance.UnionWithBoundString{}
		v3 := "abcd"
		v2.SetBoundFiveStr(v3)
		v1.V = v2

		decodeSuccessCase{
			name: "UnionWithBoundString",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x61, 0x62, 0x63, 0x64, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SingleVariantUnionStruct{}
		v2 := conformance.SingleVariantUnion{}
		var v3 uint32 = 42
		v2.SetX(v3)
		v1.U = v2

		decodeSuccessCase{
			name: "UnionMigration_SingleVariant",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			bytes: []byte{
				0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

	{
		v1 := conformance.SingleVariantUnionStruct{}
		v2 := conformance.SingleVariantUnion{}
		var v3 uint32 = 42
		v2.SetX(v3)
		v1.U = v2

		decodeSuccessCase{
			name: "UnionMigration_SingleVariant_v1",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: true,
				EncodeUnionsAsXUnionBytes:   true,
			},
			input: &v1,
			bytes: []byte{
				0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
		}.check(t)
	}

}

func TestAllEncodeFailureCases(t *testing.T) {

	{
		v1 := conformance.TestStrictXUnionInStruct{}
		v2 := conformance.SampleStrictXUnion{}
		v1.Xu = v2

		encodeFailureCase{
			name: "StrictXUnion Field Not Set",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			code:  fidl.ErrInvalidXUnionTag,
		}.check(t)
	}

	{
		v1 := conformance.Length2StringWrapper{}
		v2 := "abc"
		v1.Length2String = v2

		encodeFailureCase{
			name: "StringExceedsLimit",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			code:  fidl.ErrStringTooLong,
		}.check(t)
	}

	{
		v1 := conformance.UnionWithBoundStringStruct{}
		v2 := conformance.UnionWithBoundString{}
		v3 := "abcdef"
		v2.SetBoundFiveStr(v3)
		v1.V = v2

		encodeFailureCase{
			name: "UnionWithBoundString_ExceedsBounds",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			input: &v1,
			code:  fidl.ErrStringTooLong,
		}.check(t)
	}

}

func TestAllDecodeFailureCases(t *testing.T) {

	{
		decodeFailureCase{
			name: "StrictXUnion Field Unknown",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			valTyp: reflect.TypeOf((*conformance.TestStrictXUnionInStruct)(nil)),
			bytes: []byte{
				0x11, 0xba, 0x5e, 0xba, 0x00, 0x00, 0x00, 0x00,
				0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
				0xde, 0xad, 0xbe, 0xef, 0x5c, 0xa1, 0xab, 0x1e,
			},
			code: fidl.ErrInvalidXUnionTag,
		}.check(t)
	}

	{
		decodeFailureCase{
			name: "NonEmptyStringWithNullPtrBody",
			context: fidl.MarshalerContext{
				DecodeUnionsFromXUnionBytes: false,
				EncodeUnionsAsXUnionBytes:   false,
			},
			valTyp: reflect.TypeOf((*conformance.StringWrapper)(nil)),
			bytes: []byte{
				0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
			},
			code: fidl.ErrUnexpectedNullRef,
		}.check(t)
	}

}
