Inspectopedia 2025.2 Help

Compiler Warnings

'#warning' directive   New in this release

'#warning' directive.

'attribute modifier' is not a recognized attribute location. All attributes in this block will be ignored   New in this release

'attribute modifier' is not a recognized attribute location.

'attribute modifier' is not a valid attribute location for this declaration. All attributes in this block will be ignored   New in this release

'attribute modifier' is not a valid attribute location for this declaration.

'goto case' value is not implicitly convertible to required type   New in this release

'goto case' value is not implicitly convertible to required type.

'Inline arrays' language feature is not supported for inline array types with element field which is either a 'ref' field, or has type that is not valid as a type argument.   New in this release

'Inline arrays' language feature is not supported for inline array types with element field which is either a 'ref' field, or has type that is not valid as a type argument.

[InterpolatedStringHandlerArgument] has no effect when applied to lambda parameters and will be ignored at the call site.   New in this release

[InterpolatedStringHandlerArgument] has no effect when applied to lambda parameters and will be ignored at the call site.

A default value is specified for 'ref readonly' parameter, but 'ref readonly' should be used only for references. Consider declaring the parameter as 'in'.   New in this release

A default value is specified for 'ref readonly' parameter, but 'ref readonly' should be used only for references.

A local variable is returned by reference but was initialized to a value that cannot be returned by reference.   New in this release

A local variable is returned by reference but was initialized to a value that cannot be returned by reference.

A member of a variable is returned by reference but was initialized to a value that cannot be returned by reference   New in this release

A member of a variable is returned by reference but was initialized to a value that cannot be returned by reference.

A method marked [DoesNotReturn] should not return.   New in this release

A method marked [DoesNotReturn] should not return.

A possible null value may not be used for a type marked with [NotNull] or [DisallowNull].   New in this release

A possible null value may not be used for a type marked with [NotNull] or [DisallowNull].

A previous catch clause already catches all exceptions   New in this release

A previous catch clause already catches all exceptions.

A result of a stackalloc expression in this context may be exposed outside of the containing method.   New in this release

A result of a stackalloc expression in this context may be exposed outside of the containing method.

A template in the logging message doesn't have a matching parameter in the logging method definition   New in this release

A template in the logging message doesn't have a matching parameter in the logging method definition.

A value of type 'System.Threading.Lock' converted to a different type will use likely unintended monitor-based locking in 'lock' statement   New in this release

A value of type 'System.Threading.Lock' converted to a different type will use likely unintended monitor-based locking in 'lock' statement.

Access to a member through 'base' keyword from anonymous method, lambda expression, query expression or iterator results in unverifiable code   New in this release

Access to a member through 'base' keyword from anonymous method, lambda expression, query expression or iterator results in unverifiable code.

Alignment value 'value' has a magnitude greater than 'magnitude limit' and may result in a large formatted string.   New in this release

Alignment value 'value' has a magnitude greater than 'magnitude limit' and may result in a large formatted string.

Ambiguous reference in XML comment   New in this release

Ambiguous reference in XML comment.

Argument cannot be used as an output for parameter due to differences in the nullability of reference types.   New in this release

Argument cannot be used as an output for parameter due to differences in the nullability of reference types.

Argument cannot be used for corresponding parameter due to differences in the nullability of reference types.   New in this release

Argument cannot be used for corresponding parameter due to differences in the nullability of reference types.

Argument should be a variable because it is passed to a 'ref readonly' parameter.   New in this release

Argument should be a variable because it is passed to a 'ref readonly' parameter.

Argument should be passed with the 'in' keyword.   New in this release

Argument should be passed with the 'in' keyword.

Assignment in conditional expression  

Assignment in conditional expression.

Assignment made to same variable   New in this release

Assignment made to same variable.

Async function without await expression   New in this release

Async function without await expression.

Async method invocation without await expression   New in this release

Async method invocation without await expression.

Async-iterator has one or more parameters of type 'CancellationToken' but none of them is annotated with the 'EnumeratorCancellation' attribute.   New in this release

