sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: TypeScript
Issue: Suggestion: warn on always-false typeguards
Labels: Suggestion,Awaiting More Feedback

<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker.

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ, especially the "Common Feature Requests" section: https://github.com/Microsoft/TypeScript/wiki/FAQ

-->

## Search Terms
type guard always-false warning

## Suggestion
When a typeguard is always false, the guarded variable is type `never` within the body.  While you can't actually look up any properties on `never`, you can pass it anywhere or assign it to anything and there's absolutely no warnings.  Calling a typeguard function with an argument that has no overlap with the guard should produce a warning.

## Use Cases
My immediate motivation is https://github.com/microsoft/TypeScript/pull/24436#issuecomment-392997204, where if `Number.isFinite` could be written as a typeguard (this would also need a narrower `number` subtype, see e.g. #32188) then it could easily be allowed to be called with a `number|string`, but no additional gymnastics would be required to warn if calling with a guaranteed non-`number`.

In general there's not a good reason to call an always-false typeguard.  This is quite different from the always-true case where defensive coding comes into play.

## Examples

[Example](https://www.typescriptlang.org/play/index.html?ts=3.7-Beta#code/MYGwhgzhAEAKBOBLAbmALgU2gbwFDQOgAclVNoAzRDEAEwEIAuaAOw2Q3gG59CSV0WYAHsWENPACuwNMPgAKAJQ4AvrjW5aGUGHhYKkljMSjoiCADlJAWwBGneQA9mhgNYthAdxaLmjszAsNvbcmtrgepSGxqaSEBgIAphOzIlkGL7QyMKItDxaOpEiYmjQztDiSCwA5jy4iBTQ8uZWdg6Oisp4hNBxCaSCToo8akA):

```ts
declare const x: string;
if (isNumber(x)) { // Should warn: "condition is always false"
    usePrivate(x);
}
```

If `usePrivate` requires a private type that this scope doesn't have access to construct, then it would be nice if this code warned _somewhere_.  Instead, it currently just narrows `x` to `never` and allows doing whatever you want with it.

## Checklist

My suggestion meets these guidelines:

* [ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
    * I don't have a good sense of how much this would break, but I expect any breakages would be exposing legitimate errors.
* [X] This wouldn't change the runtime behavior of existing JavaScript code
* [X] This could be implemented without emitting different JS based on the types of the expressions
* [X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
* [X] This feature would agree with the rest of [TypeScript's Design Goals](https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals).
Repository: go
Issue: encoding/xml: decoding XML with entities not supported
Labels: ExpertNeeded,help wanted,NeedsInvestigation

<!-- Please answer these questions before submitting your issue. Thanks! -->

### What version of Go are you using (`go version`)?

<pre>
$ go version
go version go1.13.3 darwin/amd64
</pre>

### Does this issue reproduce with the latest release?
Yes

### What operating system and processor architecture are you using (`go env`)?

<details><summary><code>go env</code> Output</summary><br><pre>
$ go env
darwin/amd64
</pre></details>

### What did you do?
I parsed the XML with the entity, but the part with the entity was not parsed (the entity value is in the DTD).
I checked the documentation and set `xml.Decoder.Strict` to false. What appears is the entity itself, not the value of the entity.

This is my program：
https://play.golang.org/p/pxIrus-iW8b

### What did you expect to see?
> 127.0.0.1
> hello


### What did you see instead?
When d.Strict = true, there is nothing.
When d.Strict = false, output:
> 127.0.0.1
> &n;
Repository: godot
Issue: An abnormal increase in scene size
Labels: discussion,confirmed,topic:import

**Godot version:** 3.2 alpha 3

**Issue description:** I use a blender 2.8 and a standard exporter of gltf.
At the output, the scene.glb size is 1.6 mb. But while maintaining the scene.tscn, the same scene weighs 20 mb!

**Steps to reproduce:** Open scene.glb and save scene.tscn

**Minimal reproduction project:** 
[Example.zip](https://github.com/godotengine/godot/files/3812374/Example.zip)
Repository: rust
Issue: Tracking issue for future-incompatibility lint `array_into_iter`
Labels: A-lints,T-compiler,C-future-incompatibility,C-tracking-issue,A-array

### What is this lint about?

*Method resolution* is responsible for finding a fitting method for a method call expression `receiver.name(args)`. The expression `array.into_iter()` (where `array` has an array type `[T; N]`) currently resolves to either `<&[T; N] as IntoIterator>::into_iter` (for arrays smaller than 33) or `<&[T] as IntoIterator>::into_iter` (for larger arrays). In either way, an iterator over *references to the array's elements* is returned. 

In the future, we might want to [add `impl IntoIterator for [T; N]` (for arrays by value)](https://github.com/rust-lang/rust/pull/65819). In that case, method resolution would prioritize `<[T;N] as IntoIterator>::into_iter` as that method call would not require an autoref-coercion. In other words: the receiver expression (left of the dot in the method call) fits the receiver type of the method perfectly, so that method is preferred. In the `&[T; N]` or `&[T]` case, coercions are necessary to make the method call work.

Since the new method is prioritized over the old ones, some code can break. Usually that code looks somewhat like this:

```rust
[1, 2, 3].into_iter().for_each(|n| { *n; });
```

Currently this works, as `into_iter` returns an iterator over references to the array's values, meaning that `n` is indeed `&{integer}` and can be dereferenced. With the new impl, that code would stop compiling. The lint has been put in place to warn of this potentially upcoming breaking change.

### How to fix this warning/error

**Replace `.into_iter()` with `.iter()`**. The latter is guaranteed to always resolve to an iterator over references to the elements. 

<br>

---

### Current status

- [x] Lint merged as warn by default in 1.41 (stable on 2020-01-31): #66017
- [x] Lint also lints boxed arrays starting from 1.42 (stable on 2020-03-13): #67524
Repository: TypeScript
Issue: Union properties like `0 | number` or `"" | string` should be discriminants in truthiness checks
Labels: Bug

**TypeScript Version:**  3.7.2

**Code**
```ts
type A = { readonly [0]: 0 }
type B = { [0]: number }
declare var x: A | B;
if (x[0]) x[0] = 2;
```

**Expected behavior:**
No error will be reported

**Actual behavior:**
error TS2540: Cannot assign to '[0]' because it is a read-only property.

4 if (x[0]) x[0] = 2;
              ~
Repository: terminal
Issue: Add an optional status bar to the bottom
Labels: Issue-Feature,Area-UserInterface,Area-Extensibility,Product-Terminal

As seen in the original mockups:

<img src="https://user-images.githubusercontent.com/18356694/68302817-5754de80-0068-11ea-9703-3916c28233e3.png" width=640> </img>

<!-- ![image](https://user-images.githubusercontent.com/18356694/68302817-5754de80-0068-11ea-9703-3916c28233e3.png) -->

We've apparently discussed this in a ton of threads but never had an issue for it. So this is that issue. 

Things to consider:
* [ ] It must be optional. Many users _won't_ want a status bar.
* [ ] How does it play with tabs on the bottom? See #835
* [ ] What info would a user want there?
  - Username, machine name, date/time are all ~easy~ kinda **H**ard, because of SSH.
  - Keep in mind that many things from the shell (child process) we won't be able to access. Things like _current path_, git branch, active codepage.
    - Working path might be possible with OSC 7 (in #3158), though, it'll only work for shells that set it (which _won't_ include `cmd.exe`).
* [ ] How does the user specify the contents of the statusbar? Alignment of pieces of info?
* [ ] Should the user be able to add buttons to the status bar that perform actions? E.g. a "gear" button to quickly open the settings?

These are all things that should be enumerated in a spec before we review a PR.
Repository: opencv
Issue: imgproc: missing check for odd kernel size in getGaussianKernel()
Labels: bug,category: imgproc,RFC

[Documentation](https://docs.opencv.org/3.4.8/d4/d86/group__imgproc__filter.html#gac05a120c1ae92a6060dd0db190a61afa) declares support for odd values.

Adding check breaks [SURF implementation](https://github.com/opencv/opencv_contrib/blame/3.4.8/modules/xfeatures2d/src/surf.cpp#L560) from opencv_contrib.
It requests filter kernel with ksize = 20 (`PATCH_SZ`).
Repository: youtube-dl
Issue: How can I download a youtube playlist with youtube-dl and make it a mp3-playlist?
Labels: question

<!--

######################################################################
  WARNING!
  IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
######################################################################

-->


## Checklist

<!--
Carefully read and work through this check list in order to prevent the most common mistakes and misuse of youtube-dl:
- Look through the README (http://yt-dl.org/readme) and FAQ (http://yt-dl.org/faq) for similar questions
- Search the bugtracker for similar questions: http://yt-dl.org/search-issues
- Finally, put x into all relevant boxes (like this [x])
-->

- [x] I'm asking a question
- [ ] I've searched the bugtracker for similar questions including closed ones

- [ ] I've looked through the README and FAQ for similar questions

## Question

<!--
Ask your question in an arbitrary form. Please make sure it's worded well enough to be understood, see https://github.com/ytdl-org/youtube-dl#is-the-description-of-the-issue-itself-sufficient.
-->

I want to download this playlist but when I download it like youtube-dl -i PLSzf4L_DltPLtcOJuLM-eSV5AzBQQIrPc it doesn't write any playlist info in metadata. But most of the music players need playlists info to categorizing music files. Like cmus(I coudn't categorize my musics because lack of metadata). How can I do that?

Youtube-dl version: 2019.10.29
Repository: go
Issue: x/build: filter Dashboard to subsets of ports
Labels: Builders,NeedsInvestigation,FeatureRequest

<!-- Please answer these questions before submitting your issue. Thanks! -->

This issue is with [the Go Build Dashboard](https://build.golang.org/?page=0&branch=master#),
thus environment and go version info is irrelevant.

### What did you do?

<!--
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
-->

When looking at the Go Build Dashboard (the solaris-amd64 builder in my case), it's quite difficult
to associate a build (especially a failing one) with the corresponding commit: due to the large
number of builders now running, the page is so wide not to fit on a single screen.

### What did you expect to see?

It would be very helpful to be able to select either a specific subset of builders or even a single
one, just like buildbot based dashboards allow.  This would avoid the problem above and make
the display way more useful.

### What did you see instead?

An extremely wide display of builders, many of which I don't know or care about: pure information
overflow, making my work unnecessarily difficult.
Repository: flutter
Issue: kernel_compiler.snapshot should be bundled the same was as front_end_server
Labels: customer: fuchsia,engine,P2,team-engine,triaged-engine

When we generate the `frontend_server.dart.snapshot` for example, we copy over the version in `out/host_debug/gen/frontend_server.dart.snapshot`, this ensure that we produce the `application_snapshot` in the `app-jit` as its optimized.

For `kernel_compiler.snapshot` we currently copy over the version that is specific to each build variant, so for `target_arch`s that do not match `host_arch` and `runtime_mode`: release, we end up generating the snapshots in `kernel` mode and also use dart `product` mode which results in snapshots that are jit optimized without chunks of dart code. We want to avoid that.
Repository: go
Issue: proposal: cmd/go: add .proxy endpoint to the module proxy spec
Labels: Proposal,Proposal-Hold,modules

Users would benefit from more transparency around whether or not a specific module version is being temporarily *cached* in a proxy or whether it is being permanently *mirrored*. There are a number of reasons why a proxy may choose not to mirror something forever: licensing is one notable example.

The proposal would be to add an additional *optional* endpoint to the proxy spec (ie. `go help goproxy`), which proxies could implement if they choose to, which would give this information. For example:
https://proxy.golang.org/golang.org/x/text/@v/v0.3.2/mirrored
would return "true" or "false" as plaintext.

This is something we could pair with a utility in [x/mod](https://godoc.org/golang.org/x/mod) which would accept a go.sum file and indicate which versions aren't being permanently mirrored by any of the proxies listed in `GOPROXY`. That might help you decide to use a different version of the module, vendor that dependency, or encourage you to file an issue against the module if you see that a suitable license is missing, for example.

/cc @jayconrod @bcmills @heschik @hyangah @rsc
Repository: flutter
Issue: [google_maps_flutter] Zoom animations are extremely fast on iOS
Labels: c: new feature,platform-ios,a: fidelity,p: maps,package,c: proposal,P3,team-ios,triaged-ios

It would be great to be able to control the speed when animating the camera in Google Maps (just like we can control zoom, bearing and tilt). This would especially be helpful for iOS builds as the animations are much, much faster for some reason as compared to Android.
Repository: vscode
Issue: Allow viewing and editing commands with 'args' in the keybindings editor
Labels: feature-request,keybindings-editor

**Scenario**
We support creating keybindings to trigger specific types of code actions or refactorings like so:

```json
	{
		"key": "shift+ctrl+e",
		"command": "editor.action.codeAction",
		"args": {
			"kind": "refactor.extract",
			"preferred": true
		}
	}
```

 #84033 added IntelliSense for creating keybindings like this in the json based keybindings editor. However at the moment, there is no way to properly view or create or edit keybindings that use `args` in the keybindings editor.

This is important because we are trying to make code actions (specifically refactorings) more discoverable. I believe that making it easier to setup keybindings for code actions would help with discoverability and also help push refactorings as a bigger part of user's workflows

**Feature Request**
* Show the `args` somewhere in the keybindings editor
* Let users edit the `args` in some way (possibly with a UX similar to the settings editor)
* Let users create new keybindings with `args`

/cc @misolori Since this would likely require some UX work
/cc @kieferrm For general refactoring discoverability
Repository: rust
Issue: async fn unmet lifetime constraints produce confusing diagnostics
Labels: C-enhancement,A-diagnostics,A-lifetimes,T-compiler,A-async-await,A-suggestion-diagnostics,AsyncAwait-Triaged,D-confusing,D-newcomer-roadblock

```rust
use std::future::Future;

struct Foo<'a> {
  pub value: &'a str
}

fn mode_1(_b: Foo<'_>) -> impl Future<Output=()> {
  async {}
}

async fn mode_2(_b: Foo<'_>) {
}


fn test<F, Fut>(_f: F ) 
  where
    Fut: Future<Output=()>,
    F: FnOnce(Foo<'_>) -> Fut,
{
    
}


fn main() {

    // here can compiled
    test(mode_1);
    
    // here can't compiled
    test(mode_2);
}
```

```
   Compiling playground v0.0.1 (/playground)
error[E0271]: type mismatch resolving `for<'r> <for<'_> fn(Foo<'_>) -> impl std::future::Future {mode_2} as std::ops::FnOnce<(Foo<'r>,)>>::Output == _`
  --> src/main.rs:29:5
   |
14 | fn test<F, Fut>(_f: F ) 
   |    ----
...
17 |     F: FnOnce(Foo<'_>) -> Fut,
   |                           --- required by this bound in `test`
...
29 |     test(mode_2);
   |     ^^^^ expected bound lifetime parameter, found concrete lifetime

error: aborting due to previous error

For more information about this error, try `rustc --explain E0271`.
```

 [rust playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=3e4f61a8ae74a892b82bceade1532b90)
Repository: TypeScript
Issue: Why doesn't awaiting a Promise<never> change reachability?
Labels: Bug,Domain: Control Flow

**TypeScript Version:**  3.7.2

**Search Terms:**
- "Promise<never>"
- `await`
- reachability analysis
- control flow analysis
- definite assignment analysis

**Code**
```ts
(async () => {
    let b: string;
    let a1 = await Promise.reject(); // returns Promise<never>
    b = ""; // Not unreachable?
    b.toUpperCase(); // Not unreachable?
})();
```

**Expected behavior:**
As `a1` is inferred to be `never` (e.g. behaves like in the non-promised version), I expected the rest of the code to be marked as unreachable aswell:
```ts
function returnNever(): never { throw new Error(); }

(async () => {
    let b: string;
    let a0 = returnNever(); // a0 is never
    b = ""; // Unreachable
    b.toUpperCase(); // Unreachable
})();
```

**Actual behavior:**
The code after the never-returning promise is marked as reachable.

**Related Question on StackOverflow**: Has more code: https://stackoverflow.com/questions/58732814
**Related Issue**: https://github.com/microsoft/TypeScript/issues/10973 (although marked as "Working as intended", it was changed later. 3.7.2 behaves like the issue opener expected).

If this is not a bug, what is the background for this behavior?
Repository: flutter
Issue: Gradients with the default stops have a hard stop at the top of the gradient
Labels: framework,a: quality,P2,team-framework,triaged-framework

From left to right
1. Gradient with no custom stops
2. Gradient with custom stops
3. Vertical gaussian blur-based gradient

The gradient without custom stops has a very visible line at the very top. This could be improved to look more like Chrome's implementation of the same. 

![image](https://user-images.githubusercontent.com/49886147/68347761-ce13cb00-00ac-11ea-9e8b-144f8115e68e.png)
Repository: PowerToys
Issue: Enhanced Clipboard history with visualization
Labels: Idea-New PowerToy

it would be fantastic if we could have an enhanced version of clipboard history.

A future item here could be making it modular as well for additional ways to visualize / extend the clipboard items based on the file type.

@xyzzer has a good base.
Repository: vue
Issue: Computed Setter Does Not Work In Scoped Slot
Labels: discussion

### Version
2.6.10

### Reproduction link
[https://codepen.io/jameswee/pen/BaaxLmE](https://codepen.io/jameswee/pen/BaaxLmE)

### Steps to reproduce
1. Create computed setter in parent and pass it into scoped slot
2. Attach computed setter via scoped slot into child's v-model
3. Test

A working example is available if you comment out line 2 and uncomment line 3. 

### What is expected?
Editing the input box should trigger the alert function

### What is actually happening?
Editing input box isn't triggering the computed setter.

<!-- generated by vue-issues. DO NOT REMOVE -->
Repository: scrcpy
Issue: Allow to disable video streaming on Server level
Labels: feature request

It might be helpful to increase performance if the app is used as Controller only (e.g. key-to-touch mapping). Related issues: #912 #712
Repository: create-react-app
Issue: Open browser after devserver compilation 
Labels: issue: proposal,needs triage

### Is your proposal related to a problem?

When running `npm run start`, the browser opens almost immediately leaving a blank page for a good few seconds before the code is actually compiled.

### Describe the solution you'd like

It would be better if the browser only gets invoked after compilation has passed.

### Additional context

This can be achieved easily with WebpackDevServer hooks as with the following snippet:

```js
let compiledOnce = false;
// After WebpackDevServer compiles the bundle, open it in the browser.
compiler.hooks.afterCompile.tap(appName, () => {
  if (!compiledOnce) {
    openBrowser(urls.localUrlForBrowser);
  }
  compiledOnce = true;
});
```

(Maybe someone can help me with that ugly boolean variable that is required to prevent new tabs when hot reloading)
Repository: vscode
Issue: Distinguish types of calls for call hierarchy?
Labels: feature-request,api,callhierarchy

For the call hierarchy, @rbuckton brought up that JavaScript and TypeScript has many different ways of actually invoking a function:

- New `new Foo()`
- Tagged templates: foo\`bar\`
- Decorators `@foo`
- Property/Element access to accessors `obj.foo`

My proposal is that TS should return call hierarchy items for all of these cases, but I wanted to check this with you @jrieken. Does that make sense? Should we consider having a way to distinguish different call types?
Repository: react
Issue: Hotkey for "Select an element in the page to inspect it" in Chrome extension
Labels: Type: Feature Request,Component: Developer Tools

Reopening https://github.com/facebook/react-devtools/issues/966 as I feel it'd still be a great feature to have.

To reiterate, it'd be great to have a hotkey to trigger the "Select an element in the page to inspect it" functionality, similar to how `Ctrl` + `Shift` + `C` triggers Chrome's element inspector mode.