// Copyright 2020 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.
library zxio;

/// Doc Comments for Uint16Enum
///
/// Doc comments testing.
type Uint16Enum = strict enum : uint16 {
    /// Doc comment on enum member.
    FOO = 0x1;
};

type NoDocCommentEnum = strict enum : uint32 {
    FOO = 0x1;
    BAR = 0x2;
};
