sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: go
Issue: image/gif: Mention the uselessness of BackgroundIndex in the docs
Labels: Documentation,help wanted,NeedsInvestigation

Go version: Go 1.8 (but this is a documentation issue)

Quick introduction to GIF disposal methods:
In an animated GIF, a _disposal method_ can be set for each frame. It specifies to which state the canvas should be set before displaying the next frame when the current frame is finished being shown. There are three disposal methods, represented in `image/gif` by `DisposalNone`, `DisposalBackground` and `DisposalPrevious`.
`DisposalNone` means that the following frame is drawn on top of the current frame, so that transparent areas of the next frame continue to show this frame's content. `DisposalPrevious` means that the canvas is reset to the last frame that _didn't_ have its disposal method set to `DisposalPrevious`. `DisposalBackground` means something else and I will come to that in a moment.

In Go, an animated GIF can be written by `EncodeAll()` in `image/gif`, which accepts a `GIF` struct that describes the animated GIF. This struct has a member `BackgroundIndex byte` whose inline documentation reads:
```
// BackgroundIndex is the background index in the global color table, for
// use with the DisposalBackground disposal method.
BackgroundIndex byte
```
This gives the impression that `DisposalBackground` means "the canvas is restored to the color given by `BackgroundIndex`.

However, in all modern browsers `DisposalBackground` is interpreted as "clear the canvas to fully transparent".

It turns out that this is indeed an ambiguity in the GIF89a specification which in the past has been interpreted as "clear to `BackgroundIndex`" but is apparently interpreted as "clear to transparent" since about 15 years ago, as [this comment](https://bugzilla.mozilla.org/show_bug.cgi?id=85595#c72) from the Mozilla bugtracker shows.

Since I just spent an hour figuring out why Chrome (as I thought) doesn't reset the canvas to `BackgroundIndex`, I would appreciate if the fact that `BackgroundIndex` is essentially ignored by all browsers would be mentioned in the docs.
Repository: go
Issue: x/net/bpf: tests are flaky due to timing assumptions
Labels: Testing,NeedsFix

Test flake:

Seen on a trybot run:
```
--- FAIL: TestVMALUOpXor (0.10s)
	vm_bpf_test.go:120: output byte count does not match:
		- go: 1
		- os: 0
	vm_bpf_test.go:124: Go BPF and OS BPF packet outputs do not match
FAIL
FAIL	golang.org/x/net/bpf	0.767s
```

Could somebody investigate? Test flakes make development elsewhere harder. (I was working on http2)

/cc @mdlayher @danderson
Repository: godot
Issue: UWP game on XBox receives mysterious InputKey events
Labels: bug,platform:uwp,topic:input

**Operating system or device - Godot version:** UWP(XBox), Godot 2.2


**Issue description:**
Although I'm just using the xbox controller, my code is printing InputKey events everytime I press any button or move the sticks in the controller.
The scancode is: 33554431, which seems to be a very strange code :)
Repository: rust
Issue: Format self correctly
Labels: C-enhancement,A-diagnostics,T-compiler,WG-diagnostics

Fix the formatting of `self` in the error message.
```
struct Foo {
  field: i32
}

impl Foo {

fn foo<'a>(&self, x: &'a Foo) -> &'a Foo {

    if true { self } else { x }
    
    // now gives:
// error[E0611]: explicit lifetime required in the type of `self`
//    |
// 20 |     fn foo<'a>(&self, x: &'a Foo) -> &'a Foo {
//    |                  ^^^^^ consider changing the type of `self` to `&'a Foo`
// ...
// 25 |         if true { self } else { x }
//    |                   ---- lifetime `'a` required

    // should actually:
