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