NOTSUPT
997
Token is not supported token
One of the following occurred:
- The FOREACH statement contains disposable data, which is not supported. Put disposable data in a nested BEGIN-END block.
- Dynamic arrays with more than three dimensions are not supported when compiling with -portable or -rt and cause a level 3 warning when compiling with -netstandard.
- These project types don’t support arrays with more than three dimensions.
- An initial value list was applied to a multi-dimensional, dynamic array.
- The BYREF qualifier was specified on a constructor, destructor, subroutine, or function, and it’s only allowed on a regular method.
- The BYREF qualifier was specified on a non-CLS structure.
- A void, descriptor, or non-CLS structure return type was declared for a BYREF method.
- The type being returned to a BYREF method doesn’t match the method’s declared return type. They must match exactly.
- A BYREF structure was specified as the type for a class field or simple property or as a field type within a non-BYREF structure.
- A BYREF field was specified as the type for a descriptor or non-CLS structure type.
- A BYREF structure or parameter was used in an ASYNC method, YIELD iterator, lambda, boxed type, or as a type argument.
- An out parameter was specified in an ASYNC method or YIELD iterator.
- The field assigned to a BYREF field has a different type than the BYREF field. They must be the same.
- A value was passed to a BYREF field. You can only assign fields, parameters, and BYREF method calls to fields.
- A system routine whose runtime compatibility (-qrntcompat) version was not met was used.
- A lambda was used on a constructed type.
-
A .NET feature, such as a .NULLABLE compiler directive, an INITONLY property, a covariant return type, or an interface method with default implementation, was used in a project that does not target .NET.
-
One of the following modifier keywords was used on an interface method in a project that does not target .NET 6 or higher: public, private, protected, internal, sealed, abstract, and virtual.
-
A static abstract interface method or property was declared in a project that targets a .NET version lower than .NET 6, or a static abstract member was called using something other than an interface-constrained type parameter.
-
A static modifier was used on an INITONLY or interface property.
-
An ASYNC keyword or YIELD statement was used in an interface method.
-
The size of a structure that came from a .NET system reference assembly could not be determined, and that type was used in a record, group, non-CLS structure, or ^SIZE() call. (To correct this error, you can create a DBLDIR:\bin\dblnet.hcs file that contains the fully qualified name of the offending structure and the hard-coded size the compiler should use for it.)
-
The REQUIRED keyword was used with a .NET version earlier than 7.
-
The REQUIRED keyword was used on a field in a record, group, structure, or interface. Attempting to apply the keyword to non-class members (including members within records and structures inside a class) will generate an error.
-
The NEW modifier (not the NEW operator for object instantiation) was used on a field that hides a REQUIRED field in the base class, or the field was hidden without using the NEW modifier. A field in a derived class cannot be used to hide a REQUIRED field in a base class.
-
The REQUIRED keyword was used and the internal attribute RequiredMemberAttribute could not be found.