Async-iterator has one or more parameters of type 'CancellationToken' but none of them is annotated with the 'EnumeratorCancellation' attribute.

Asynchronous 'Main' method will not be used as an entry point because a synchronous entry point was found.   New in this release

Asynchronous 'Main' method will not be used as an entry point because a synchronous entry point was found.

Badly formed XML in included comments file   New in this release

Badly formed XML in included comments file.

Bitwise-or operator used on a sign-extended operand.   New in this release

Bitwise-or operator used on a sign-extended operand.

Call to a non-readonly member from a 'readonly' member results in an implicit copy of 'this'   New in this release

Call to a non-readonly member from a 'readonly' member results in an implicit copy of 'this'.

Cannot convert null literal to non-nullable reference type.   New in this release

Cannot convert null literal to non-nullable reference type.

Cannot resolve reference in XML comment   New in this release

Cannot resolve reference in XML comment.

Class overrides Object.Equals(object o) but not Object.GetHashCode()   New in this release

Class overrides Object.Equals(object o) but not Object.GetHashCode().

Code is unreachable   New in this release

Code is unreachable.

Collection expression may incur unexpected heap allocations   New in this release

Collection expression may incur unexpected heap allocations.

Collection expression may incur unexpected heap allocations due to the use of '..' spreads   New in this release

Collection expression may incur unexpected heap allocations due to the use of '..' spreads.

Comparing with null of nullable value type always produces 'false'   New in this release

Comparing with null of nullable value type always produces 'false'.

Comparison to integral constant is useless; the constant is outside the range of type 'type'.   New in this release

Comparison to integral constant is useless; the constant is outside the range of type 'type'.

Converting method group to non-delegate type 'object'.   New in this release

Converting method group to non-delegate type 'object'.

Converting null literal or possible null value to non-nullable type.   New in this release

Converting null literal or possible null value to non-nullable type.

Declaring new protected member in sealed class is the same as declaring it as private   New in this release

Declaring new protected member in sealed class is the same as declaring it as private.

Default value specified for parameter will have no effect because it applies to a member that is used in contexts that do not allow optional arguments   New in this release

Default value specified for parameter will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.

Dereference of a possibly null reference.   New in this release

Dereference of a possibly null reference.

Duplicate param tag in XML comment   New in this release

Duplicate param tag in XML comment.

Duplicate typeparam tag in XML comment   New in this release

Duplicate typeparam tag in XML comment.

Empty switch block   New in this release

Empty switch block.

Field is never used   New in this release

Field is never used.

Filter expression is a constant, consider removing the filter   New in this release

Filter expression is a constant, consider removing the filter.

Given expression always matches the provided pattern   New in this release

Given expression always matches the provided pattern.

Given expression is always of the provided type   New in this release

Given expression is always of the provided type.

Given expression is never of the provided type   New in this release

Given expression is never of the provided type.

In language version preview, the 'field' keyword binds to a synthesized backing field for the property   New in this release

In language version preview, the 'field' keyword binds to a synthesized backing field for the property.

Incorrect signature in XML comment   New in this release

Incorrect signature in XML comment.

Inline array 'Slice' method will not be used for element access expression.   New in this release

Inline array 'Slice' method will not be used for element access expression.

Inline array conversion operator will not be used for conversion from expression of the declaring type.   New in this release

Inline array conversion operator will not be used for conversion from expression of the declaring type.

Inline array indexer will not be used for element access expression.   New in this release

Inline array indexer will not be used for element access expression.

Introducing a 'Finalize' method can interfere with destructor invocation   New in this release

Introducing a 'Finalize' method can interfere with destructor invocation.

Invalid XML in XML comment   New in this release

Invalid XML in XML comment.

Invalid XML include element   New in this release

Invalid XML include element.

Keyword 'new' is redundant   New in this release

Keyword 'new' is redundant.

Keyword 'new' is required   New in this release

