1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
2pub enum Feature {
3 ShortOpenTag,
4 NullCoalesceAssign,
5 ParameterContravariance,
6 ReturnCovariance,
7 PregUnmatchedAsNull,
8 NonCapturingCatches,
9 NativeUnionTypes,
10 RequiredParameterAfterOptional,
11 LessOverridenParametersWithVariadic,
12 ThrowExpression,
13 ClassConstantOnExpression,
14 PromotedProperties,
15 NamedArguments,
16 ThrowsTypeErrorForInternalFunctions,
17 ThrowsValueErrorForInternalFunctions,
18 HHPrintfSpecifier,
19 StricterRoundFunctions,
20 ThrowsOnInvalidMbStringEncoding,
21 WarnsAboutFinalPrivateMethods,
22 CallableInstanceMethods,
23 LegacyConstructor,
24 UnsetCast,
25 CaseInsensitiveConstantNames,
26 InterfaceConstantImplicitlyFinal,
27 ArrayFunctionsReturnNullWithNonArray,
28 SubstrReturnFalseInsteadOfEmptyString,
29 CurlUrlOptionCheckingFileSchemeWithOpenBasedir,
30 EmptyStringValidAliasForNoneInMbSubstituteCharacter,
31 NumericStringValidArgInMbSubstituteCharacter,
32 ParameterTypeWidening,
33 AllUnicodeScalarCodePointsInMbSubstituteCharacter,
34 PassNoneEncodings,
35 RequiredParameterAfterOptionalNullableAndDefaultNull,
36 FinalConstants,
37 ReadonlyProperties,
38 Enums,
39 PureIntersectionTypes,
40 TentativeReturnTypes,
41 ClosureCreation,
42 ArrayUnpackingWithStringKeys,
43 SerializableRequiresMagicMethods,
44 DynamicProperties,
45 StrSplitReturnsEmptyArray,
46 DisjunctiveNormalForm,
47 ReadonlyClasses,
48 NeverReturnTypeInArrowFunction,
49 PregCaptureOnlyNamedGroups,
50 ConstantsInTraits,
51 AsymmetricVisibility,
52 LazyObjects,
53 RequiredParameterAfterOptionalUnionOrMixed,
54 DateTimeExceptions,
55 TypedClassLikeConstants,
56 TypedProperties,
57 OverrideAttribute,
58 DynamicClassConstantAccess,
59 ReadonlyAnonymousClasses,
60 CastsNumbersToStringsOnLooseComparison,
61 NonNumericStringAndIntegerIsFalseOnLooseComparison,
62 AbstractTraitMethods,
63 ImplicitlyNullableParameterTypes,
64 HighlightStringDoesNotReturnFalse,
65 PropertyHooks,
66 JsonValidate,
67 ClosureInConstantExpressions,
68 ArrowFunctions,
69 TrueTypeHint,
70 FalseTypeHint,
71 FalseCompoundTypeHint,
72 NullTypeHint,
73 NullCompoundTypeHint,
74 NullableTypeHint,
75 IterableTypeHint,
76 VoidTypeHint,
77 MixedTypeHint,
78 NeverTypeHint,
79 StaticReturnTypeHint,
80 NewWithoutParentheses,
81 ClassLikeConstantVisibilityModifiers,
82 ListReferenceAssignment,
83 NumericLiteralSeparator,
84 AccessClassOnObject,
85 Attributes,
86 MatchExpression,
87 NullSafeOperator,
88 TrailingCommaInListSyntax,
89 TrailingCommaInFunctionCalls,
90 TrailingCommaInClosureUseList,
91 NewInInitializers,
92 ConstantAttributes,
93 CallStaticMethodOnTrait,
94 CatchOptionalVariable,
95 CatchUnionType,
96 VoidCast,
97 NoDiscardAttribute,
98 AsymmetricVisibilityForStaticProperties,
99 ClosureCreationInConstantExpressions,
100 DeprecatedAttribute,
101 PipeOperator,
102}