| File: Symbols\CallerUnsafeMode.cs | Web Access |
| Project: src\roslyn\src\Compilers\CSharp\Portable\Microsoft.CodeAnalysis.CSharp.csproj (Microsoft.CodeAnalysis.CSharp) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using Microsoft.CodeAnalysis.CSharp.Symbols; namespace Microsoft.CodeAnalysis.CSharp; /// <summary> /// Member safety as defined by the unsafe evolution feature (<see cref="MessageID.IDS_FeatureUnsafeEvolution"/>). /// </summary> internal enum CallerUnsafeMode { /// <summary> /// The member is not considered caller-unsafe. /// </summary> None, /// <summary> /// The member is implicitly considered caller-unsafe because it contains pointers in its signature. /// This state is valid even under the legacy memory safety rules to avoid a dip caused by pointers being safe regardless of memory safety rules. /// </summary> Implicit, /// <summary> /// The member is explicitly marked as <see langword="unsafe"/> under the updated memory safety rules (<see cref="ModuleSymbol.UseUpdatedMemorySafetyRules"/>). /// </summary> Explicit, }