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 ReadonlyPropertyReinitializationInClone,
62 CastsNumbersToStringsOnLooseComparison,
63 NonNumericStringAndIntegerIsFalseOnLooseComparison,
64 AbstractTraitMethods,
65 ImplicitlyNullableParameterTypes,
66 HighlightStringDoesNotReturnFalse,
67 PropertyHooks,
68 JsonValidate,
69 ClosureInConstantExpressions,
70 ArrowFunctions,
71 TrueTypeHint,
72 FalseTypeHint,
73 FalseCompoundTypeHint,
74 NullTypeHint,
75 NullCompoundTypeHint,
76 NullableTypeHint,
77 IterableTypeHint,
78 VoidTypeHint,
79 MixedTypeHint,
80 NeverTypeHint,
81 StaticReturnTypeHint,
82 NewWithoutParentheses,
83 ClassLikeConstantVisibilityModifiers,
84 ListReferenceAssignment,
85 NumericLiteralSeparator,
86 AccessClassOnObject,
87 Attributes,
88 MatchExpression,
89 NullSafeOperator,
90 TrailingCommaInListSyntax,
91 TrailingCommaInFunctionCalls,
92 TrailingCommaInClosureUseList,
93 NewInInitializers,
94 ConstantAttributes,
95 CallStaticMethodOnTrait,
96 CatchOptionalVariable,
97 CatchUnionType,
98 VoidCast,
99 NoDiscardAttribute,
100 AsymmetricVisibilityForStaticProperties,
101 ClosureCreationInConstantExpressions,
102 DeprecatedAttribute,
103 PipeOperator,
104 CloneWith,
105 PartialFunctionApplication,
106 SwitchSemicolonSeparators,
107}