Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestion Backlog Slog Log #2936

Closed
RyanCavanaugh opened this issue Apr 27, 2015 · 5 comments
Closed

Suggestion Backlog Slog Log #2936

RyanCavanaugh opened this issue Apr 27, 2015 · 5 comments
Labels
Design Notes Notes from our design meetings

Comments

@RyanCavanaugh
Copy link
Member

We'll be meeting weekly to get through the large number of suggestion-tagged issues that have sat idle for too long. I'll be posting notes here.

@RyanCavanaugh RyanCavanaugh added the Discussion Issues which may not have code impact label Apr 27, 2015
@RyanCavanaugh
Copy link
Member Author

4/27/2015

Approved, Accepting PRs (11)

#6 Abstract classes: Approved. Extremely highly-requested. See design notes in my comment at the bottom
#669 External modules with AMD always requires "exports" even when it is not used: Approved. Minor codegen improvement.
#1003 Singleton types under the form of string literal types: Approved. Everyone gets excited when we talk about this one.
#1007 Support user-defined type guard functions: Approved. Meaningfully improves type guards.
#1283 type guards by constructor signature: Approved. Meaningfully improves type guards.
#1295 Type Property type: Approved. Common pattern in JS libraries.
#1544 No output with --out when using import statement: Approved. Catches a common source of user confusion
#1554 typeof this.xxx gives "identifier expected" error: Approved. Patches an oversight in the grammar
#1616 Type aliases requiring type parameters: Approved. Anders believes this will be quite difficult to implement.
#1706 Union Type inference not working in class: Approved, tentatively. Type guards on dotted expressions.
#1789 Make tsc runnable on Nashorn: Approved. Straightforward addition to our I/O wrapper to gain platform support.

Committed (1)

#247 Support looking for modules under node_modules when importing: Commited, assigned to Vlad as part of some other work he's doing

Converted to bug (1)

#282 Rename function / find all references doesn't affect inline object literals

PR desired, but not Approved yet (1)

#1213 Allow classes to be parametric in other parametric classes: Need to see an implementation here to try it out in more depth

Needs More Info / Justification (4)

#943 Use different relation when checking overload vs implementation signature compatibility: Need a concrete proposal here
#1260 Consider property access a form of type guards: Too many open questions at this point
#1790 Support super.apply from child constructor: Does the spread operator suffice here?
#1809 The object primitive type: Needs more use cases / likely errors

Declined (3)

#293 Specify (absolute) path for library projects: Out of scope. Revisit post-2.0 and see if the third-party build ecosystem has landed on anything.
#311 Traits: Too much overlap with a potential future ECMAScript feature
#983 Global type references: Not enough use cases

@fdecampredon
Copy link

Nice :) thanks for the notes !

@vvakame
Copy link
Contributor

vvakame commented Apr 28, 2015

wow, great!

@RyanCavanaugh
Copy link
Member Author

5/4/2015

Approved, Accepting PRs (4)

#2214 Allow switch type guards. Useful expansion of type guard syntax
#1940 Do we need to use "declare" for type aliased in d.ts files? ‘declare’ should be optional on type aliases (and interfaces), but is a no-op.
#2694 Define assignability relation for primitive-constrained type parameters. For flowing through enum types in generics.
#2369 Spread operator in 'new' expressions support for ES5? User-side workaround is really ugly.

Declined (7)

#1824 Rest binding element should contextually type initializer as a tuple. Too much complexity for not enough gain. Matches existing behavior for not inferring tuples when none exist
#1844 Add downlevel and typing support for const enum members in computed properties. Not needed until we have string enums; re-visit if we get those.
#1857 Make the Compiler and Language Service API Asynchronous. Too complex for not a lot of gain since we are not really I/O bound
#2000 Support override keyword on class methods. Doesn’t provide a consistent experience (methods not marked override would not necessarily not be overrides, which would be too confusing). Not going to add a compiler flag for this. Maybe could solve with an attribute?
#2172 Contextual typing of spread elements. Why spread literals in the first place? Low-priority.
#2328 Generic type constraint does not apply to rest parameters. Does not actually make sense – the array type does not actually flow in to ‘args’ here
#2357 Proposal: new ES6 style syntax to apply typeof on an ambient external module. Not enough gain for a fair bit of complexity

Needs More Info (2)

#2361 Allow wrapped values to be used in place of primitives. Ask for explicit proposal.
#2176 Suggestion: errors based on control flow analysis. What is this asking for, precisely? Lump in with #228 maybe

@RyanCavanaugh
Copy link
Member Author

5/19/2015

Approved, Accepting PRs (2)

#2341 Allow visibility on constructors - Accepted. No other good workarounds for forcing external consumers of your class to use a factory method
#3079 tsc init to generate tsconfig.json - Very useful

Committed / In Progress (1)

#2499 Support single-module transpilation mode - Already in progress.

Needs More Info (4)

#1882 Make periodic pre-release builds available on npm - Assign to Jonathan to figure out what we should do here
#2568 Generate a single declaration file for external modules - Needs clarification on what this work item represents
#2709 Importing files other than TS modules - Needs clarification on whether a proposal in-thread covers the use cases being requested
#2749 Typescript aborts on shebang - Do people intend to run the .ts file, or the .js file? This is somewhat confusing

Postponed (1)

#2176 Suggestion: errors based on control flow analysis - Very desired feature, but the scope and complexity of this are too large to fit before 2.0. Postpone and definitely revisit

Declined (4)

#1824 Rest binding element should contextually type initializer as a tuple - Didn't really see a compelling reason to do this
#2714 Tuple suffix associated with rest element in a binding pattern - the current behavior is the intended behavior
#3022 Embedded syntax block - Far too complex
#2876 Contextual type assertion operator - Unclear that most people can actually reason about this correctly

@mhegazy mhegazy added Design Notes Notes from our design meetings and removed Discussion Issues which may not have code impact labels Feb 20, 2016
@mhegazy mhegazy closed this as completed Feb 20, 2016
@microsoft microsoft locked and limited conversation to collaborators Jun 18, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Design Notes Notes from our design meetings
Projects
None yet
Development

No branches or pull requests

4 participants