// 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.
// Generated by generate.py.
library fidl.test.dangerous.table.names.camel;
using membertype = uint32;
table Abstract { 1: membertype member; };
table Alignas { 1: membertype member; };
table Alignof { 1: membertype member; };
table And { 1: membertype member; };
table AndEq { 1: membertype member; };
table As { 1: membertype member; };
table Asm { 1: membertype member; };
table Assert { 1: membertype member; };
table Async { 1: membertype member; };
table AtomicCancel { 1: membertype member; };
table AtomicCommit { 1: membertype member; };
table AtomicNoexcept { 1: membertype member; };
table Auto { 1: membertype member; };
table Await { 1: membertype member; };
table Become { 1: membertype member; };
table Bitand { 1: membertype member; };
table Bitor { 1: membertype member; };
table Bool { 1: membertype member; };
table Box { 1: membertype member; };
table Break { 1: membertype member; };
table Byte { 1: membertype member; };
table Case { 1: membertype member; };
table Catch { 1: membertype member; };
table Chan { 1: membertype member; };
table Char { 1: membertype member; };
table Char16T { 1: membertype member; };
table Char32T { 1: membertype member; };
table Class { 1: membertype member; };
table CoAwait { 1: membertype member; };
table CoReturn { 1: membertype member; };
table CoYield { 1: membertype member; };
table CodingTraits { 1: membertype member; };
table Compl { 1: membertype member; };
table Concept { 1: membertype member; };
table Const { 1: membertype member; };
table ConstCast { 1: membertype member; };
table Constexpr { 1: membertype member; };
table Continue { 1: membertype member; };
table Controller { 1: membertype member; };
table Covariant { 1: membertype member; };
table Crate { 1: membertype member; };
table Decltype { 1: membertype member; };
table Decoder { 1: membertype member; };
table Default { 1: membertype member; };
table Defer { 1: membertype member; };
table Deferred { 1: membertype member; };
table Delete { 1: membertype member; };
table Do { 1: membertype member; };
table Double { 1: membertype member; };
table Dynamic { 1: membertype member; };
table DynamicCast { 1: membertype member; };
table Else { 1: membertype member; };
table Encoder { 1: membertype member; };
table EnsureValuesInstantiated { 1: membertype member; };
table Enum { 1: membertype member; };
table Err { 1: membertype member; };
table Explicit { 1: membertype member; };
table Export { 1: membertype member; };
table Extends { 1: membertype member; };
table Extern { 1: membertype member; };
table External { 1: membertype member; };
table Factory { 1: membertype member; };
table Fallthrough { 1: membertype member; };
table False { 1: membertype member; };
table Fidl { 1: membertype member; };
table FidlType { 1: membertype member; };
table Final { 1: membertype member; };
table Finally { 1: membertype member; };
table Float { 1: membertype member; };
table Fn { 1: membertype member; };
table For { 1: membertype member; };
table Friend { 1: membertype member; };
table Func { 1: membertype member; };
table Future { 1: membertype member; };
table Futures { 1: membertype member; };
table Get { 1: membertype member; };
table Go { 1: membertype member; };
table Goto { 1: membertype member; };
table HasInvalidTag { 1: membertype member; };
table HashCode { 1: membertype member; };
table If { 1: membertype member; };
table Impl { 1: membertype member; };
table Implements { 1: membertype member; };
table Import { 1: membertype member; };
table In { 1: membertype member; };
table Index { 1: membertype member; };
table Inline { 1: membertype member; };
table Int { 1: membertype member; };
table Int16 { 1: membertype member; };
table Int32 { 1: membertype member; };
table Int64 { 1: membertype member; };
table Int8 { 1: membertype member; };
table Interface { 1: membertype member; };
table Is { 1: membertype member; };
table Let { 1: membertype member; };
table Lhs { 1: membertype member; };
table Library { 1: membertype member; };
table List { 1: membertype member; };
table Long { 1: membertype member; };
table Loop { 1: membertype member; };
table Macro { 1: membertype member; };
table Map { 1: membertype member; };
table Match { 1: membertype member; };
table Mixin { 1: membertype member; };
table Mod { 1: membertype member; };
table Module { 1: membertype member; };
table Move { 1: membertype member; };
table Mut { 1: membertype member; };
table Mutable { 1: membertype member; };
table Namespace { 1: membertype member; };
table Never { 1: membertype member; };
table New { 1: membertype member; };
table NoSuchMethod { 1: membertype member; };
table Noexcept { 1: membertype member; };
table None { 1: membertype member; };
table Not { 1: membertype member; };
table NotEq { 1: membertype member; };
table Null { 1: membertype member; };
table Nullptr { 1: membertype member; };
table Num { 1: membertype member; };
table Object { 1: membertype member; };
table Offset { 1: membertype member; };
table Offsetof { 1: membertype member; };
table Ok { 1: membertype member; };
table OnOpen { 1: membertype member; };
table Operator { 1: membertype member; };
table Option { 1: membertype member; };
table Or { 1: membertype member; };
table OrEq { 1: membertype member; };
table Override { 1: membertype member; };
table Package { 1: membertype member; };
table Part { 1: membertype member; };
table Priv { 1: membertype member; };
table Private { 1: membertype member; };
table Proc { 1: membertype member; };
table Protected { 1: membertype member; };
table Proxy { 1: membertype member; };
table Pub { 1: membertype member; };
table Public { 1: membertype member; };
table Pure { 1: membertype member; };
table Range { 1: membertype member; };
table Ref { 1: membertype member; };
table Register { 1: membertype member; };
table ReinterpretCast { 1: membertype member; };
table Requires { 1: membertype member; };
table Result { 1: membertype member; };
table Rethrow { 1: membertype member; };
table Return { 1: membertype member; };
table Rhs { 1: membertype member; };
table Rune { 1: membertype member; };
table RuntimeType { 1: membertype member; };
table Select { 1: membertype member; };
table Self { 1: membertype member; };
table Send { 1: membertype member; };
table Set { 1: membertype member; };
table SetController { 1: membertype member; };
table Short { 1: membertype member; };
table Signed { 1: membertype member; };
table Sizeof { 1: membertype member; };
table Some { 1: membertype member; };
table Static { 1: membertype member; };
table StaticAssert { 1: membertype member; };
table StaticCast { 1: membertype member; };
table Stream { 1: membertype member; };
table String { 1: membertype member; };
table Struct { 1: membertype member; };
table Stub { 1: membertype member; };
table Super { 1: membertype member; };
table Switch { 1: membertype member; };
table Synchronized { 1: membertype member; };
table Template { 1: membertype member; };
table This { 1: membertype member; };
table ThreadLocal { 1: membertype member; };
table Throw { 1: membertype member; };
table ToString { 1: membertype member; };
table Trait { 1: membertype member; };
table True { 1: membertype member; };
table Try { 1: membertype member; };
table Type { 1: membertype member; };
table Typedef { 1: membertype member; };
table Typeid { 1: membertype member; };
table Typename { 1: membertype member; };
table Typeof { 1: membertype member; };
table Uint16 { 1: membertype member; };
table Uint32 { 1: membertype member; };
table Uint64 { 1: membertype member; };
table Uint8 { 1: membertype member; };
table Union { 1: membertype member; };
table Unsafe { 1: membertype member; };
table Unsigned { 1: membertype member; };
table Unsized { 1: membertype member; };
table Use { 1: membertype member; };
table Using { 1: membertype member; };
table Value { 1: membertype member; };
table ValueOf { 1: membertype member; };
table ValueUnion { 1: membertype member; };
table ValuesMap { 1: membertype member; };
table Var { 1: membertype member; };
table Vec { 1: membertype member; };
table Virtual { 1: membertype member; };
table Void { 1: membertype member; };
table Volatile { 1: membertype member; };
table WcharT { 1: membertype member; };
table Where { 1: membertype member; };
table Which { 1: membertype member; };
table While { 1: membertype member; };
table With { 1: membertype member; };
table Xor { 1: membertype member; };
table XorEq { 1: membertype member; };
table Xunion { 1: membertype member; };
table Yield { 1: membertype member; };
table Zx { 1: membertype member; };
table DangerousMembers {
  1: Abstract f0;
  2: Alignas f1;
  3: Alignof f2;
  4: And f3;
  5: AndEq f4;
  6: As f5;
  7: Asm f6;
  8: Assert f7;
  9: Async f8;
  10: AtomicCancel f9;
  11: AtomicCommit f10;
  12: AtomicNoexcept f11;
  13: Auto f12;
  14: Await f13;
  15: Become f14;
  16: Bitand f15;
  17: Bitor f16;
  18: Bool f17;
  19: Box f18;
  20: Break f19;
  21: Byte f20;
  22: Case f21;
  23: Catch f22;
  24: Chan f23;
  25: Char f24;
  26: Char16T f25;
  27: Char32T f26;
  28: Class f27;
  29: CoAwait f28;
  30: CoReturn f29;
  31: CoYield f30;
  32: CodingTraits f31;
  33: Compl f32;
  34: Concept f33;
  35: Const f34;
  36: ConstCast f35;
  37: Constexpr f36;
  38: Continue f37;
  39: Controller f38;
  40: Covariant f39;
  41: Crate f40;
  42: Decltype f41;
  43: Decoder f42;
  44: Default f43;
  45: Defer f44;
  46: Deferred f45;
  47: Delete f46;
  48: Do f47;
  49: Double f48;
  50: Dynamic f49;
  51: DynamicCast f50;
  52: Else f51;
  53: Encoder f52;
  54: EnsureValuesInstantiated f53;
  55: Enum f54;
  56: Err f55;
  57: Explicit f56;
  58: Export f57;
  59: Extends f58;
  60: Extern f59;
  61: External f60;
  62: Factory f61;
  63: Fallthrough f62;
  64: False f63;
  65: Fidl f64;
  66: FidlType f65;
  67: Final f66;
  68: Finally f67;
  69: Float f68;
  70: Fn f69;
  71: For f70;
  72: Friend f71;
  73: Func f72;
  74: Future f73;
  75: Futures f74;
  76: Get f75;
  77: Go f76;
  78: Goto f77;
  79: HasInvalidTag f78;
  80: HashCode f79;
  81: If f80;
  82: Impl f81;
  83: Implements f82;
  84: Import f83;
  85: In f84;
  86: Index f85;
  87: Inline f86;
  88: Int f87;
  89: Int16 f88;
  90: Int32 f89;
  91: Int64 f90;
  92: Int8 f91;
  93: Interface f92;
  94: Is f93;
  95: Let f94;
  96: Lhs f95;
  97: Library f96;
  98: List f97;
  99: Long f98;
  100: Loop f99;
  101: Macro f100;
  102: Map f101;
  103: Match f102;
  104: Mixin f103;
  105: Mod f104;
  106: Module f105;
  107: Move f106;
  108: Mut f107;
  109: Mutable f108;
  110: Namespace f109;
  111: Never f110;
  112: New f111;
  113: NoSuchMethod f112;
  114: Noexcept f113;
  115: None f114;
  116: Not f115;
  117: NotEq f116;
  118: Null f117;
  119: Nullptr f118;
  120: Num f119;
  121: Object f120;
  122: Offset f121;
  123: Offsetof f122;
  124: Ok f123;
  125: OnOpen f124;
  126: Operator f125;
  127: Option f126;
  128: Or f127;
  129: OrEq f128;
  130: Override f129;
  131: Package f130;
  132: Part f131;
  133: Priv f132;
  134: Private f133;
  135: Proc f134;
  136: Protected f135;
  137: Proxy f136;
  138: Pub f137;
  139: Public f138;
  140: Pure f139;
  141: Range f140;
  142: Ref f141;
  143: Register f142;
  144: ReinterpretCast f143;
  145: Requires f144;
  146: Result f145;
  147: Rethrow f146;
  148: Return f147;
  149: Rhs f148;
  150: Rune f149;
  151: RuntimeType f150;
  152: Select f151;
  153: Self f152;
  154: Send f153;
  155: Set f154;
  156: SetController f155;
  157: Short f156;
  158: Signed f157;
  159: Sizeof f158;
  160: Some f159;
  161: Static f160;
  162: StaticAssert f161;
  163: StaticCast f162;
  164: Stream f163;
  165: String f164;
  166: Struct f165;
  167: Stub f166;
  168: Super f167;
  169: Switch f168;
  170: Synchronized f169;
  171: Template f170;
  172: This f171;
  173: ThreadLocal f172;
  174: Throw f173;
  175: ToString f174;
  176: Trait f175;
  177: True f176;
  178: Try f177;
  179: Type f178;
  180: Typedef f179;
  181: Typeid f180;
  182: Typename f181;
  183: Typeof f182;
  184: Uint16 f183;
  185: Uint32 f184;
  186: Uint64 f185;
  187: Uint8 f186;
  188: Union f187;
  189: Unsafe f188;
  190: Unsigned f189;
  191: Unsized f190;
  192: Use f191;
  193: Using f192;
  194: Value f193;
  195: ValueOf f194;
  196: ValueUnion f195;
  197: ValuesMap f196;
  198: Var f197;
  199: Vec f198;
  200: Virtual f199;
  201: Void f200;
  202: Volatile f201;
  203: WcharT f202;
  204: Where f203;
  205: Which f204;
  206: While f205;
  207: With f206;
  208: Xor f207;
  209: XorEq f208;
  210: Xunion f209;
  211: Yield f210;
  212: Zx f211;
};