// error[E0611]: explicit lifetime required in the type of `self`
//    |
// 20 |     fn foo<'a>(&self, x: &'a Foo) -> &'a Foo {
//    |                  ^^^^^ consider changing to `&'a self`
// ...
// 25 |         if true { self } else { x }
//    |                   ---- lifetime `'a` required
  }
  
}
```
```
^^^^^ consider changing the type of `self` to `&'a Foo`
```
should actually be
```
^^^^^ consider changing to `&'a self`
```

cc @nikomatsakis
Repository: flutter
Issue: Better handle case where a developer opens `Runner.xcodeproj` instead of `Runner.xcworkspace`
Labels: platform-ios,tool,t: xcode,P3,a: plugins,team-ios,triaged-ios

If a developer opens `Runner.xcodeproj` rather than `Runner.xcworkspace` things generally work OK (for example, you can Run with no problems) *until* they start to use plugins. Then they get errors such as:
<img width="401" alt="screen shot 2017-06-16 at 18 12 51" src="https://user-images.githubusercontent.com/13644170/27235016-7554264c-52bf-11e7-9817-2b488831a0db.png">
Repository: rust
Issue: properly handle anonymous regions appearing in return type- named-anon conflicts
Labels: C-enhancement,A-diagnostics,T-compiler,WG-diagnostics

These cases, going by the way #42669 for one named and other anonymous lifetime parameter , the error message generated would suggest ` consider changing type of self` to `&'a i32`. In the first case, this is fine but the second case, with `self.field` not being the return value, the message is wrong and should only suggest changing the return type. We need to differentiate both the cases and fix the error message for the second case.
```rust
fn foo<'a>(&self, x: &'a i32) -> &i32 {
 // Preferred message:
 //     fn foo<'a>(&self, x: &'a i32) -> &i32 {
 //                 -----                 ---- consider changing to `&'a i32`
 //                 |
 //                 consider changing to `&'a self`
    if true { &self.field } else { x }
  }
```
```rust
fn foo<'a>(&self, x: &'a i32) -> &i32 {
//       preferred error
//       fn foo<'a>(&self, x: &'a i32) -> &i32 {             
//                                         ---- consider changing to `&'a i32`
    x

// error[E0611]: explicit lifetime required in the type of `self`
//    |
// 33 |     fn foo<'a>(&self, x: &'a i32) -> &i32 {
//    |                 ^^^^^ consider changing the type of `self` to `&'a Foo`
// 34 |         //                             
// 35 |         x
//    |         - lifetime `'a` required
  }
```
cc @nikomatsakis
Repository: nvm
Issue: Installing "system" node using nvm?
Labels: feature requests,needs followup,root / multiuser issues

From the README, it's not clear how I could install a system version of node (that will be used even when nvm isn't sourced). Is that a supported use case?
Repository: go
Issue: proposal: spec: allow combining characters in identifiers
Labels: LanguageChange,Proposal,LanguageChangeReview

Forking from #16033, which had two related but different proposals in it. The proposal for this issue, by @robpike:

On a related note, some writing systems - Devanagari is one (see #5167) require combining characters. The current identifier rules forbid combining characters; perhaps that should be relaxed, although that will require a canonicalization rule for combining characters. Unicode does have a definition for identifiers (http://unicode.org/reports/tr31/); perhaps Go should use it. Note that the addition of combining characters, allied with the export proposal above, would make it possible to export Devanagari identifiers.
Repository: go
Issue: encoding/xml: lacks support for decoding arrays
Labels: NeedsDecision,FeatureRequest

Please answer these questions before submitting your issue. Thanks!

### What version of Go are you using (`go version`)?
go version go1.8.1 windows/amd64


### What did you do?
Tried to store a struct containing [2]int as xml, then load it: 
https://play.golang.org/p/TDMcHlf3fn

### What did you expect to see?
`{[0 255]} {[255 255]}`

### What did you see instead?
```
panic: unknown type [2]uint8

goroutine 1 [running]:
main.main()
	/tmp/sandbox393989733/main.go:22 +0x260
```

### Additional Notes
There is no `case reflect.Array:` in` (p *Decoder) unmarshal` in "encoding/xml/read.go"
Encoding arrays works
Decoding arrays as slices works
Repository: go
Issue: runtime/cgo: call C exit to allow global destructors/atexit to run
Labels: Unfortunate,help wanted,NeedsFix

Please answer these questions before submitting your issue. Thanks!

### What version of Go are you using (`go version`)?
go version go1.8 linux/amd64

### What operating system and processor architecture are you using (`go env`)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build855140157=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

### What did you do?

I want to do something in the destructor of a global variable defined in c++ library which is linked into a go program via cgo.   but the destructor can't be invoked when the go program exited.

//c++ library
class AutoInit
{
public:
    AutoInit() { printf("+++++ auto init\n"); }
   ~AutoInit() { printf("---- auto fini\n"); }
};

### What did you expect to see?

two lines should be printed:
+++++ auto init
---- auto fini

### What did you see instead?

only one line was be printed:
+++++ auto init
Repository: go
Issue: x/tools/cmd/gomvpkg: mishandles main package
Labels: Tools

`gomvpkg -from foo/bar -to baz/bar` where `foo/bar` is `package main` renames package to `bar`, which makes it non-executable. May look silly, but the main intention was to take advantage of `-vcs_mv_cmd "git mv {{.Src}} {{.Dst}}"` part. gomvpkg should not rename main package.
Repository: TypeScript
Issue: Allow specifying only a subset of generic type parameters explicitly instead of all vs none
Labels: Suggestion,In Discussion

<!-- BUGS: Please use this template. -->
<!-- QUESTIONS: This is not a general support forum! Ask Qs at http://stackoverflow.com/questions/tagged/typescript -->
<!-- SUGGESTIONS: See https://github.com/Microsoft/TypeScript-wiki/blob/master/Writing-Good-Design-Proposals.md -->

**TypeScript Version:**  2.3.0
https://www.typescriptlang.org/play/
**Code**

```ts
class Greeter<T, S> {
    greeting: T;
    constructor(message: T, message2: S) {
        this.greeting = message;
    }

}

