sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: youtube-dl
Issue: Unable to download thatguywiththeglasses.com's videos.
Labels: site-support-request

Example:

$ youtube-dl -v http://thatguywiththeglasses.com/videolinks/thatguywiththeglasses/nostalgia-critic/45455-rise-of-the-commercials
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://thatguywiththeglasses.com/videolinks/thatguywiththeglasses/nostalgia-critic/45455-rise-of-the-commercials']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.11.02.1
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.7
[debug] exe versions: avconv 1.0.10, avprobe 1.0.10, ffmpeg 1.0.10, ffprobe 1.0.10
[debug] Proxy map: {}
[generic] 45455-rise-of-the-commercials: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 45455-rise-of-the-commercials: Downloading webpage
[generic] 45455-rise-of-the-commercials: Extracting information
[BlipTV] gbk7g7GfSAI: Resolving lookup id
ERROR: Unable to extract video_id; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Traceback (most recent call last):
  File "/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 533, in extract_info
    ie_result = ie.extract(url)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 198, in extract
    return self._real_extract(url)
  File "/usr/bin/youtube-dl/youtube_dl/extractor/bliptv.py", line 78, in _real_extract
    video_id = self._search_regex(r'data-episode-id="([0-9]+)', info_page, 'video_id')
  File "/usr/bin/youtube-dl/youtube_dl/extractor/common.py", line 432, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video_id; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

Thank you in advance. :)
Repository: nvm
Issue: `ksh` doesn't support `local`
Labels: bugs,shell: ksh,pull request wanted

`ksh` doesn't support `local` with portable function syntax, and `dash` doesn't support `typeset`.
Repository: rust
Issue: No way to have + or * as separator token in macros
Labels: C-enhancement,A-macros,T-lang

I'm trying to write a macro that sums a list of expressions, but it doesn't work because it's not possible to have + or \* as the seperator token. For example:

``` rust
macro_rules! sum {
    (
        $($e:expr)+ => (
        $($e)++ // ???
    )
}
```

It'll interpret is as there being no seperator token, and it seems to just stick a `+` at the end. Escaping the first `+` doesn't work either.

I'm using rust head

@bstrie
Repository: neovim
Issue: Feature: text objects as command ranges
Labels: enhancement

Something I've always wished Vim had is the ability to use text objects as command ranges, so you could do:

``` vim
    :i}norm ^i// <CR>
```