Keyword 'new' is required.

Member cannot be used in this attribute.   New in this release

Member cannot be used in this attribute.

Member must conditionally have a non-null value when exiting a function.   New in this release

Member must conditionally have a non-null value when exiting a function.

Member must have a non-null value when exiting.   New in this release

Member must have a non-null value when exiting.

Member overrides obsolete member   New in this release

Member overrides obsolete member.

Method lacks '[DoesNotReturn]' annotation in order to match implemented or overridden member.   New in this release

Method lacks '[DoesNotReturn]' annotation in order to match implemented or overridden member.

Missing XML comment for publicly visible type or member   New in this release

Missing XML comment for publicly visible type or member.

Multiple override candidates at run-time   New in this release

Multiple override candidates at run-time.

Multiple Shaders with the same name found   New in this release

Multiple Shaders with the same name found.

Namespace should be default namespace of this project   New in this release

Namespace should be default namespace of this project.

Non-accessed field   New in this release

Non-accessed field.

Non-accessed local variable   New in this release

Non-accessed local variable.

Non-nullable backing field is uninitialized.   New in this release

Non-nullable backing field is uninitialized.

Non-nullable member is uninitialized.   New in this release

Non-nullable member is uninitialized.

Nullability mismatch in constraints for type parameter.   New in this release

Nullability mismatch in constraints for type parameter.

Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type.   New in this release

Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type.

Nullability of reference types in interface implemented by the base type doesn't match.   New in this release

Nullability of reference types in interface implemented by the base type doesn't match.

Nullability of reference types in return type doesn't match implemented member.   New in this release

Nullability of reference types in return type doesn't match implemented member.

Nullability of reference types in return type doesn't match implicitly implemented member.   New in this release

Nullability of reference types in return type doesn't match implicitly implemented member.

Nullability of reference types in return type doesn't match overridden member.   New in this release

Nullability of reference types in return type doesn't match overridden member.

Nullability of reference types in return type doesn't match partial method declaration.   New in this release

Nullability of reference types in return type doesn't match partial method declaration.

Nullability of reference types in return type doesn't match the target delegate (possibly because of nullability attributes).   New in this release

Nullability of reference types in return type doesn't match the target delegate (possibly because of nullability attributes).

Nullability of reference types in return type in interceptor method doesn't match interceptable method'   New in this release

Nullability of reference types in return type in interceptor method doesn't match interceptable method'.

Nullability of reference types in source type doesn't match target type.   New in this release

Nullability of reference types in source type doesn't match target type.

Nullability of reference types in type doesn't match implemented member.   New in this release

Nullability of reference types in type doesn't match implemented member.

Nullability of reference types in type doesn't match implicitly implemented member.   New in this release

Nullability of reference types in type doesn't match implicitly implemented member.

Nullability of reference types in type doesn't match overridden member.   New in this release

Nullability of reference types in type doesn't match overridden member.

Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes).   New in this release

Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes).

Nullability of reference types in type of parameter doesn't match implemented member.   New in this release

Nullability of reference types in type of parameter doesn't match implemented member.

Nullability of reference types in type of parameter doesn't match implicitly implemented member.   New in this release

Nullability of reference types in type of parameter doesn't match implicitly implemented member.

Nullability of reference types in type of parameter doesn't match interceptable method   New in this release

Nullability of reference types in type of parameter doesn't match interceptable method.

Nullability of reference types in type of parameter doesn't match overridden member.   New in this release

Nullability of reference types in type of parameter doesn't match overridden member.

Nullability of reference types in type of parameter doesn't match partial member declaration.   New in this release

Nullability of reference types in type of parameter doesn't match partial member declaration.

Nullability of return type doesn't match implemented member (possibly because of nullability attributes).   New in this release

Nullability of return type doesn't match implemented member (possibly because of nullability attributes).

Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes).   New in this release

Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes).

Nullability of return type doesn't match overridden member (possibly because of nullability attributes).   New in this release

Nullability of return type doesn't match overridden member (possibly because of nullability attributes).

