You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
typeExampleInit={foo: number,};typeExampleLike=Example|ExampleInit;classExample{staticisExample(value: any): value is Example{return #foo invalue;}staticfrom(exampleLike: ExampleLike): Example{if(Example.isExample(exampleLike)){returnexampleLike;}returnnewExample(exampleLike);}readonly #foo: number;constructor({ foo }: ExampleInit){this.#foo =foo;}}constexample=Example.from({// Try typing "f" and see that there is a suggestion for #foo});
π Actual behavior
We get suggestions for private fields:
This is particularly annoying as the private fields tend to be suggested first, so tab-completion tends to produce broken code.
π Expected behavior
The private field should not be included as a suggestion when outside the class scope where the field is defined.
Additional information about the issue
No response
The text was updated successfully, but these errors were encountered:
Since the proposal is to make this context-sensitive anyway: Technically you shouldn't get suggested anything from Example (not even public properties) in this context because the existence of a private property means the type can't possibly be satisfied by a bare object literal. The only type that object literal can satisfy is ExampleInit.
Does it ever make sense for a #private field to be optional? You can instantiate such a type with an object literal in theory, but any method that tries to access the property on that object will error at runtime--optional or not.
π Search Terms
private fields suggestions
π Version & Regression Information
β― Playground Link
https://www.typescriptlang.org/play?#code/C4TwDgpgBAogHgQwLZgDYQJIDsCWwoC8UA3gFBQVQBmA9jQFxRYCuSARhAE4A0pAvgG5SpUJFiIU6ADI4A1tCLxkaaAB9xy9NjxDSAY1QIAzkY2ToZSlCPAEwHHqg4jS8wAoAbglTMIjBFggAJSMXj7QzmYqJORWlJwQwMycWFAAxLQ0TqlhvkJWfMJWNnYO1Jw0SG4QEioy8oyudXIQIVHoMXGUOFRQbk3oAHTOAxDVtdItQUGdXXEJSSlQNZoQ9RD5c4VzUAvJqVgQAO7tYyvm60GbFIWxFAkIACY0WKgg6ZmMLOxculZ6LxsnGYemANE4bmI1DoUD4jQmmFwwBmljmwAAFs5BhkYURMtdYfxhACsDZlgjCKdBlQKlVURQAPQMqAAFU471EOCwAHMoAAiKh8qABR7WCDQDF2KAYrgRUwIazMbnciA2HAvaGcD50fhXUhAA
π» Code
π Actual behavior
We get suggestions for private fields:
This is particularly annoying as the private fields tend to be suggested first, so tab-completion tends to produce broken code.
π Expected behavior
The private field should not be included as a suggestion when outside the class scope where the field is defined.
Additional information about the issue
No response
The text was updated successfully, but these errors were encountered: