__has_feature
#if defined(__has_feature)
# if __has_feature(memory_sanitizer)
#if defined(__has_feature)
#if __has_feature(memory_sanitizer)
#if defined(__has_feature)
#if __has_feature(memory_sanitizer)
#if defined(__has_feature)
#if __has_feature(memory_sanitizer)
#if defined(__has_feature)
#if __has_feature(memory_sanitizer)
#if defined(__clang__) && defined(__has_feature)
#if __has_feature(thread_sanitizer)
#if defined(__clang__) && defined(__has_feature)
#if __has_feature(thread_sanitizer)
#if defined(__has_feature)
#if __has_feature(thread_sanitizer)
#if defined(__has_feature)
#if __has_feature(address_sanitizer)
#if !(defined(__clang__) && __has_feature(nullability))
#define __has_extension __has_feature
#ifndef __has_feature
#if __has_feature(address_sanitizer) && defined(__clang__)
#if __has_feature(coverage_sanitizer) && defined(__clang__)
#if __has_feature(memory_sanitizer) && defined(__clang__)
#if __has_feature(thread_sanitizer) && defined(__clang__)
#ifndef __has_feature
#if !(defined(__clang__) && __has_feature(nullability))