Nullability of type argument doesn't match 'class' constraint.   New in this release

Nullability of type argument doesn't match 'class' constraint.

Nullability of type argument doesn't match 'notnull' constraint.   New in this release

Nullability of type argument doesn't match 'notnull' constraint.

Nullability of type argument doesn't match constraint type.   New in this release

Nullability of type argument doesn't match constraint type.

Nullability of type of parameter doesn't match implemented member (possibly because of nullability attributes).   New in this release

Nullability of type of parameter doesn't match implemented member (possibly because of nullability attributes).

Nullability of type of parameter doesn't match implicitly implemented member (possibly because of nullability attributes).   New in this release

Nullability of type of parameter doesn't match implicitly implemented member (possibly because of nullability attributes).

Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes).   New in this release

Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes).

Nullable value type may be null.   New in this release

Nullable value type may be null.

Object or collection initializer implicitly dereferences possibly null member.   New in this release

Object or collection initializer implicitly dereferences possibly null member.

Obsolete member overrides non-obsolete member   New in this release

Obsolete member overrides non-obsolete member.

Obsolete members should not be required.   New in this release

Obsolete members should not be required.

Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden   New in this release

Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden.

Opt in to preview features before using them.   New in this release

Opt in to preview features before using them.

Parameter has no matching param tag in the XML comment   New in this release

Parameter has no matching param tag in the XML comment.

Parameter has params modifier in lambda but not in target delegate type.   New in this release

Parameter has params modifier in lambda but not in target delegate type.

Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well.   New in this release

Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor.

Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event.   New in this release

Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event.

Parameter must conditionally have a non-null value when exiting a function.   New in this release

Parameter must conditionally have a non-null value when exiting a function.

Parameter must have a non-null value when exiting because parameter mentioned in [NotNullIfNotNull] annotation is non-null.   New in this release

Parameter must have a non-null value when exiting because parameter mentioned in [NotNullIfNotNull] annotation is non-null.

Parameter must have a non-null value when exiting.   New in this release

Parameter must have a non-null value when exiting.

Parameter occurs after interpolated string handler parameter in the parameter list.   New in this release

Parameter occurs after interpolated string handler parameter in the parameter list.

Partial member declarations have signature differences.   New in this release

Partial member declarations have signature differences.

Partial method declarations have inconsistent nullability for type parameter.   New in this release

Partial method declarations have inconsistent nullability for type parameter.

Possible mistaken empty statement   New in this release

Possible mistaken empty statement.

Possible null reference argument for a parameter.   New in this release

Possible null reference argument for a parameter.

Possible null reference assignment.   New in this release

Possible null reference assignment.

Possible null reference return.   New in this release

Possible null reference return.

Possible unintended reference comparison   New in this release

Possible unintended reference comparison.

Possibly incorrect assignment to local which is the argument to a 'using' or 'lock' statement   New in this release

Possibly incorrect assignment to local which is the argument to a 'using' or 'lock' statement.

Primary constructor parameter is shadowed by a member from base type.   New in this release

Primary constructor parameter is shadowed by a member from base type.

Record defined 'Equals' but not 'GetHashCode'   New in this release

Record defined 'Equals' but not 'GetHashCode'.

Reference kind modifier of parameter doesn't match the corresponding parameter in hidden member.   New in this release

Reference kind modifier of parameter doesn't match the corresponding parameter in hidden member.

Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member.   New in this release

Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member.

Reference kind modifier of parameter doesn't match the corresponding parameter in target.   New in this release

Reference kind modifier of parameter doesn't match the corresponding parameter in target.

Reference to a volatile field will not be treated as volatile   New in this release

Reference to a volatile field will not be treated as volatile.

Return value must be non-null because parameter mentioned in [NotNullIfNotNull] annotation is non-null.   New in this release

Return value must be non-null because parameter mentioned in [NotNullIfNotNull] annotation is non-null.

Signatures of interceptable and interceptor methods do not match   New in this release

