// #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 { } }