let greeter = new Greeter<string>("Hello", "world");

```

**Expected behavior:**

The compiler should infer `S` to be `string`.

**Actual behavior:**
Error:

> Supplied parameters do not match any signature of call target.

The compiler expects either all generic parameters to be specified explicitly or none at all.
Repository: TypeScript
Issue: Default exported named class throw an error if there is another class with same name
Labels: Bug,Help Wanted,Domain: Error Messages,PursuitFellowship

<!-- BUGS: Please use this template. -->
<!-- QUESTIONS: This is not a general support forum! Ask Qs at http://stackoverflow.com/questions/tagged/typescript -->
<!-- SUGGESTIONS: See https://github.com/Microsoft/TypeScript-wiki/blob/master/Writing-Good-Design-Proposals.md -->

**TypeScript Version:**  2.4.0 / nightly (2.5.0-dev.201xxxxx)

**Code**

```ts
class A {

}
export default class A {

}
```

**Expected behavior:**
No error

**Actual behavior:**
A module cannot have multiple default exports

**It's ok**
```ts
class A {

}
var y = class A {

}
export default y;
```
Repository: rust
Issue: Need negative trait bound
Labels: A-trait-system,T-lang,A-specialization,C-feature-request

```rust
use std::convert::From;

struct SomeError;
enum Error<E> {
    One(SomeError),
    Two(E),
}

/// impl<E> From<SomeError> for Error<E> where E: !SomeError {
impl<E> From<E> for Error<E> {
    fn from(error: E) -> Self {
        Error::One(error)
    }
}
impl<E> From<SomeError> for Error<E> {
    fn from(error: E) -> Self {
        Error::Two(error)
    }
}
```


It's produces error:
```
rustc 1.18.0 (03fc9d622 2017-06-06)
error: main function not found

error[E0119]: conflicting implementations of trait `std::convert::From<SomeError>` for type `Error<SomeError>`:
  --> <anon>:15:1
   |
9  | / impl<E> From<E> for Error<E> {
10 | |     fn from(error: E) -> Self {
11 | |         Error::One(error)
12 | |     }
13 | | }
   | |_- first implementation hereadd
14 | 
15 | / impl<E> From<SomeError> for Error<E> {
16 | |     fn from(error: E) -> Self {
17 | |         Error::Two(error)
18 | |     }
19 | | }
   | |_^ conflicting implementation for `Error<SomeError>`

error: aborting due to previous error
```

May'be shall implement contruction:
```rust
impl<E> From<SomeError> for Error<E> where E: !SomeError {
  ...
}
```
Repository: opencv
Issue: Can `–default-stream per-thread`  be used with opencv ?
Labels: category: build/install,category: gpu/cuda (contrib)

<!--
If you have a question rather than reporting a bug please go to http://answers.opencv.org where you get much faster responses.
If you need further assistance please read [How To Contribute](https://github.com/opencv/opencv/wiki/How_to_contribute).

This is a template helping you to create an issue which can be processed as quickly as possible. This is the bug reporting section for the OpenCV library.
-->

##### System information (version)

- OpenCV => 3.2
- Operating System / Platform => Linux
- Compiler => Cmake


##### Detailed description

<!-- your description -->

I use Muliptle streams in opencv, but blocked on the default stream, like this:
![](https://devblogs.nvidia.com/parallelforall/wp-content/uploads/2015/01/stream_legacy-624x178.png)

How can streams work like this:
![](https://devblogs.nvidia.com/parallelforall/wp-content/uploads/2015/01/stream_per_thread-624x168.png)

I found this can be solved by `nvcc –default-stream per-thread -o XXX` [(GPU Pro Tip: CUDA 7 Streams Simplify Concurrency)](https://devblogs.nvidia.com/parallelforall/gpu-pro-tip-cuda-7-streams-simplify-concurrency/). but how can `–default-stream per-thread`  be used with opencv ?

The same problem posted on devtalk.nvidia.com [https://devtalk.nvidia.com/default/topic/995591/muliptle-streams-don-t-speed-up-processing/?offset=5#5169503](https://devtalk.nvidia.com/default/topic/995591/muliptle-streams-don-t-speed-up-processing/?offset=5#5169503)
Repository: youtube-dl
Issue: [douyutv] unable to download video data
Labels: broken-IE

- [x] Bug report (encountered problems with youtube-dl)
- [x] Question

[DouyuTV] : Downloading video URL info
Traceback (most recent call last):
  File "__main__.py", line 19, in <module>
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\__init__.py", line 465, in main
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\__init__.py", line 455, in _real_main
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\YoutubeDL.py", line 1919, in download
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\YoutubeDL.py", line 762, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\extractor\common.py", line 433, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\extractor\douyutv.py", line 106, in _real_extract
TypeError: list indices must be integers, not str

unable to download the video from douyutv. I am using the latest version 2017.06.18
Repository: rust
Issue: Cannot call implementations of the `Fn*` traits on references
Labels: A-type-system,P-medium,T-compiler,C-bug,F-unboxed_closures,T-types

Attempting to implement `FnOnce` for a reference to a struct or a trait object:

```rust
#![feature(fn_traits)]
#![feature(unboxed_closures)]