Signatures of interceptable and interceptor methods do not match.

Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect   New in this release

Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect.

Static type in 'is' or 'as' operator.   New in this release

Static type in 'is' or 'as' operator.

Struct member returns 'this' or other instance members by reference.   New in this release

Struct member returns 'this' or other instance members by reference.

Syntax error in XML comment  

Syntax error in XML comment.

Taking address of marshal-by-reference class field   New in this release

Taking address of marshal-by-reference class field.

Template should be a static expression   New in this release

Template should be a static expression.

The '&' operator should not be used on parameters or local variables in async methods.   New in this release

The '&' operator should not be used on parameters or local variables in async methods.

The 'EnumeratorCancellation' attribute is only effective on a parameter of type 'CancellationToken' in an async-iterator method returning 'IAsyncEnumerable<>'.   New in this release

The 'EnumeratorCancellation' attribute is only effective on a parameter of type 'CancellationToken' in an async-iterator method returning 'IAsyncEnumerable<>'.

The 'l' suffix is easily confused with the digit '1'   New in this release

The 'l' suffix is easily confused with the digit '1'.

The 'Main' method will not be used as an entry point because compilation unit with top-level statements was found.   New in this release

The 'Main' method will not be used as an entry point because compilation unit with top-level statements was found.

The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'. Consider using 'in' instead.   New in this release

The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'.

The 'scoped' modifier of a parameter doesn't match target delegate.   New in this release

The 'scoped' modifier of a parameter doesn't match target delegate.

The 'scoped' modifier of parameter doesn't match overridden or implemented member.   New in this release

The 'scoped' modifier of parameter doesn't match overridden or implemented member.

The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.   New in this release

The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.

The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source.   New in this release

The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.

The branches of the ref conditional operator refer to variables with incompatible declaration scopes.   New in this release

The branches of the ref conditional operator refer to variables with incompatible declaration scopes.

The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential  

The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential.

The CallerArgumentExpressionAttribute is applied with an invalid parameter name.   New in this release

The CallerArgumentExpressionAttribute is applied with an invalid parameter name.

The CallerArgumentExpressionAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments   New in this release

The CallerArgumentExpressionAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.

The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerFilePathAttribute   New in this release

The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerFilePathAttribute.

The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerLineNumberAttribute   New in this release

The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerLineNumberAttribute.

The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerMemberNameAttribute   New in this release

The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerMemberNameAttribute.

The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute   New in this release

The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute.

The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments   New in this release

The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.

The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments   New in this release

The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.

The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments   New in this release

The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments.

The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute   New in this release

The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute.

The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute   New in this release

The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute.

The default parameter value does not match in the target delegate type.   New in this release

The default parameter value does not match in the target delegate type.

The given expression always matches the provided constant.   New in this release

The given expression always matches the provided constant.

The given expression never matches the provided pattern.   New in this release

The given expression never matches the provided pattern.

The result of the expression is always 'null' of nullable type   New in this release

The result of the expression is always 'null' of nullable type.

The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'   New in this release

The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'.

The switch expression does not handle all possible inputs (it is not exhaustive).   New in this release

The switch expression does not handle all possible inputs (it is not exhaustive).

