Comments (3)
Bisects to #57995 . It's unclear what you are asking for here. This is purely a display change, not a functional change.
from typescript.
Oh snap, it is just a display change as per:
// ✅
const out: Out = {
foo: undefined,
bar: 123,
}
I saw a new type error in 5.5 and the display change made me assume that this is what it was. Thanks for taking a look!
from typescript.
I think there might actually still be an issue here, see the declaration output: https://www.typescriptlang.org/play/?ts=5.5.2#code/C4TwDgpgBAkgdhAHgQwMbAPJmASwPZzIA2AzgDwCCAfFALxQDeAUFFANoDSUOcUA1hBB4AZlApRkJKAFc4AEwjCeEOVCTAI8qRU4BdKAH4oXAFxQEANwgAnXQbOyFShKvWa52vS1aGxeqAA+MvKKynLerGY6HLoA3EwAvlAAZIzenNy8AkKi4pLBTmFqiBpafjG+ljZQZjFRevEJ8UygkLC89Myswnh49lAkwNY8AObxrABGyNZmcNIAthM241BTAF4OIc4qjUwt4NAY0sB07UhomNj4hKRk8FR7qASDUD14p5SnDAlUABQAlHQaL9EGYjidUhRAbQaHMiEQ9kgwHhrCcnnAXlM5HJgFJ6G8AUwgA
type InexactOptionals<A> = {
[K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K]
? A[K] | undefined
: A[K];
} & {
[K in keyof A as undefined extends A[K] ? never : K]: A[K];
};
type In = {
foo?: string;
bar: number;
baz: undefined;
}
type Out = InexactOptionals<In>
const foo = <A = {}>() => (x: Out & A) => null
export const baddts = foo()
5.4:
export declare const baddts: (x: {
foo?: string | undefined;
baz?: undefined;
} & {
bar: number;
}) => null;
5.5:
export declare const baddts: (x: {
foo?: string;
baz?: undefined;
} & {
bar: number;
}) => null;
This in turn causes problems for consumers with exactOptionalPropertyTypes
.
from typescript.
Related Issues (20)
- Instantiation expressions don't reject incompatible signatures in situations with mixed call and construct signatures HOT 1
- Parameters of overridden methods are made implicit any when using JSDoc `@override` HOT 16
- 'TypeScript and JavaScript Language Features' Formatter hangs HOT 3
- Mapped type of a conditional type unexpectedly fails inference
- Returing a generic argument from a function allows returning a wrong type HOT 2
- Module resolution behaves differently when typeRoots is specified HOT 3
- Ability to type check setters in interface implementations HOT 2
- ⚡ Performance: Project service spends excess time cleaning client files when called synchronously HOT 2
- ⚡ Performance: Project service doesn't cache all fs.statSync HOT 18
- jsxRuntime pragma does not work
- ThisType doesn't enforce type-checking `Object.prototype.call` HOT 5
- ⚡ Performance: Project service doesn't cache all fs.realpath HOT 1
- `null` prop with `satisfies`, `strictNullChecks: false` + `noImplicitAny: true` gives any report HOT 4
- Debugging failure caused by lack of backtick(`) HOT 4
- [proposal] Non widened string values should be valid enum values, like widened string values HOT 1
- 'Could not find source file' with Vue plugin when creating new files and using VS Code's file watcher HOT 7
- Contextual parameters inferred from overloads improvements
- Debug Failure caused by missing right parenthesis
- Assignment not correctly inferred when checking string literal. Variable X is used before being assigned HOT 1
- Omit utility doesn't respect methods on a type HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typescript.