Closed
Description
The "Ryan is optimistic about our pace" edition
- Support a @nonnull/@nonnullable JSDoc assertion comment #23405 Support non-null assertion operator in JSDoc
- Consider collapsing multiple repeated type-related error messages when in --pretty #23393 Collapse multiple error reports in
--pretty
- Warn on unused property in object literal with spread #23340 Warn for excess properties in spreaded object literal
- Uninitialized variables work around strictNullChecks (follow-up to #13884) #23305 Enforce never-initialized varibles /
strictVariableInitialization
- Feature Request / Proposal: constructor type guard #23274 Type guards by
expr.constructor
(sameish asinstanceof
) - Inconsistent type compatibility for a type with a call signature and and index signature #23226
isObjectTypeWithInferableIndex
returnsfalse
for intersection type with index signature - Support locally scoped type alias nodes #23188 Locally-scoped type aliases
- Comparing constrained generic types/substitution types to conditional types #23132 Improve behavior of conditional types instantiated with constrained generics
- T[K] should be never when T is never #23005
T[K]
should benever
whenK
isnever
- Using string enum as key in {[key]: Type} throws not an index signature #22892
string
enum
object should be indexable type - esModuleInterop should work even when compiling to esnext modules #22851
esModuleInterop
should work whentarget
=esnext
- Abstract classes that implement interfaces shouldn't require method signatures #22815 Abstract classes that implement interfaces shouldn't require method signatures
- Casting to Partial<x> seems to be errorful #22806
Partial<T>
should be a weak type - parameter initializer is bound to the wrong variable #22769 Allow unshadowed parameter initializer references in ES6+
- Typing number of children in TSX #22759 Let JSX children be subject to tupleness
- Bitwise enum initializer: compile-time constant but not allowed as a type reference? #22709 Allow references to literal-ish-initialized enums in type positions
- Proposal: Overload Function.bind for when no argArray is provided. #22669 Add a new overload to
Function#bind
- Proposal: Easier Migration with Loose Mode in TypeScript Files #22665 Add a mode to make TS act like JS
- Proposal: allow type arguments of generic being named #22631 Allow named type parameter arguments
- tsconfig cannot be specified along with an explicit list of files to compile - TS5042 #22649 Combine tsconfig with file list
- Inferred type symbol in conditional type should be visible-but-banned in falsy arm #22610 Keep
infer
variable in scope in false arm of conditional type - Proposal: better type narrowing in overloaded functions through overload set pruning #22609 Do some type guards based on overload when a good discriminant is present
- Provide a back-compat mechanism for bundled .d.ts files in package.json #22605 Provide a back-compat mechanism for bundled .d.ts files in package.json
- typeof union.membername errors. #22598 Allow speculative union type property access in
typeof
(expression) operands - Mapped types enumerating keys in
string
behave poorly #22509 Something something mapped types - Any number can be assigned to enum member type #22311 Error on out-of-scope literal assigned to enum
- Allow bitwise test on
undefined
#22230 Allow implicitundefined
->0
coercion understrictNullChecks
for bitwise ops - foo.ts is resolved before foo.d.ts even if the latter is in files[] #22208 Prefer .d.ts over .ts if it's in
files
array