// 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 Uint16Bits
///
/// Doc comments testing.
type Uint16Bits = strict bits : uint16 {
    /// Doc comment on bits member.
    FOO = 0x1;
};

type NoDocCommentBits = strict bits : uint32 {
    FOO = 0x1;
    BAR = 0x2;
};