to comment out lines inside a pair of curly brackets (that's a bad example, but it's the only one I could think of that doesn't use one of my user defined commands) rather than having to:

``` vim
    vi}
    :'<,'>norm ^i// <CR>
```
Repository: kubernetes
Issue: Policies on Labels and Selectors
Labels: area/security,priority/awaiting-more-evidence,sig/service-catalog,lifecycle/frozen

Suppose there is one namespace with two users.
- Trustworthy Tammy is trusted to manage the prod pods.
- Fat-fingered Fred is only trusted to manage the dev pods.  fred is prone to making mistakes.

Tammy makes a service that selects pods with "type=prod".

Now, say Fred starts some buggy code in pods.  He meant to apply label "type=dev", but by accident he applies "type=prod".  Now user requests are hitting his buggy servers.

We should have a way to control who can apply and select a certain label-key-value.  ABAC policy could certainly support this.  

This is relatively low priority, since people could use namespaces to separate Fred and Tammy's pods.  But,  in the long run, I think we want to encourage people to put more things in a single namespace.
Repository: rust
Issue: "Ghost" methods in rustdoc for cross-crate trait impls
Labels: T-rustdoc,C-bug

Consider the following MWE:

```rs

pub trait Foo { fn root(); }

impl Foo for Option<usize> {
    fn root() {}
}
```

Compiling, and navigating to `doc/lib/index.html?search=root` shows a clickable `core::option::Option::root` result. Clicking on it takes you to `doc/core/option/enum.Option.html#method.root` -- the page doesn't exist, however if you've copied in the docs like Servo does, you'll get the following [search page](http://doc.servo.org/core/option/enum.Option.html?search=root) and [result](http://doc.servo.org/core/option/enum.Option.html#method.root) — the actual trait is [here](http://doc.servo.org/script/dom/bindings/js/trait.OptionalRootable.html).

Since crates are compiled by rustdoc individually, a cross-crate trait implementation can't show up on the type it is implemented on. However, it still is part of the search results, which is confusing. Removing it from search results isn't an option either — there still is the problem that a doc comment for methods in this impl will not be shown anywhere.

Perhaps cross crate trait implementations should go in the crate of origin of the impl, not the type<sup>1</sup>? . This will make search results work.

We'd need a new type of doc page for this though -- one that displays a single trait implementation; or alternatively all the trait impls for a type defined outside of a crate. Some sort of "addendum" page.

<sup>1.</sup> Crate of origin of trait doesn't work either since we can have trait `A<T>` from crate `a`, type `B` from crate `b`, and type `C` from crate `c`, with an `impl A<C> for B` in crate `c`, which we encounter while compiling crate `c` and can no longer touch the docs for crate `a`, which is the crate of origin of the trait.
Repository: neovim
Issue: Feature: Elastic Tabstops
Labels: enhancement

http://nickgravgaard.com/elastictabstops/

Would be nice if neovim could have a mode to support elastic tabstops which is I think a very good solution to the long standing tab or space problem among programmers who have to read other's source code written in other less ideal editors.

I heard that this requires modifying the vim source, would be nice if someone can take over and implement this in neovim.
Repository: rust
Issue: Cleanup and consolidate operator/method dispatch code
Labels: C-cleanup,A-type-system,T-compiler,T-types

Once upon a time, both operator dispatch and method lookup went through the same tangled, twisty paths. It was a mess. But lo, they were severed and made two. Each could follow its own path. Overall, this is progress. But there is still room for improvement:
1. The second half of "operator dispatch" is basically the same as `confirm::confirm`, but with some slight differences.
2. The autoderef loop for `[]` is basically the same as `probe`, but with some slight differences (e.g., at each step it consists builtin `[]` as well).
3. The `probe` loop, which uses `check::autoderef`, isn't able to be part of an inference transaction between `check::autoderef` uses operator dispatch which adds things into the main fulfillment context, thus leaking inference types etc outside the transaction.

It feels like things could still be cleaned up a bit further, allowing for more code reuse and happiness all around.

Some FIXMEs are scattered about at relevant points of the code.
Repository: rust
Issue: Unexpected trait behavior with default_type_params
Labels: A-diagnostics,A-closures,T-compiler,C-bug,F-unboxed_closures

This seems more like an error message issue than anything, but I was very confused for a while. Here is a repro:

``` rust
#![feature(unboxed_closures)]
#![feature(default_type_params)]

pub trait Invoke<A, R = ()> {
    fn invoke(&mut self, args: A) -> R;
}

impl<A, R, F: Send + FnMut(A) -> R> Invoke<A, R> for F {
    fn invoke(&mut self, args: A) -> R {
        self.call_mut((args,))
    }
}

pub struct Foo;


impl Invoke<uint, uint> for Foo {
    fn invoke(&mut self, args: uint) -> uint {
        args
    }
}

fn repro<A, I: Invoke<A>>(_: I) {
    unimplemented!();
}

pub fn main() {
    repro(Foo);
}
```

output:

```
repro.rs:28:5: 28:10 error: the trait `core::ops::Fn<(_,), ()>` is not implemented for the type `Foo`
repro.rs:28     repro(Foo);
                ^~~~~
repro.rs:28:5: 28:10 note: the trait `core::ops::Fn` must be implemented because it is required by `repro`
repro.rs:28     repro(Foo);
                ^~~~~
error: aborting due to previous error
```
Repository: rust
Issue: Lifetime error messages should have better spans
Labels: A-diagnostics,P-medium,T-compiler,C-bug

This error has an arrow pointing where the lifetime issue is (though I don't know why it isn't more precise):

``` rust
struct Mine<'a> { s: &'a str }

impl <'a>Iterator<&'a str> for Mine<'a> {
    fn next(&mut self) -> Option<&str> { Some("h") }
}

fn main() {}
```

```
<anon>:4:5: 4:53 error: method `next` has an incompatible type for trait: expected concrete lifetime, found bound lifetime parameter  [E0053]
<anon>:4     fn next(&mut self) -> Option<&str> { Some("h") }
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<anon>:4:40: 4:53 note: expected concrete lifetime is the lifetime 'a as defined on the block at 4:39
<anon>:4     fn next(&mut self) -> Option<&str> { Some("h") }
                                                ^~~~~~~~~~~~~
error: aborting due to previous error
playpen: application terminated with error code 101
```

---

This won't because `next()` is multiline:

``` rust
struct Mine<'a> { s: &'a str }

impl <'a>Iterator<&'a str> for Mine<'a> {
    fn next(&mut self) -> Option<&str> {
        Some("h")
    }
}

fn main() {}
```

```
<anon>:4:5: 6:6 error: method `next` has an incompatible type for trait: expected concrete lifetime, found bound lifetime parameter  [E0053]
<anon>:4     fn next(&mut self) -> Option<&str> {
<anon>:5         Some("h")
<anon>:6     }
<anon>:4:40: 6:6 note: expected concrete lifetime is the lifetime 'a as defined on the block at 4:39
<anon>:4     fn next(&mut self) -> Option<&str> {
<anon>:5         Some("h")
<anon>:6     }
error: aborting due to previous error
playpen: application terminated with error code 101
```

---

Best would be: 

```
<anon>:4:40: 4:53 note: expected concrete lifetime is the lifetime 'a as defined on the block at 4:39
<anon>:4     fn next(&mut self) -> Option<&str> { Some("h") }
                                           ^~~~~~~~~~~~~
```

Someone might easily put the lifetime on `next(&'a self)` instead of `Option<&'a str>` because it didn't point and they didn't understand the message.
Repository: neovim
Issue: UI: custom placement of statusline, tabline, winbar, cmdline
Labels: enhancement,ui,ui-extensibility,statusline

As long as ncurses are used, it should be pretty straightforward to add option for showing the _statusline_ and the _cmdline_ at the top (under the tab list if any) instead of at the bottom.

This is a feature I've been waiting for for more than 6 years. I have all important stuff in all applications at the top and _(n)vim_ is the only one, which forces me to often look at the very bottom of my screen which causes unnecessary neck and back pain even after a short-time use on a notebook.
Repository: TypeScript
Issue: No way to type an object with null prototype
Labels: Suggestion,Needs Proposal

Currently the base type of all objects in TS seems to be `{}`, which looks like an empty type but actually has members inherited from the Object object. This leaves no way to express a type with null prototype.

``` javascript
var foo: ??? = Object.create(null);
foo.toString(); // Want a compile error here
```

I did accidentally discover that it's possible to type a variable as void:

``` javascript
var foo: void = Object.create(null);
```

This appears to suppress intellisense for members in VS and the playground, and it is assignable to `any` (`Object.keys(foo)` compiles), so it would seem to be what I'm looking for. However this still lets `foo.toString()` compile somehow - I imagine the void type is getting elevated to Object automatically.

Edit: [Ryan's workaround](https://github.com/Microsoft/TypeScript/issues/1108#issuecomment-62406685) to subtype Object and override all its members to void prevents those properties from being called as functions, but as he points out, that doesn't prevent them from being accessed.

``` javascript
var bar = foo.toString; // Want a compiler error here too. Won't get one with Ryan's workaround.
```
Repository: rust
Issue: monomorphization recursion limit error should be caught earlier
Labels: A-type-system,C-enhancement,T-compiler,I-monomorphization,T-types

This little program gives a "reached the recursion limit during monomorphization" error.

``` rust
fn main() {
    go(range(0, 5u));
}

fn go<T>(it: T) where T: Iterator<uint> {
    let mut p = it;
    match p.next() {
        Some(_) => {
            go(p.by_ref());
        }
        None => {}
    }
}
```

http://is.gd/3iN5Kf

The recursion limit is reached due to wrapping the iterator into ByRefs for every recursion step. IRC suggested that this could be a bug as this should be caught before monomorphization.
Repository: youtube-dl
Issue: Error downloading GDC video
Labels: account-needed

Actually it's an audio file, not a video. Verbose output is below. Note that downloading free content (audio & video) seems to work. Just in case it might be a problem, there is a `*` character in my password (which I can't change). I'm using quotes on the command line (`-p "my*password"`)

```
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-u', u'PRIVATE', '-p', u'PRIVATE', 'http://ww
w.gdcvault.com/play/515/Challenging-Everyone-Dynamic-Difficulty']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2014.11.12.1
[debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1
[debug] exe versions: none
[debug] Proxy map: {'http': 'http://proxy-mtl.ubisoft.org:3128', u'https': 'http
://proxy-mtl.ubisoft.org:3128'}
[GDCVault] 515: Downloading webpage
[GDCVault] 515: Logging in
[GDCVault] 515: Getting authenticated video page
[GDCVault] 515: Logging out
ERROR: Unable to extract xml root; please report this issue on https://yt-dl.org
/bug . Be sure to call youtube-dl with the --verbose flag and include its comple
te output. Make sure you are using the latest version; type  youtube-dl -U  to u
pdate.
Traceback (most recent call last):
  File "youtube_dl\YoutubeDL.pyo", line 536, in extract_info
  File "youtube_dl\extractor\common.pyo", line 199, in extract
  File "youtube_dl\extractor\gdcvault.pyo", line 145, in _real_extract
  File "youtube_dl\extractor\common.pyo", line 446, in _html_search_regex
  File "youtube_dl\extractor\common.pyo", line 436, in _search_regex
RegexNotFoundError: Unable to extract xml root; please report this issue on http
s://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and inclu
de its complete output. Make sure you are using the latest version; type  youtub
e-dl -U  to update.
```
Repository: neovim
Issue: tcsh shell escaping
Labels: environment,bug-vim

Backgroud:
I compile & install both Python[2.7.8] and Neovim in $HOME/INSTALL. And I have also added $HOME/INSTALL/bin to $PATH.

When start nvim,  below 'COMMENT OUT' check will fail.

```
...
"      \ && index(s:supported, system('python'.s:get_version)) >= 0   --> COMMENT OUT
...
let s:import_result = system(s:python_interpreter_path .
      \ ' -c "import neovim, sys; sys.stdout.write(\"ok\")"')
if s:import_result != 'ok'
"  call s:ShowError('No neovim module found for ' . s:python_version)  --> COMMENT OUT
"  finish  --> COMMENT OUT
...
```

After 'COMMENT OUT' this, my nvim work well with YCM.

```
:echo has('python')
```

return 1

Could anyone give me some comments about this ? Thanks in advance.
Repository: TypeScript
Issue: Parameter info missing for generics
Labels: Suggestion,Help Wanted

Hi,

**VS**: 2013 Update 4 RC
**TS**: 1.3

I believe we used to get help with the generic parameter at the point indicated below:

``` TypeScript
class Foo<TDescription>{ }

var foo = new Foo<
```

The parameter info only appears after the generic parameter has been filled in and the parenthesis opened:

``` TypeScript
 var foo = new Foo<string>(
```
Repository: neovim
Issue: CAPSLOCK detection provider
Labels: enhancement,mappings,normal-mode

Users/plugins should be able to easily detect whether capslock is enabled. This can be done with a provider using these strategies:
- X11: `xset -q | grep Caps`
- Windows: http://stackoverflow.com/questions/13905342/winapi-how-to-get-the-caps-lock-state
  - we can probably bake this into the nvim core without much trouble; otherwise it can be a small shell utility
  - or we could use AutoHotkey: https://github.com/kshenoy/CapsUnlocked
- macOS `IOHIDGetModifierLockState` ([sample code](https://github.com/neovim/neovim/issues/1480#issuecomment-1936273719))
  - old/outdated: ~~https://developer.apple.com/library/mac/qa/qa1519/_index.html~~ , ~~https://discussions.apple.com/thread/7094207~~
Repository: bitcoin
Issue: Initial connection management
Labels: Bug,P2P

Pointing two peers at each other via the "addnode" / "connect" args in bitcoin.conf on init results in multiple (3 as observed in getpeerinfo on regtest) connections (on different ports) and, hence, chatty traffic (say inventory exchange) when running off of the current master. Connecting via the "addnode" RPC call after a successful initialization of both peers corrects this.
Repository: javascript
Issue: Best practices for promises?
Labels: enhancement,question,pull request wanted

First of all, great job on this guide, I agree with it almost 100%. All of this should really be common knowledge, but I sure as hell didn't know most of these things when I started, so kudos for writing it all down.

Now, since promises have been standardized and a lot of people have started using them, it would be nice to have a section on how to keep promise-based code readable. For instance, when chaining multiple promises together, there are at least two alternative ways to do it:
#### Option 1: anonymous functions

``` javascript
return doSomething(foo).then(function(result) {
  // ...
}).then(function(result2) {
  // ...
}).then(function(result3) {
  // ...
}).catch(function(error) {
  // ...
}).finally(function() {
  // ...
});
```
#### Option 2: named functions

``` javascript
function doThis(result) {
  // ...
}
function doThat(result) {
  // ...
}
function handleError(error) {
  // ...
}
function done() {
  // ...
}

return doSomething(foo)
  .then(doThis)
  .then(doThat)
  .catch(handleError)
  .finally(done);
```

The second way, while being somewhat more verbose, seems to be preferable, as the chain of tasks that the promise result travels through becomes more obvious. 

I did an internal poll of our developers, and so far, option 2 seems to be ahead, although I have not heard from everyone yet. How does AirBnB deal with this, and what are your opinions?
Repository: gin
Issue: Automatically generate RESTful API documentation with Swagger
Labels: enhancement

One thing I really like about [go-restful](https://github.com/emicklei/go-restful) is their [built-in Swagger integration](https://github.com/emicklei/go-restful/blob/master/examples/restful-user-service.go). Check out the example project: https://github.com/emicklei/mora#swagger

Some things I really love about Gin is the focus on performance, and overall, it just seems like a much better designed framework. However, I think that auto-generated documentation with Swagger is pretty awesome. It makes it easy for new engineers to get up-to-speed quickly by reading through the docs, and I especially love the way you can [auto-generate API clients for lots of different languages](https://github.com/swagger-api/swagger-codegen).

I'm not sure how involved this change would be, I'm not sure if this could be done as an extension. But we could probably take lots of inspiration from (or just copy) [the swagger code from go-restful](https://github.com/emicklei/go-restful/tree/master/swagger) (MIT licensed).

Anyway, this is not a huge priority for me, just a nice to have.
Repository: neovim
Issue: :! (bang) and system() are not interactive
Labels: bug,enhancement,terminal

If I type `!git add -p` it loops over the output and only stops if i press ctrl-c.
Repository: TypeScript
Issue: Allow classes to be parametric in other parametric classes
Labels: Suggestion,Help Wanted

This is a proposal for allowing generics as type parameters.  It's currently possible to write specific examples of monads, but in order to write the interface that all monads satisfy, I propose writing

``` javascript
interface Monad<T<~>> {
  map<A, B>(f: (a: A) => B): T<A> => T<B>;
  lift<A>(a: A): T<A>;
  join<A>(tta: T<T<A>>): T<A>;
}
```

Similarly, it's possible to write specific examples of cartesian functors, but in order to write the interface that all cartesian functors satisfy, I propose writing

``` javascript
interface Cartesian<T<~>> {
  all<A>(a: Array<T<A>>): T<Array<A>>;
}
```

Parametric type parameters can take any number of arguments:

``` javascript
interface Foo<T<~,~>> {
  bar<A, B>(f: (a: A) => B): T<A, B>;
}
```

That is, when a type parameter is followed by a tilde and a natural arity, the type parameter should be allowed to be used as a generic type with the given arity in the rest of the declaration.

Just as is the case now, when implementing such an interface, the generic type parameters should be filled in:

``` javascript
class ArrayMonad<A> implements Monad<Array> {
  map<A, B>(f: (a:A) => B): Array<A> => Array<B> {
    return (arr: Array<A>) =>  arr.map(f);
  }
  lift<A>(a: A): Array<A> { return [a]; }
  join<A>(tta: Array<Array<A>>): Array<A> {
    return tta.reduce((prev, cur) => prev.concat(cur));
  }
}
```

In addition to directly allowing compositions of generic types in the arguments, I propose that typedefs also support defining generics in this way (see [issue 308](https://github.com/Microsoft/TypeScript/issues/308)):

``` javascript
typedef Maybe<Array<~>> Composite<~> ;
class Foo implements Monad<Composite<~>> { ... }
```

The arities of the definition and the alias must match for the typedef to be valid.
Repository: youtube-dl
Issue: Downloading mp3 but message says video
Labels: request

Simple problem. When you download an audio file e.g. from soundcloud (thanks for supporting it!) then the message looks as following:

```
 [download] Downloading video #8 of 14
```

We could change it to "Downloading file" or make it dependent on the file extension.
Repository: youtube-dl
Issue: Site Request: UOL Mais
Labels: site-support-request

Example:

http://mais.uol.com.br/view/w72sr1ihch6f/filha-diz-que-largou-a-faculdade-de-direito-para-maquiar-defuntos-04020C9A3562D8915326?types=A&

Should support this kind of url ^

ps: same video above has a "short" url, http://mais.uol.com.br/view/15261550 not sure if this url should be supported as well, since it just redirects to "full" url.

ps²: query string ?types=A& are not required, maybe it us used for stats, dunno.

---

To eventual users checking this issue:

Any video hosted on www.uol.com.br sub-websites are hosted at this "Mais" service. After to watch most of videos, the end screen displays the embed code and it's url. For the video from example, it was embedded on:

http://www.redetv.uol.com.br/vocenatv/video/426835/filha-diz-que-largou-a-faculdade-de-direito-para-maquiar-defuntos.html

For videos without end screen you can search by the title on http://mais.uol.com.br

Example: http://www1.folha.uol.com.br/mercado/2014/11/1547481-video-saiba-em-que-investir-para-dar-entrada-na-casa-propria.shtml

Same video http://mais.uol.com.br/view/e0qbgxid79uv/15275470?types=A&