The switch expression does not handle all possible values of its input type (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value.   New in this release

The switch expression does not handle all possible values of its input type (it is not exhaustive).

The switch expression does not handle some null inputs (it is not exhaustive).   New in this release

The switch expression does not handle some null inputs (it is not exhaustive).

The switch expression does not handle some null inputs (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value.   New in this release

The switch expression does not handle some null inputs (it is not exhaustive).

The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value.   New in this release

The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value.

The tuple element name is ignored because a different name or no name is specified by the target type.   New in this release

The tuple element name is ignored because a different name or no name is specified by the target type.

The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator.   New in this release

The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator.

The type name only contains lower-cased ASCII characters. Such names may become reserved for the language   New in this release

The type name only contains lower-cased ASCII characters.

There is no defined ordering between fields in multiple declarations of partial struct. To specify an ordering, all instance fields must be in the same declaration.   New in this release

There is no defined ordering between fields in multiple declarations of partial struct.

This ref-assigns a value that can only escape the current method through a return statement.   New in this release

This ref-assigns a value that can only escape the current method through a return statement.

This ref-assigns a value that has a wider value escape scope than the target allowing assignment through the target of values with narrower escapes scopes.   New in this release

This ref-assigns a value that has a wider value escape scope than the target allowing assignment through the target of values with narrower escapes scopes.

This ref-assigns an expression to a variable with a narrower escape scope.   New in this release

This ref-assigns an expression to a variable with a narrower escape scope.

This returns a member of local by reference but it is not a ref local.   New in this release

This returns a member of local by reference but it is not a ref local.

This returns a parameter by reference but it is not a ref parameter.   New in this release

This returns a parameter by reference but it is not a ref parameter.

This returns a parameter by reference but it is scoped to the current method.   New in this release

This returns a parameter by reference but it is scoped to the current method.

This returns a parameter by reference through a ref parameter; but it can only safely be returned in a return statement.   New in this release

This returns a parameter by reference through a ref parameter; but it can only safely be returned in a return statement.

This returns by reference a member of parameter that is not a ref or out parameter.   New in this release

This returns by reference a member of parameter that is not a ref or out parameter.

This returns by reference a member of parameter that is scoped to the current method.   New in this release

This returns by reference a member of parameter that is scoped to the current method.

This returns by reference a member of parameter through a ref parameter; but it can only safely be returned in a return statement.   New in this release

This returns by reference a member of parameter through a ref parameter; but it can only safely be returned in a return statement.

This returns local by reference but it is not a ref local.   New in this release

This returns local by reference but it is not a ref local.

This takes the address of, gets the size of, or declares a pointer to a managed type.   New in this release

This takes the address of, gets the size of, or declares a pointer to a managed type.

Thrown value may be null.   New in this release

Thrown value may be null.

Type is already listed in the interface list with different nullability of reference types.   New in this release

Type is already listed in the interface list with different nullability of reference types.

Type is for evaluation purposes only and is subject to change or removal in future updates.   New in this release

Type is for evaluation purposes only and is subject to change or removal in future updates.

Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.  

Type is for evaluation purposes only and is subject to change or removal in future updates.

Type parameter has no matching typeparam tag in the XML comment   New in this release

Type parameter has no matching typeparam tag in the XML comment.

Type parameter has the same name as a type parameter from the outer type   New in this release

Type parameter has the same name as a type parameter from the outer type.

Types and aliases should not be named 'record'   New in this release

Types and aliases should not be named 'record'.

Unable to include XML fragment   New in this release

Unable to include XML fragment.

Unassigned field   New in this release

Unassigned field.

Unassigned readonly field   New in this release

Unassigned readonly field.

Unboxing a possibly null value.   New in this release

Unboxing a possibly null value.

Unresolved Shader name   New in this release

Unresolved Shader name.

Unused local variable  

Unused local variable.

Use of a variable in this context may expose referenced variables outside of their declaration scope.   New in this release

Use of a variable in this context may expose referenced variables outside of their declaration scope.

Use of obsolete symbol   New in this release

Use of obsolete symbol.

Use of obsolete symbol (without message)   New in this release

Use of obsolete symbol (without message).

Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' and will succeed for all non-null values   New in this release

Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' and will succeed for all non-null values.

XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name   New in this release

XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name.

XML comment has a 'typeparam' tag for 'TypeParameter', but there is no type parameter by that name   New in this release

XML comment has a 'typeparam' tag for 'TypeParameter', but there is no type parameter by that name.

XML comment has cref attribute that refers to a type parameter   New in this release

XML comment has cref attribute that refers to a type parameter.

XML comment is not placed on a valid language element   New in this release

XML comment is not placed on a valid language element.

Last modified: 21 August 2025