// 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.using.upper;
using ABSTRACT = uint32;
using ALIGNAS = uint32;
using ALIGNOF = uint32;
using AND = uint32;
using AND_EQ = uint32;
using AS = uint32;
using ASM = uint32;
using ASSERT = uint32;
using ASYNC = uint32;
using ATOMIC_CANCEL = uint32;
using ATOMIC_COMMIT = uint32;
using ATOMIC_NOEXCEPT = uint32;
using AUTO = uint32;
using AWAIT = uint32;
using BECOME = uint32;
using BITAND = uint32;
using BITOR = uint32;
using BOOL = uint32;
using BOX = uint32;
using BREAK = uint32;
using BYTE = uint32;
using CASE = uint32;
using CATCH = uint32;
using CHAN = uint32;
using CHAR = uint32;
using CHAR16_T = uint32;
using CHAR32_T = uint32;
using CLASS = uint32;
using CO_AWAIT = uint32;
using CO_RETURN = uint32;
using CO_YIELD = uint32;
using CODING_TRAITS = uint32;
using COMPL = uint32;
using CONCEPT = uint32;
using CONST = uint32;
using CONST_CAST = uint32;
using CONSTEXPR = uint32;
using CONTINUE = uint32;
using CONTROLLER = uint32;
using COVARIANT = uint32;
using CRATE = uint32;
using DECLTYPE = uint32;
using DECODER = uint32;
using DEFAULT = uint32;
using DEFER = uint32;
using DEFERRED = uint32;
using DELETE = uint32;
using DO = uint32;
using DOUBLE = uint32;
using DYNAMIC = uint32;
using DYNAMIC_CAST = uint32;
using ELSE = uint32;
using ENCODER = uint32;
using ENSURE_VALUES_INSTANTIATED = uint32;
using ENUM = uint32;
using ERR = uint32;
using EXPLICIT = uint32;
using EXPORT = uint32;
using EXTENDS = uint32;
using EXTERN = uint32;
using EXTERNAL = uint32;
using FACTORY = uint32;
using FALLTHROUGH = uint32;
using FALSE = uint32;
using FIDL = uint32;
using FIDL_TYPE = uint32;
using FINAL = uint32;
using FINALLY = uint32;
using FLOAT = uint32;
using FN = uint32;
using FOR = uint32;
using FRIEND = uint32;
using FUNC = uint32;
using FUTURE = uint32;
using FUTURES = uint32;
using GET = uint32;
using GO = uint32;
using GOTO = uint32;
using HAS_INVALID_TAG = uint32;
using HASH_CODE = uint32;
using IF = uint32;
using IMPL = uint32;
using IMPLEMENTS = uint32;
using IMPORT = uint32;
using IN = uint32;
using INDEX = uint32;
using INLINE = uint32;
using INT = uint32;
using INT16 = uint32;
using INT32 = uint32;
using INT64 = uint32;
using INT8 = uint32;
using INTERFACE = uint32;
using IS = uint32;
using LET = uint32;
using LHS = uint32;
using LIBRARY = uint32;
using LIST = uint32;
using LONG = uint32;
using LOOP = uint32;
using MACRO = uint32;
using MAP = uint32;
using MATCH = uint32;
using MIXIN = uint32;
using MOD = uint32;
using MODULE = uint32;
using MOVE = uint32;
using MUT = uint32;
using MUTABLE = uint32;
using NAMESPACE = uint32;
using NEVER = uint32;
using NEW = uint32;
using NO_SUCH_METHOD = uint32;
using NOEXCEPT = uint32;
using NONE = uint32;
using NOT = uint32;
using NOT_EQ = uint32;
using NULL = uint32;
using NULLPTR = uint32;
using NUM = uint32;
using OBJECT = uint32;
using OFFSET = uint32;
using OFFSETOF = uint32;
using OK = uint32;
using ON_OPEN = uint32;
using OPERATOR = uint32;
using OPTION = uint32;
using OR = uint32;
using OR_EQ = uint32;
using OVERRIDE = uint32;
using PACKAGE = uint32;
using PART = uint32;
using PRIV = uint32;
using PRIVATE = uint32;
using PROC = uint32;
using PROTECTED = uint32;
using PROXY = uint32;
using PUB = uint32;
using PUBLIC = uint32;
using PURE = uint32;
using RANGE = uint32;
using REF = uint32;
using REGISTER = uint32;
using REINTERPRET_CAST = uint32;
using REQUIRES = uint32;
using RESULT = uint32;
using RETHROW = uint32;
using RETURN = uint32;
using RHS = uint32;
using RUNE = uint32;
using RUNTIME_TYPE = uint32;
using SELECT = uint32;
using SELF = uint32;
using SEND = uint32;
using SET = uint32;
using SET_CONTROLLER = uint32;
using SHORT = uint32;
using SIGNED = uint32;
using SIZEOF = uint32;
using SOME = uint32;
using STATIC = uint32;
using STATIC_ASSERT = uint32;
using STATIC_CAST = uint32;
using STREAM = uint32;
using STRING = uint32;
using STRUCT = uint32;
using STUB = uint32;
using SUPER = uint32;
using SWITCH = uint32;
using SYNCHRONIZED = uint32;
using TEMPLATE = uint32;
using THIS = uint32;
using THREAD_LOCAL = uint32;
using THROW = uint32;
using TO_STRING = uint32;
using TRAIT = uint32;
using TRUE = uint32;
using TRY = uint32;
using TYPE = uint32;
using TYPEDEF = uint32;
using TYPEID = uint32;
using TYPENAME = uint32;
using TYPEOF = uint32;
using UINT16 = uint32;
using UINT32 = uint32;
using UINT64 = uint32;
using UINT8 = uint32;
using UNION = uint32;
using UNSAFE = uint32;
using UNSIGNED = uint32;
using UNSIZED = uint32;
using USE = uint32;
using USING = uint32;
using VALUE = uint32;
using VALUE_OF = uint32;
using VALUE_UNION = uint32;
using VALUES_MAP = uint32;
using VAR = uint32;
using VEC = uint32;
using VIRTUAL = uint32;
using VOID = uint32;
using VOLATILE = uint32;
using WCHAR_T = uint32;
using WHERE = uint32;
using WHICH = uint32;
using WHILE = uint32;
using WITH = uint32;
using XOR = uint32;
using XOR_EQ = uint32;
using XUNION = uint32;
using YIELD = uint32;
using ZX = uint32;
