sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: youtube-dl
Issue: Introduce compatible-merge operators for format selection (was: Need a bestvideo+bestcompatibleaudio format selector)
Labels: request

### I have
- [x] **Verified** and **I assure** that I'm running youtube-dl **2016.08.01**
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
### The purpose of this _issue_
- [ ] Bug report (encountered problems with youtube-dl)
- [ ] Site support request (request for adding support for a new site)
- [x] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other
### Description

This request follows [this question](https://github.com/rg3/youtube-dl/issues/10221).

I need something like **`-f bestvideo+bestcompatibleaudio`**, where `'bestcompatibleaudio'` is the selector for the best audio file which is compatible with the desired video file (so that the files don't need to be muxed into an mkv.) Or, if you all find this cool, maybe even `'worstcompatibleaudio'`

_Until it is implemented, anyone who is in dire need of this feature can use this [script](https://gist.github.com/Daemonster/4c94372a85cd4b5ea86df06e102a19e7)._
Repository: flutter
Issue: Dropdown button menu is not repositioned after rotating the screen
Labels: framework,f: material design,a: fidelity,P3,team-design,triaged-design

1) Run Gallery -> Buttons -> Dropdown
2) Tap on one of the dropdown buttons to show the popup menu 
3) Rotate the screen

The popup menu will remain at the same coordinates it had before the rotation (and it may be offscreen).  It should be moved to match the position of the dropdown button in the new layout.
Repository: angular
Issue: feat(Forms) Expose FormControl errors to parent FormGroup
Labels: feature,state: Needs Design,freq3: high,area: forms,feature: under consideration

**I'm submitting a ...**  (check one with "x")

```
[ ] bug report
[x feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
```

**Current behavior**
When there are errors in a form group, the formGroup.status is 'INVALID' but the formGroup.errors property is null. 

ex. 

```
formGroup.controls.username.errors: {invalidEmail: true}
formGroup.errors: null
```

**Expected/desired behavior**
When the validity of a FormControl changes, have the parent FormGroup.errors merged with the errors from the controls. This is similar to how the angularjs formController.$error property works.
https://docs.angularjs.org/api/ng/type/form.FormController

**What is the motivation / use case for changing the behavior?**
This would be helpful because I prefer to only disable a submit button when specific errors are on a form, such as required. With this I could drive that attribute off the formControl.errors value instead of formControl.status.

ex.

```
From:
<button [disabled]="myForm.status !== 'VALID'">Submit</button>

To: 
<button [disabled]="myForm.errors.required">Submit</button>
```
Repository: go
Issue: runtime/trace: implement user events
Labels: help wanted,NeedsFix,early-in-cycle

https://golang.org/s/go15trace specifies user events:

> Runtime/pprof package also exposes a set of functions for emission of user events:
> 
> ```
> package pprof
> func TraceEvent(id string)
> func TraceScopeStart(id string)
> func TraceScopeEnd(id string)
> ```

But there is no implementation at this time.

Those would be invaluable to properly debug latency problems.

(According to @dvyukov there is no one actively working on it, so I might give it a try.)
Repository: go
Issue: proposal: sync: mechanism to select on condition variables
Labels: Proposal

Sometimes condition variables are the best fit for a problem, and sometimes channels are. They don't compose well, though.

I've increasingly been finding myself in a position where I would like to select on both channel(s) and a condition variable. This has come up a few times in http2, where I use condition variables for flow control, but there are plenty of channels (including the net/http.Request.Cancel channel) in play too. Sometimes I need to both wait for flow control, or wait for a user to cancel their request, or the peer side to close their connection, etc.

I would love to be able to select on a condition variable, like if the `sync.Cond` type had a method:

``` go
// WaitChan returns a channel which receives a value when awoken
// by Broadcast or Signal. Unlike Wait, WaitChan does not unlock
// or lock the c.L mutex.
func (c *Cond) WaitChan() <-chan struct{} {
     // ....
}
```

The semantics would be the receiving from it acts like a `runtime_Syncsemacquire` on `c.sema`. We'd need to define what happens if another case in the select fires first. (does the semacquire get canceled?).

Thoughts?
Repository: awesome
Issue: More non-{tech,science} awesome lists please!
Labels: list request