struct S;

fn repro_ref(thing: &S) {
    thing();
}

impl<'a> FnOnce<()> for &'a S {
    type Output = ();

    extern "rust-call" fn call_once(self, _arg: ()) -> () {}
}

fn main() {}
```

Produces the error:

```
error[E0618]: expected function, found `&S`
 --> src/main.rs:7:5
  |
7 |     thing();
  |     ^^^^^^^
  |
note: defined here
 --> src/main.rs:6:14
  |
6 | fn repro_ref(thing: &S) {
  |              ^^^^^
```

Interestingly, both of these alternatives work:

```rust
fn ok_ref_ref_arg(thing: &&S) {
    thing();
}

fn ok_ref_ref(thing: &S) {
    (&thing)();
}
```

cc #29625.

Originally from [this Stack Overflow question](https://stackoverflow.com/q/44614206/155423).
Repository: TypeScript
Issue: Allow "Compiler Plugins"
Labels: Suggestion,Needs Proposal

From wiki:

> TypeScript Language Service Plugins ("plugins") are for changing the editing experience only

TypeScript plugins are very limited.  Plugins should be able to:

* Apply Transformers 
* Provide type definitions 
* Override module resolver (`LanguageServiceHost#resolveModuleNames`)
* Emit code beside TypeScript standard output
Repository: rust
Issue: Altivec/VSX support
Labels: T-compiler,O-PowerPC,A-SIMD,C-tracking-issue,A-intrinsics

Since llvm seems to have an almost viable intrinsics support now, is it possible to expose them in rust like the neon ones?
Repository: react
Issue: False positive getDefaultProps warning when mixing development and production versions
Labels: Type: Bug,Component: Core Utilities,Difficulty: medium

As migrating from 15.4 to 15.5, I am rewrite original react components with `create-react-class`. 

However, there is a warning.

```
react-15.5.4.js?bust=1497843639843:3287 Warning: getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.
```

 As I am really transferring from a **classic** `React.createClass` definition, I would like to ask is this warning appropriate? Or, this is a depreciation sames as the level of migrating to `create-react-class`?

Ooops, I get ticket #9999  :D
Repository: angular
Issue: Child auxiliary routes and matrix parameters do not work together
Labels: type: bug/fix,freq2: medium,area: router,state: confirmed,router: aux routes,router: URL parsing/generation,P3

<!--
PLEASE HELP US PROCESS GITHUB ISSUES FASTER BY PROVIDING THE FOLLOWING INFORMATION.

ISSUES MISSING IMPORTANT INFORMATION MIGHT BE CLOSED WITHOUT INVESTIGATION.
-->

## I'm submitting a ...
<!-- Check one of the following options with "x" -->
<pre><code>
[ ] Regression (behavior that used to work and stopped working in a new release)
[x] Bug report <!-- Please search github for a similar issue or PR before submitting -->
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre>

## Current behavior
<!-- Describe how the issue manifests. -->
Navigating to aux route in child component erases matrix parameters and vice versa.

## Expected behavior
<!-- Describe what the desired behavior would be. -->
Neither aux route nor matrix parameters should be removed.

## Minimal reproduction of the problem with instructions
<!--
For bug reports please provide the *STEPS TO REPRODUCE* and if possible a *MINIMAL DEMO* of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).
-->
[plunker](https://plnkr.co/edit/fac7awK1s78dab7flrTZ?p=preview)

Root component has two router outlets:
```
<router-outlet></router-outlet>
<router-outlet name="sidebar"></router-outlet>
```

Component rendered in main outlet also has aux outlet:
```
<router-outlet name="inner"></router-outlet>
```

Routes:
```
  { path: 'component-aux', component: ComponentAux, outlet: 'sidebar' }
  { path: 'component-one', component: ComponentOne, children: [
    { path: 'component-aux-inner', component: ComponentAux, outlet: 'inner' }
  ] },
```

`sidebar` aux route lives nicely with matrix parameters:

- Starting  url: `/component-one`
- Click `Add aux` at the top
- Url: `/component-one(sidebar:component-aux)`
- Click `Add matrix` at the top
- Url: `/component-one;outer=test(sidebar:component-aux)`

But in child component they conflict:

- Starting  url: `/component-one`
- Click `Add aux` in `outlet` box
- Url: `/component-one/(inner:component-aux-inner)`
- Click `Add matrix` in `outlet` box
- Url: `/component-one;inner=test`
- Click `Add aux` in `outlet` box
- Url: `/component-one/(inner:component-aux-inner)`

## What is the motivation / use case for changing the behavior?
<!-- Describe the motivation or the concrete use case. -->
It's a bug

## Please tell us about your environment

<pre><code>
Angular version: 4.2.3
<!-- Check whether this is still an issue in the most recent Angular version -->

Browser:
- Chrome (desktop) version 58
</code></pre>
Repository: go
Issue: x/perf/benchstat: Return status code 1 when benchmarks change significantly
Labels: NeedsDecision

Running benchstat on a CI server to detect anomalies relies on the user to parse the output from the command in order to pick up any deltas. To make this process simpler I propose benchstat would return a status code 1 when any of the benchmarks have significant change.

In the event that backwards compatibility is required, a new flag could be added to activate this behaviour.

Example:
```go
// ...
var (
	flagDeltaTest    = flag.String("delta-test", "utest", "significance `test` to apply to delta: utest, ttest, or none")
	flagAlpha        = flag.Float64("alpha", 0.05, "consider change significant if p < `α`")
	flagGeomean      = flag.Bool("geomean", false, "print the geometric mean of each file")
	flagHTML         = flag.Bool("html", false, "print results as an HTML table")
	flagSplit.       = flag.String("split", "pkg,goos,goarch", "split benchmarks by `labels`")
        flagFailOnChange = flag.Bool("failonchange", false, "returns exit code 1 when benchmarks have significant change")
)

func main() {

// ...

    for _,row := Range c.Rows {
        if row.Changed != 0 {
            fmt.Fprintln(os.Stderr, "One or more benchmarks have changed significantly")
            os.Exit(1)
        }
    }

}
```
Repository: rust
Issue: Error message when using non-derived constants from another crate in pattern matching is confusing
Labels: C-enhancement,A-diagnostics,T-compiler,D-confusing,D-newcomer-roadblock,A-patterns

The error message is perfectly fine when inside the crate that has the type, because changing or adding a `derive(PartialEq, Eq)` is something you can control.

```
error: to use a constant of type `mime::Mime` in a pattern, `mime::Mime` must be annotated with `#[derive(PartialEq, Eq)]`
   --> src/main.rs:187:39
    |
187 |                     Some(&ContentType(mime::TEXT_XML)) => (),
    |                                       ^^^^^^^^^^^^^^
```

However, when the type isn't in your crate, the message makes the user think the other crate simply "forgot" to implement `PartialEq`, and there is nothing for them to do. A suggestion would be to change the error message when the type is not a crate-local, and add a note of how to fix it.

```
error: a constant of type `mime::Mime` cannot be used in a pattern
   --> src/main.rs:187:39
    |
187 |                     Some(&ContentType(mime::TEXT_XML)) => (),
    |                                       ^^^^^^^^^^^^^^
    |
    = note: try pattern guards insteand: `Some(&ContentType(ref a)) if a == &mime::TEXT_XML => (),`
```
Repository: flutter
Issue: Make Table accessible
Labels: framework,f: material design,a: accessibility,P2,team-design,triaged-design

Tables are not very accessible. A simple example can be seen in the "recipe details" screen if the Pesto demo app: In the table of ingredients at the bottom you should be able to select an entire row        when in accessibility node. Currently, you can only select one cell at a time, making accessibility navigation awkward.