blob: a56e5824001d558a45ddf1222dfcbb301d5b44b8 [file]
// 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
#![deny(warnings)]
use unsafe_attributes::*;
#[googletest::gtest]
#[deny(unsafe_code)]
fn test_safe_signature_or_annotation_is_safe() {
SafeSignatureWithoutAnnotation();
SafeSignatureButAnnotatedSafe();
UnsafeSignatureButAnnotatedSafe(core::ptr::null_mut());
}
#[googletest::gtest]
#[deny(unused_unsafe)]
fn test_unsafe_signature_or_annotation_is_unsafe() {
unsafe { SafeSignatureButAnnotatedUnsafe() };
unsafe { SafeSignatureButAnnotatedUnsafeBuffer() };
unsafe { UnsafeSignatureButAnnotatedUnsafe(core::ptr::null_mut()) };
unsafe { UnsafeSignatureButAnnotatedUnsafeBuffer(core::ptr::null_mut()) };
unsafe { UnsafeSignatureWithoutAnnotation(core::ptr::null_mut()) };
}