//
#pragma warning disable
#nullable enable annotations
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
namespace System.Diagnostics.CodeAnalysis
{
///
/// Used to indicate a byref escapes and is not scoped.
///
///
///
/// There are several cases where the C# compiler treats a as implicitly
/// - where the compiler does not allow the to escape the method.
///
///
/// For example:
///
/// - for instance methods.
/// - parameters that refer to types.
/// - parameters.
///
///
///
/// This attribute is used in those instances where the should be allowed to escape.
///
///
/// Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
/// API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
///
///
[global::System.AttributeUsage(
global::System.AttributeTargets.Method |
global::System.AttributeTargets.Property |
global::System.AttributeTargets.Parameter,
AllowMultiple = false,
Inherited = false)]
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
public sealed class UnscopedRefAttribute : global::System.Attribute
{
}
}