diff --git a/bin/fidlgen_dart/backend/templates/xunion.tmpl.go b/bin/fidlgen_dart/backend/templates/xunion.tmpl.go
index f70ffda..e913c83 100644
--- a/bin/fidlgen_dart/backend/templates/xunion.tmpl.go
+++ b/bin/fidlgen_dart/backend/templates/xunion.tmpl.go
@@ -72,6 +72,8 @@
 // See FIDL-308:
 // ignore: recursive_compile_time_constant
 const $fidl.XUnionType<{{ .Name }}> {{ .TypeSymbol }} = {{ .TypeExpr }};
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
 const $fidl.XUnionType<{{ .Name }}> {{ .OptTypeSymbol }} = {{ .OptTypeExpr }};
 {{ end }}
 `
diff --git a/bin/fidlgen_dart/goldens/bits.test.test.fidl.json b/bin/fidlgen_dart/goldens/bits.test.test.fidl.json
index 3a69e93..30b6748 100644
--- a/bin/fidlgen_dart/goldens/bits.test.test.fidl.json
+++ b/bin/fidlgen_dart/goldens/bits.test.test.fidl.json
@@ -49,7 +49,7 @@
           }
         }
       ],
-      "strict": false
+      "strict": true
     }
   ],
   "const_declarations": [],
diff --git a/bin/fidlgen_dart/goldens/consts.test.fidl.json b/bin/fidlgen_dart/goldens/consts.test.fidl.json
index 8497d51..a5e70f7 100644
--- a/bin/fidlgen_dart/goldens/consts.test.fidl.json
+++ b/bin/fidlgen_dart/goldens/consts.test.fidl.json
@@ -298,7 +298,7 @@
           }
         }
       ],
-      "strict": false
+      "strict": true
     },
     {
       "name": "test.name/BitsType",
@@ -326,7 +326,7 @@
           }
         }
       ],
-      "strict": false
+      "strict": true
     }
   ],
   "interface_declarations": [],
diff --git a/bin/fidlgen_dart/goldens/enum.test.fidl.json b/bin/fidlgen_dart/goldens/enum.test.fidl.json
index 463cfe7..f127b13 100644
--- a/bin/fidlgen_dart/goldens/enum.test.fidl.json
+++ b/bin/fidlgen_dart/goldens/enum.test.fidl.json
@@ -10,7 +10,7 @@
       "location": {
         "filename": "garnet/go/src/fidl/compiler/backend/typestest/enum.test.fidl",
         "line": 3,
-        "column": 6
+        "column": 28
       },
       "type": "uint32",
       "members": [
@@ -54,7 +54,7 @@
       "location": {
         "filename": "garnet/go/src/fidl/compiler/backend/typestest/enum.test.fidl",
         "line": 8,
-        "column": 13
+        "column": 6
       },
       "type": "uint32",
       "members": [
diff --git a/bin/fidlgen_dart/goldens/protocols.test.fidl.json b/bin/fidlgen_dart/goldens/protocols.test.fidl.json
index 99d11e7..03df244 100644
--- a/bin/fidlgen_dart/goldens/protocols.test.fidl.json
+++ b/bin/fidlgen_dart/goldens/protocols.test.fidl.json
@@ -47,7 +47,7 @@
           }
         }
       ],
-      "strict": false
+      "strict": true
     }
   ],
   "interface_declarations": [
diff --git a/bin/fidlgen_dart/goldens/union.test.fidl.json b/bin/fidlgen_dart/goldens/union.test.fidl.json
index 5ba5522..9bf296e 100644
--- a/bin/fidlgen_dart/goldens/union.test.fidl.json
+++ b/bin/fidlgen_dart/goldens/union.test.fidl.json
@@ -75,14 +75,46 @@
       "max_out_of_line": 4294967295,
       "alignment": 8,
       "max_handles": 0
+    },
+    {
+      "name": "test.name/FieldCollision",
+      "location": {
+        "filename": "garnet/go/src/fidl/compiler/backend/typestest/union.test.fidl",
+        "line": 9,
+        "column": 7
+      },
+      "members": [
+        {
+          "type": {
+            "kind": "primitive",
+            "subtype": "int32"
+          },
+          "name": "field_collision_tag",
+          "location": {
+            "filename": "garnet/go/src/fidl/compiler/backend/typestest/union.test.fidl",
+            "line": 10,
+            "column": 11
+          },
+          "size": 4,
+          "max_out_of_line": 0,
+          "alignment": 4,
+          "offset": 4
+        }
+      ],
+      "size": 8,
+      "max_out_of_line": 0,
+      "alignment": 4,
+      "max_handles": 0
     }
   ],
   "xunion_declarations": [],
   "type_alias_declarations": [],
   "declaration_order": [
-    "test.name/Union"
+    "test.name/Union",
+    "test.name/FieldCollision"
   ],
   "declarations": {
-    "test.name/Union": "union"
+    "test.name/Union": "union",
+    "test.name/FieldCollision": "union"
   }
 }
diff --git a/bin/fidlgen_dart/goldens/union.test.fidl.json_async.dart.golden b/bin/fidlgen_dart/goldens/union.test.fidl.json_async.dart.golden
index 87e7467..7c89bcb 100644
--- a/bin/fidlgen_dart/goldens/union.test.fidl.json_async.dart.golden
+++ b/bin/fidlgen_dart/goldens/union.test.fidl.json_async.dart.golden
@@ -130,5 +130,63 @@
   ctor: Union._ctor,
 );
 
+enum FieldCollisionTag {
+  fieldCollisionTag,
+}
+
+class FieldCollision extends $fidl.Union {
+  const FieldCollision.withFieldCollisionTag(int value)
+      : _data = value,
+        _tag = FieldCollisionTag.fieldCollisionTag;
+
+  FieldCollision._(FieldCollisionTag tag, Object data)
+      : _tag = tag,
+        _data = data;
+
+  final FieldCollisionTag _tag;
+  final _data;
+  int get fieldCollisionTag {
+    if (_tag != FieldCollisionTag.fieldCollisionTag) {
+      return null;
+    }
+    return _data;
+  }
+
+  @override
+  String toString() {
+    switch (_tag) {
+      case FieldCollisionTag.fieldCollisionTag:
+        return r'FieldCollision.fieldCollisionTag($fieldCollisionTag)';
+      default:
+        return null;
+    }
+  }
+
+  FieldCollisionTag get $tag => _tag;
+  // TODO: remove, see: FIDL-587
+  FieldCollisionTag get tag => _tag;
+
+  @override
+  int get $index => _tag.index;
+
+  @override
+  Object get $data => _data;
+
+  static FieldCollision _ctor(int index, Object data) {
+    return FieldCollision._(FieldCollisionTag.values[index], data);
+  }
+}
+
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
+const $fidl.UnionType<FieldCollision> kFieldCollision_Type =
+    $fidl.UnionType<FieldCollision>(
+  encodedSize: 8,
+  members: <$fidl.MemberType>[
+    $fidl.MemberType<int>(type: $fidl.Int32Type(), offset: 4),
+  ],
+  ctor: FieldCollision._ctor,
+);
+
 // ignore: unused_element, avoid_private_typedef_functions
 typedef _VoidCallback = void Function();
diff --git a/bin/fidlgen_dart/goldens/xunion.test.fidl.json_async.dart.golden b/bin/fidlgen_dart/goldens/xunion.test.fidl.json_async.dart.golden
index b45caae..ba2b94d 100644
--- a/bin/fidlgen_dart/goldens/xunion.test.fidl.json_async.dart.golden
+++ b/bin/fidlgen_dart/goldens/xunion.test.fidl.json_async.dart.golden
@@ -112,6 +112,8 @@
   },
   ctor: OlderSimpleUnion._ctor,
 );
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
 const $fidl.XUnionType<OlderSimpleUnion> kOlderSimpleUnion_OptType =
     $fidl.XUnionType<OlderSimpleUnion>(
   encodedSize: 24,
@@ -218,6 +220,8 @@
   },
   ctor: NewerSimpleUnion._ctor,
 );
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
 const $fidl.XUnionType<NewerSimpleUnion> kNewerSimpleUnion_OptType =
     $fidl.XUnionType<NewerSimpleUnion>(
   encodedSize: 24,
@@ -325,6 +329,8 @@
   },
   ctor: StrictSimpleXUnion._ctor,
 );
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
 const $fidl.XUnionType<StrictSimpleXUnion> kStrictSimpleXUnion_OptType =
     $fidl.XUnionType<StrictSimpleXUnion>(
   encodedSize: 24,
@@ -400,6 +406,8 @@
   },
   ctor: XUnionContainingEmptyStruct._ctor,
 );
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
 const $fidl.XUnionType<XUnionContainingEmptyStruct>
     kXUnionContainingEmptyStruct_OptType =
     $fidl.XUnionType<XUnionContainingEmptyStruct>(
@@ -472,6 +480,8 @@
   },
   ctor: StrictBoundedXUnion._ctor,
 );
+// See FIDL-308:
+// ignore: recursive_compile_time_constant
 const $fidl.XUnionType<StrictBoundedXUnion> kStrictBoundedXUnion_OptType =
     $fidl.XUnionType<StrictBoundedXUnion>(
   encodedSize: 24,