There are so many interesting topics in this world. Let's not limit ourselves to just tech and science!

I think the only non-{tech,science} list we have here is the [Economics](https://github.com/antontarasenko/awesome-economics) list.

Examples:
- [Life hacks](https://en.wikipedia.org/wiki/Life_hack)
- Skateboarding
- [Yarn bombing](https://en.wikipedia.org/wiki/Yarn_bombing)
- Pony grooming
- Cooking
- ...

**Please share more ideas!**
## 

[Click here to get started creating a list.](https://github.com/sindresorhus/awesome/blob/master/create-list.md)
Repository: go
Issue: cmd/cgo: arrange to pass unmodified Go source files to compiler, go/types
Labels: Proposal-Accepted

Currently cgo support is implemented with cmd/cgo as a separate tool that analyzes cgo-using Go code and transforms it into standard Go code.  This proposal is to extract the analysis logic into a separate internal package that can be reused by cmd/compile and go/types directly without needing source rewrites.  I.e., turn them into native cgo compilers, rather than needing a separate "cgofront" preprocessor step.

The expected benefits are:
1. Better error messages.  E.g., currently cmd/compile emits error messages about calls to _Cfunc_foo instead of C.foo.
2. Better position information.  Currently when using golang.org/x/tools/go/loader to analyze cgo-using source, the column location and byte offset information is wrong because it applies go/types to the post-transformation Go source files.  Thanks to //line directives, we can at least identify the original line number, but it's troublesome/imprecise to write type-sensitive refactoring tools that rely on column information and want to support cgo-using packages.
3. Better desugaring of cgo calls.  Currently cmd/cgo needs to rewrite expressions into valid Go code to be accepted by cmd/compile, which is sometimes subtle (e.g., #7757, #9557, #13635, #13930, #16591).  By desugaring within the compiler itself, we have more flexibility about the sorts of fundamental operations we can use.

Potential downsides and counter-arguments:
1. cmd/cgo still needs to exist for gccgo, but cmd/cgo already has substantially different behavior for supporting cmd/compile vs gccgo.
2. Might complicate #15681 (scheduling cmd/cgo earlier), but I expect an alternative strategy is equally viable: schedule the C compilations later.  Currently the only reason we need to schedule the C compilations before the Go compiler is to produce _cgo_imports.go.  But this file only contains //go:cgo_import_dynamic and //go:cgo_dynamic_linker directives, which don't actually affect Go compilation; cmd/compile just writes them back out again so cmd/link can ultimately handle them.
3. Increases coupling between cmd/compile and cgo, but cmd/compile already is / needs to be cgo-aware, and cmd/go already has extensive special case code for cmd/cgo (unlike any other tool that generates Go source).

Alternative ideas that might achieve similar benefits while generalizing to tools other than cmd/cgo:
1. Add a //go:errorname directive so cmd/cgo can express that _Cfunc_foo should be referred to as "C.foo" in error messages.  It's not obvious this would generalize fully though; e.g., cmd/yacc rewrites $1 to yyDollar[1], which would need something more powerful to express.
2. Generalize //line directives to something that records column/offset information too (similar to JavaScript Source Maps).  Again, I'm not sure how useful in practice this would actually be for tools other than cmd/cgo.

/cc @ianlancetaylor @alandonovan @griesemer
Repository: neovim
Issue: Exiting :terminal kills split
Labels: terminal

- `nvim --version`:  0.1.4
- Vim (version: ) behaves differently?
- Operating system/version: OSX 10.11.6
- Terminal name/version: iTerm 2 Build 3.0.5
- `$TERM`: xterm-256color
### Actual behaviour

Start: Run Neovim in a vertical split, with a file on each side.
Next: Start a terminal session in the left split.
Next: End that terminal session.
Result: The left split gets closed along with the terminal session.

![terminal-split](https://cloud.githubusercontent.com/assets/1141717/17454855/544de510-5b6b-11e6-9d7b-9bb5ee1de4c2.gif)
### Expected behaviour

Start: Run Neovim in a vertical split, with a file on each side.
Next: Start a terminal session in the left split.
Next: End that terminal session.
Result: The left split stays in-tact, with the previous file back in focus.

This is something that happens normally when closing out of a terminal session in a single window environment, ex:

![terminal-single-window](https://cloud.githubusercontent.com/assets/1141717/17454866/b65b28c6-5b6b-11e6-989f-4282770bd2e4.gif)
### Steps to reproduce using `nvim -u NORC`

```
nvim -u NORC

Same as above (happens without plugins enabled)
```
Repository: youtube-dl
Issue: Request: introduce new field `short_description`
Labels: request

Many a supported site often has both a short description and a longer. Introducing a new field `short_description` (or a similar name), would allow for both to be extracted.
Repository: TypeScript
Issue: Provide a way to alias namespaces
Labels: Suggestion,Needs More Info

TypeScript should have a way to embed (type) namespaces. In the following case, assigned (embeded) namespace NS.A should have a C type.

**TypeScript Version:**  master

**Code**

``` ts
namespace NS_A {
  export class C {
  }
}
namespace NS {
  export var A = NS_A;
  export type A = NS_A;
}
var C = NS.A.C;
type C = NS.A.C;
```

**Expected behavior:**

```
$ node built/local/tsc.js --lib es6 -m commonjs --noEmit index.ts
```

**Actual behavior:** 

```
$ node built/local/tsc.js --lib es6 -m commonjs --noEmit index.ts
index.ts(7,19): error TS2304: Cannot find name 'NS_A'.
index.ts(10,13): error TS2305: Module 'NS' has no exported member 'A'.
```
Repository: rust
Issue: Add `is_empty` function to `ExactSizeIterator`
Labels: T-libs-api,B-unstable,C-tracking-issue,A-iterators,Libs-Tracked

Tracking issue for functionality introduced in https://github.com/rust-lang/rust/pull/34357
Repository: youtube-dl
Issue: Add support for Voot.com
Labels: site-support-request,geo-restricted

### Make sure you are using the _latest_ version: run `youtube-dl --version` and ensure your version is _2016.08.07_. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2016.08.07**
### Before submitting an _issue_ make sure you have:
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
### What is the purpose of your _issue_?
- [ ] Bug report (encountered problems with youtube-dl)
- [x] Site support request (request for adding support for a new site)
- [ ] Feature request (request for a new functionality)
- [ ] Question
- [ ] Other

---
### If the purpose of this _issue_ is a _site support request_ please provide all kinds of example URLs support for which should be included (replace following example URLs by **yours**):
- Single video: http://www.voot.com/shows/splitsvilla-s09/9/411756/rajnandini-to-settle-scores-with-martina-/434441
- Playlist: http://www.voot.com/shows/splitsvilla-s09/9/411756

---

Georestrictd to IN.
Repository: TypeScript
Issue: Error message for invalid string literal type could be improved
Labels: Suggestion,Help Wanted,Effort: Moderate,Domain: Error Messages,Experience Enhancement

<!-- 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.0 Beta

**Code**

``` ts
// A *self-contained* demonstration of the problem follows...
interface Foo {

    method(value: 'aa'): void;
    method(value: 'bb'): void;
    method(value: 'zz'): void;
    method(value: 'last'): void;
}

const x: Foo = {} as any;

x.method('bar'); // Error line
```

**Expected behavior:**

A more meaningful error message, e.g. 

`Argument of type "'bar'" is not assignable to parameter of type "'aa' | 'bb'|...|'last'"`

**Actual behavior:** 

`Argument of type "'bar'" is not assignable to parameter of type "'last'"`

I am finding this error message confusing, because the compiler picks the value of the last overload in order to report the error, and there is nothing special about the last value.
Repository: go
Issue: runtime: use frame pointers for callers
Labels: Performance,NeedsFix,early-in-cycle

Traceback is the main source of slowdown for tracer. On net/http.BenchmarkClientServerParallel4:
BenchmarkClientServerParallel4-6      200000         10627 ns/op        4482 B/op         57 allocs/op
with tracer:
BenchmarkClientServerParallel4-6      200000         16444 ns/op        4482 B/op         57 allocs/op
That's +55% slowdown. Top functions of profile are:
     6.09%  http.test  http.test             [.] runtime.pcvalue
     5.88%  http.test  http.test             [.] runtime.gentraceback
     5.41%  http.test  http.test             [.] runtime.readvarint
     4.31%  http.test  http.test             [.] runtime.findfunc
     2.98%  http.test  http.test             [.] runtime.step
     2.12%  http.test  http.test             [.] runtime.mallocgc

runtime.callers/gcallers/Callers are not interested in frame/func/sp/args/etc for each frame, they only need PC values. PC values can be obtained using frame pointers, which must be much faster. Note that there calls are always synchronous (can't happen during function prologue or in the middle of goroutine switch), so should be much simpler to handle.

We should use frame pointers in runtime.callers.

@aclements @ianlancetaylor @hyangah
Repository: kubernetes
Issue: Controller manager special-cases NFS and other volumes
Labels: priority/backlog,sig/storage,sig/api-machinery,lifecycle/frozen

code in `cmd/kube-controller-manager/app/plugins.go`:

```
    nfsConfig := volume.VolumeConfig{
        RecyclerMinimumTimeout:   int(config.PersistentVolumeRecyclerConfiguration.MinimumTimeoutNFS),
        RecyclerTimeoutIncrement: int(config.PersistentVolumeRecyclerConfiguration.IncrementTimeoutNFS),
        RecyclerPodTemplate:      volume.NewPersistentVolumeRecyclerPodTemplate(),
    }
```

Volume plugins should be opaque.  We need to find a way for params like this to come through without open-coding lists of parameters per volume plugin type.  This will take some thinking, and it will have to be compatible for a while.

@saad-ali @jsafrane @matchstick
Repository: gin
Issue: Is there a way to match hosts like you can in Gorilla?
Labels: feature

For example, Gorilla has: `r.Host("www.example.com")`

Is that possible?
Repository: rust
Issue: `array.push(Foo { ... })` should construct `Foo` in-place
Labels: I-slow,C-enhancement,T-compiler,A-MIR,A-array

Right now when you push an immediate we construct a temporary copy on the stack and then move it into place on the heap. This is wasteful and results in a good deal of code bloat. Can we do better (with MIR perhaps)?

One possible sketch of a solution is to implement MIR inlining and then use some variant of #32966 that can prove that the construction of the argument to `push()` does not touch the vector, enabling us to forward the move from the stack to the destination of `ptr::write()`.

An alternative would be to implement rust-lang/rfcs#1426.

cc @eddyb @nikomatsakis
Repository: rust
Issue: Bad codegen: unnecessary on-stack copy in WebRender 2
Labels: A-LLVM,I-slow,C-enhancement,T-compiler

Here's an unncessary on-stack copy in WebRender 2 with an inefficient `mov` chain.

Original code: https://github.com/servo/webrender/blob/master/src/tiling.rs#L111

```
fn add_layer_to_ubo(layer_ubos: &mut Vec<Vec<PackedLayer>>,
                    layer_to_ubo_map: &mut Vec<Option<usize>>,
                    layer_index: StackingContextIndex,
                    ctx: &RenderTargetContext) -> (usize, u32) {
    let index_in_ubo = match layer_to_ubo_map[layer_index.0] {
        Some(index_in_ubo) => {
            index_in_ubo
        }
        None => {
            let need_new_ubo = layer_ubos.is_empty() ||
                               layer_ubos.last().unwrap().len() == ctx.alpha_batch_max_layers;

            if need_new_ubo {
                for i in 0..layer_to_ubo_map.len() {
                    layer_to_ubo_map[i] = None;
                }
                layer_ubos.push(Vec::new());
            }

            let layer_ubo = layer_ubos.last_mut().unwrap();
            let index = layer_ubo.len();
            let sc = &ctx.layer_store[layer_index.0];
            layer_ubo.push(PackedLayer {
                transform: sc.transform,
                inv_transform: sc.transform.invert(),
                screen_vertices: sc.xf_rect.as_ref().unwrap().vertices,
                world_clip_rect: sc.world_clip_rect.unwrap(),
            });
            layer_to_ubo_map[layer_index.0] = Some(index);
            index
        }
    };

    (layer_ubos.len() - 1, index_in_ubo as u32)
}
```

`out-reduced.ll`: https://gist.github.com/pcwalton/3dbfe14ea18a70bd96f7c74e27696663
`out-reduced.s`: https://gist.github.com/pcwalton/2ca2e9755eb75f7e61ccd252ff87ec9d
Repository: youtube-dl
Issue: please support flyvidz.com - a really spammy site with strange pop-up like stuff
Labels: request

<img width="1304" alt="screen shot 2016-08-09 at 11 33 40" src="https://cloud.githubusercontent.com/assets/1093836/17511847/29425bf0-5e25-11e6-89ed-76b3b85d2af8.png">
flyvidz.com is a spamy site, even with ad blocking there is fishy stuff. I wish to get their videos.

Warning: this site sadly hosts not only porn also terrible stuff :-(

```
> youtube-dl -v http://flyvidz.com/gave-no-fk-girl-caught-in-middle-of-concert-giving-guy-head/
[debug] System config: [u'--restrict-filenames', u'--ignore-errors', u'--prefer-ffmpeg', u'-n', u'-o', u'~/Desktop/%(title)s-%(resolution)s.%(ext)s', u'-f', u'bestvideo[ext!=webm]+bestaudio[ext!=webm]/best[ext!=webm]']
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://flyvidz.com/gave-no-fk-girl-caught-in-middle-of-concert-giving-guy-head/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.08.07
[debug] Python version 2.7.12 - Darwin-15.6.0-x86_64-i386-64bit
[debug] exe versions: avconv 11.4, avprobe 11.4, ffmpeg 3.1.1, ffprobe 3.1.1, rtmpdump 2.4
[debug] Proxy map: {'http': 'http://localhost:8118', 'https': 'http://localhost:8118'}
[generic] gave-no-fk-girl-caught-in-middle-of-concert-giving-guy-head: Requesting header
WARNING: Falling back on generic information extractor.
[generic] gave-no-fk-girl-caught-in-middle-of-concert-giving-guy-head: Downloading webpage
[generic] gave-no-fk-girl-caught-in-middle-of-concert-giving-guy-head: Extracting information
[download] Downloading playlist: Gave No F**K: Girl Caught in Middle of Concert Giving Guy Head
[generic] playlist Gave No F**K: Girl Caught in Middle of Concert Giving Guy Head: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[youtube:user] Downloading login page
[youtube:user] Logging in
[youtube:user] embed: Downloading channel page
[youtube:playlist] Downloading login page
[youtube:playlist] Logging in
[youtube:playlist] UUaHofiHZt-qSj7yg-pu2pGg: Downloading webpage
[download] Downloading playlist: Uploads from embed
[youtube:playlist] playlist Uploads from embed: Downloading 0 videos
[download] Finished downloading playlist: Uploads from embed
[download] Finished downloading playlist: Gave No F**K: Girl Caught in Middle of Concert Giving Guy Head
```

thanks for great work
Repository: youtube-dl
Issue: Support futurelearn.com
Labels: site-support-request,account-needed

### Make sure you are using the _latest_ version: run `youtube-dl --version` and ensure your version is _2016.08.10_. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected.
- [x] I've **verified** and **I assure** that I'm running youtube-dl **2016.08.10**
### Before submitting an _issue_ make sure you have:
- [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections
- [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones
### What is the purpose of your _issue_?
- [x] Site support request (request for adding support for a new site)

Hi, I'd like to add support for http://www.futurelearn.com/
Repository: rust
Issue: Only the first expression in an `include!`d file is included.
Labels: A-diagnostics,A-macros,T-compiler,C-bug

If you have a file that invokes a macro and you `include!` it, the following happens:
### `main.rs`

``` rust
fn main() {
    macro_rules! my_macro {
        ($name:expr) => {{
            printn!("{}", $name);
        }}
    }

    include!("helper.rs");
}
```
### `helper.rs`

``` rust
my_macro!("foo");
my_macro!("bar");
```
### STR

```
$ rustc main.rs
$ ./main
foo
```
#### Expected output

Should print `foo` and `bar`, just as if the code would have been inlined.

Tested with latest nightly and stable:

```
rustc 1.12.0-nightly (080e0e072 2016-08-08)
rustc 1.10.0 (cfcb716cf 2016-07-03)
```