// Part of the Crubit project, under the Apache License v2.0 with LLVM
// Exceptions. See /LICENSE for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

template <typename T>
using Nullable [[clang::annotate("Nullable")]] = T _Nullable;

template <typename T>
using Nonnull [[clang::annotate("Nonnull")]] = T _Nonnull;

template <typename T>
using NullabilityUnknown [[clang::annotate("Nullability_Unspecified")]] =
    T _Null_unspecified;

#define absl_nullable _Nullable
#define absl_nonnull _Nonnull
#define absl_nullability_unknown _Null_unspecified
