sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: rust
Issue: Mutable reference not re-borrowed by binary operator
Labels: A-type-system,T-compiler,C-bug,T-types

When implementing a binary operator on `&mut Something`, the binary operator consumes the mutable reference instead of borrowing it:

`````` rust
use std::ops::Shl;

struct Test;

impl<'a> Shl<()> for &'a mut Test {
    type Output = ();
    fn shl(self, rhs: ()) {}
}

// Compiles
fn test_direct() {
    let mut test = Test;
    let test_ref = &mut test;
    test_ref.shl(());
    test_ref.shl(());
}

// Doesn't compile
//
// ```
// error: use of moved value: `test_ref`
// test_ref << ();
// ^~~~~~~~
// note: `test_ref` moved here because it has type `&mut Test`, which is non-copyable
// test_ref << ();
// ```
fn test_shift() {
    let mut test = Test;
    let test_ref = &mut test;
    test_ref << (); // Should be equivalent to test_ref.shl(())
    test_ref << ();
}

fn main() {}
``````
Repository: youtube-dl
Issue: [Cosmetics] Updating youtube-dl.exe
Labels: build/update

While updating youtube-dl the temporary _youtube-dl-updater.bat_ performs this task:

``` bat
@echo off
echo Waiting for file handle to be closed ...
ping 127.0.0.1 -n 5 -w 1000 > NUL
move /Y "D:\Storage\Media\Binaries\youtube-dl.exe.new" "D:\Storage\Media\Binaries\youtube-dl.exe" > NUL
echo Updated youtube-dl to version 2015.01.10.2.
start /b "" cmd /c del "%~f0"&exit /b"
```

Now for some reason the _move_-command (or something else?) causes a new commandprompt to appear, followed by the final echo + a new linefeed:

``` bat
D:\Storage\Media\Binaries>youtube-dl.exe -U
Updating to version 2015.05.20 ...
Waiting for file handle to be closed ...

D:\Storage\Media\Binaries>Updated youtube-dl to version 2015.05.20.

D:\Storage\Media\Binaries>
```

You'd always have to press ENTER for the commandprompt to appear again.

When I save the temporary bat-file and run it localy on a dummy _youtube-dl.exe.new_ and _youtube-dl.exe.new_ it performs as expected:

``` bat
D:\Storage\Media\Binaries>youtube-dl-updater.bat
Waiting for file handle to be closed ...
Updated youtube-dl to version 2015.01.10.2.

D:\Storage\Media\Binaries>
```

The final echo is displayed and the commandprompt appears again.
This behaviour is a but confusing, especially in batchscripts where I use youtube-dl.exe. Is this normal?
Repository: youtube-dl
Issue: Use JSON-RPC interface to download the video through aria2
Labels: request

Currently, download through aria2 is implemented in external downloader. I do not like the interface in the terminal, and aria2 has a pretty good JSON-RPC interface, which can be managed from web interface. I would like to be able to see the download list and speed through web browser instead of terminal window, since they are easier to read and looks prettier.
Repository: go
Issue: spec: for struct types, clarify field "name" and "scope" of field names/selectors
Labels: Documentation,NeedsInvestigation

Field names are identifiers "declared" with a struct type definition. The section of struct types could be clearer with respect to what a "field name" is. E.g.: struct{T} vs struct {T T} vs struct {t T} .

Also, the "scope" of field names/selectors is not explicitly defined. Determine if there's any clarification needed.
Repository: go
Issue: spec: evaluation order of statements unspecified
Labels: Documentation,NeedsInvestigation

The order is obvious to everybody but there should probably be a sentence somewhere.
Repository: go
Issue: spec: clarify receiver value passed in method invocations
Labels: Documentation,NeedsInvestigation

The section on Selectors ( http://tip.golang.org/ref/spec#Selectors ) has some examples of selectors and what (expanded) expression they stand for, but the section could be expanded or have more explanations, especially for receiver values passed to method invocations.

This is one of the most complex aspects of the language, both to explain and to implement and could use a bit more (or clearer) explanations.
Repository: rust
Issue: Tools for dumping information about .rlibs
Labels: T-compiler,T-dev-tools,C-feature-request

It would be great if there was a set of tools for dumping information about a given .rlib. This could be used to debug linkage and export issues.

Something like `nm` and `ldd`.

I note that `nm` does appear to partly work on a .rlib, but the output is a bit raw.

Where is the best place to start for understanding the .rlib format as it stands? Is it a good idea to build this on `rustc::metadata`?

See also http://stackoverflow.com/questions/24603672/rust-library-for-inspecting-rlib-binaries
Repository: react
Issue: Support for reparenting
Labels: Type: Feature Request,Component: Component API,Resolution: Backlog

When writing a component that contains a set of large subtrees that stay relatively the same, but are simply moved around such that React's virtual DOM diffing can't detect the movement, React will end up recreating huge trees it should simply be moving.

For example, pretend `blockA` and `blockB` are very large structures. They may be made of several levels of children and components. For example one could be the entire page contents and the other the sidebar, while this `render()` is the page root.

``` jsx
render() {
    var blockA = <div>AAA</div>,
        blockB = <div>BBB</div>;

    if ( this.props.layoutA ) {
        return <div>
            <div className="something">{blockB}</div>
            <div className="something">{blockA}</div>
        </div>;
    } else {
        return <div>
            {blockA}
            {blockB}
        </div>;
    }
}
```

Because the blocks aren't at the same level React cannot see the relation between these blocks and `key` cannot be used to give React any hints. As a result, when `layoutA` is changed, instead of the two blocks being moved to their new location the entire page is essentially completely unrendered and then re-rendered from scratch.

I understand why this is the case. It would be far to expensive for React to be able to detect movement of nodes like this.

But I do believe we need a pattern to hint to React that this component has large blocks that may be moved around at different levels.

Note that there may be a component in between the rendering component root and the block. So parent semantics scoped to the nearest component won't work. This'll need owner scoping.

I understand that React is trying to eliminate the need for React.createElement to be used and owner scoping within special attributes interferes with that. So instead of a component scoped `key=""` variant I think a method/object style interface kind of like `React.addons.createFragment` might work.
Repository: TypeScript
Issue: Feature request: Decorators on enum members
Labels: Suggestion,Needs Proposal,Domain: Decorators

 It would be nice to be able to decorate enum members (in the same way as properties?).
Repository: javascript
Issue: Distributing ES6
Labels: enhancement,pull request wanted,editorial

section on how to publish es6 files to npm
Repository: youtube-dl
Issue: [Escapist] download ads instead of video
Labels: cant-reproduce

It downloads a 4.5MB, 45-second mp4 video which is an ad, instead of the normal video

```
% youtube-dl -v http://www.escapistmagazine.com/videos/view/zero-punctuation/10119-Grand-Theft-Auto-Online-Review
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'http://www.escapistmagazine.com/videos/view/zero-punctuation/10119-Grand-Theft-Auto-Online-Review']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.05.15
[debug] Python version 3.4.3 - Linux-4.0.4-2-ARCH-armv7l-with-arch
[debug] exe versions: ffmpeg present, ffprobe present
[debug] Proxy map: {}
[Escapist] 10119: Downloading webpage
[Escapist] 10119: Downloading video config
[debug] Invoking downloader on 'http://video.escapistmagazine.com/links/316860e78107a05e6f1c1e9646ac716c/mp4_hq/escapist/zero-punctuation/3ea8c080b4a98ef9e0d3eb197fb8ea29.mp4'
[download] Destination: Grand Theft Auto Online-10119.mp4
[download]  15.5% of 4.48MiB at 11.04KiB/s ETA 05:51
```

From viewing the network console in-browser, I think escapist sends this ads, then do HTTP 206 to get the real one.
Repository: rust
Issue: Implied bounds on nested references + variance = soundness hole
Labels: A-type-system,P-medium,I-unsound,C-bug,A-variance,S-bug-has-test,T-types

The combination of variance and implied bounds for nested references opens a hole in the current type system:

``` rust
static UNIT: &'static &'static () = &&();

fn foo<'a, 'b, T>(_: &'a &'b (), v: &'b T) -> &'a T { v }

fn bad<'a, T>(x: &'a T) -> &'static T {
    let f: fn(&'static &'a (), &'a T) -> &'static T = foo;
    f(UNIT, x)
}
```

This hole has been fixed in #129021 for non-higher-ranked function pointers. The underlying issue still persists.
```rust
static UNIT: &'static &'static () = &&();

fn foo<'a, 'b, T>(_: &'a &'b (), v: &'b T, _: &()) -> &'a T { v }

fn bad<'a, T>(x: &'a T) -> &'static T {
    let f: fn(_, &'a T, &()) -> &'static T = foo;
    f(UNIT, x, &())
}

fn main() {}
```

---

Update from @pnkfelix : 

While the test as written above is rejected by Rust today (with the error message for line 6 saying "in type `&'static &'a ()`, reference has a longer lifetime than the data it references"), that is just an artifact of the original source code (with its explicit type signature) running up against _one_ new WF-check.

The fundamental issue persists, since one can today write instead:

``` rust
static UNIT: &'static &'static () = &&();

fn foo<'a, 'b, T>(_: &'a &'b (), v: &'b T) -> &'a T { v }

fn bad<'a, T>(x: &'a T) -> &'static T {
    let f: fn(_, &'a T) -> &'static T = foo;
    f(UNIT, x)
}
```

(and this way, still get the bad behaving `fn bad`, by just side-stepping one of the explicit type declarations.)
Repository: rust
Issue: Enable segfault / bus error handlers on more UNIX platforms
Labels: A-runtime,O-android,O-netbsd,C-bug,T-libs

src/libstd/sys/unix/stack_overflow.rs is enabled on Linux, OS X, Bitrig, and OpenBSD targets only,  because the implementation used to have its own signal-handling bindings that were only known to be correct on those targets. In #25784 I refactored the bindings and verified them for all current ports, I think we can turn this on on all current ports. This would enable handlers on Android, iOS, FreeBSD, and Dragonfly.

I don't have easy build infras for these myself, so I'm probably not going to do this immediately. But if someone wants to test one out and make sure that it works, I think it's just a matter of adding an OS to the `#[cfg]` and writing a program that segfaults.
Repository: youtube-dl
Issue: Expand Niconico Video support
Labels: request

Niconico Video has two quality levels for a video, "normal" and "[economy](http://dic.nicovideo.jp/a/%E4%BD%8E%E7%94%BB%E8%B3%AA%E3%83%A2%E3%83%BC%E3%83%89)" (Japlish for "low"). Currently, using `youtube-dl -F` on a Niconico Video link only brings up one video quality:

```
format code  extension      resolution note
0            unknown_video  unknown
```

Expanding youtube-dl's functionality to include video quality would be nice. The url for the video file changes by having "low" added as a suffix (http://smile-fnl41.nicovideo.jp/smile?m=1097445.24697low vs. 
http://smile-fnl41.nicovideo.jp/smile?v=1097445.24697) (Economy mode can be forced by appending `?eco=1` to the end of a Niconico URL, for what it's worth)

It should be noted that normal users who don't pay up for a premium account may get the economy quality automatically from JST 6:00 PM to 2:00 AM on normal days, and JST 12:00 PM to 2:00 AM on Saturdays, Sundays, and holidays. If this affects youtube-dl's behavior of automatically getting the highest quality, the file size in bytes can be found in "size_high" (for normal quality) and "size_low" (for economy) at http://ext.nicovideo.jp/api/getthumbinfo/$VIDEO-ID (for example, http://ext.nicovideo.jp/api/getthumbinfo/sm1097445 for http://www.nicovideo.jp/watch/sm1097445)
Repository: youtube-dl
Issue: Add support for 5sing
Labels: site-support-request

Example URLs:
http://5sing.kugou.com/yc/1794876.html (yc: yuanchang; original song)
http://5sing.kugou.com/fc/4238226.html (fc: fanchang; cover song)
http://5sing.kugou.com/bz/1146744.html (bz: banzou; instrumental)

Downloading an MP3 is enabled on most songs but requires you to log in; click on 下载 and then the first large rectangular button to the left (http://5sing.kugou.com/fc/4238226.html 's download page is http://5sing.kugou.com/fc/down/4238226)
Sometimes a song cannot be downloaded (禁止下载 [appears on the download page in red](http://5sing.kugou.com/yc/down/1794876))

All songs can be played without logging in as far as I know. The Firefox extension FlashGot is able to detect the files that 5sing serves while streaming last time I checked. And regardless of whether a song can be officially "download"ed or not, FlashGot succeeds every time （￣▽￣；） So, I suppose that there is most often two audio qualities available (streaming and download), sometimes only one (streaming only).

I also think that it would be a good idea to support the obsolete style 5sing link (5sing recently moved domains). Example: http://yc.5sing.com/1794876.html ({fc|yc|bz}.5sing.com/ becomes 5sing.kugou.com/{fc|yc|bz}/)
Repository: rust
Issue: Rustdoc: pages are being overwritten on the file systems with case-insensitive names
Labels: T-rustdoc,E-mentor,C-bug

Not sure if we can work around the case-insensitivity but when generating docs for the identifiers with the same name, but different cases(well it is ok for Rust after all :))
Like:
https://github.com/DoumanAsh/trace-macro/blob/master/src/lib.rs#L29
https://github.com/DoumanAsh/trace-macro/blob/master/src/lib.rs#L150

We will have only one page, instead of two. I suspect that the last generated page will overwrite the first one since from Win file-system point of view it will be the same file.(And NTFS is also case-insensitive?)

I'm not sure what would be a good work around for that.
I suppose it would be good idea to track names to avoid such issues and if there are several identifiers with the same names(different case) it should warn and generate pages with some suffix(like [-num]).
Or even no need to warn, after all docs will be generated successfully.

Rust stable 1.0
`rustdoc 1.0.0 (a59de37e9 2015-05-13) (built 2015-05-14)`
Win8 x64
Repository: go
Issue: x/tools/refactor/eg: when matching struct literals, abstract over the tagged/tagless forms
Labels: Tools,Refactoring

Equivalent struct literals may be written in several ways:
   T{1, 2}
   T{a: 1, b: 2}
   T{b: 2, a: 1}
The 'eg' tool should allow a pattern using any of these forms to match any of these expressions.  That means internally converting to the named form and doing name-based (not index-based) matching of subtrees.  The output should be emitted in the same form as the original.
Repository: TypeScript
Issue: Invalid combinations of --out, --outDir, and --rootDir should cause a compiler error.
Labels: Bug,Help Wanted

When using invalid combinations of `--out`, `--outDir`, and `--rootDir`, the compiler currently doesn't report any errors, but emits files in 'random' locations. Further when you specify `--rootDir` without `--outDir` this is ignored as well.

**Expected** to get errors/warnings from the compiler in all those cases.
Repository: youtube-dl
Issue: Add support for piapro
Labels: site-support-request

piapro is a Japanese website made for hosting VOCALOID-based media, mainly images, audio, and text.

Example URLs for audio:
http://piapro.jp/content/es7uj48x6bvcbtgy (old-style URL, still functional)
http://piapro.jp/t/KToM (current URL style)

Two types of audio quality, download and streaming. Very similar to #5839, for the download needs one to be logged in, while the streaming doesn't.

Download: http://piapro.jp/download/?id=es7uj48x6bvcbtgy&view=content
Streaming: http://c1.piapro.jp/amp3/es7uj48x6bvcbtgy_20100116020522_audition.mp3

The "es7uj48x6bvcbtgy" and "20100116020522" parts can both be derived solely from the HTML source:

```
<input type="hidden" name="id" value="es7uj48x6bvcbtgy">
                                      ~~~~~~~~~~~~~~~~
```

```
<a class="link_songle" href="http://songle.jp/songs/piapro.jp%2Ft%2FKToM%2F20100116020522" target="_blank">http://songle.jp/songs/piapro.jp%2Ft%2FKToM%2F20100116020522</a>
                                                                           ~~~~~~~~~~~~~~                                                                ~~~~~~~~~~~~~~
```

It might be ethical for youtube-dl to have the user know of the license agreement for a song, which is contained in `<ul class="plc">`.
Repository: youtube-dl
Issue: Add support for authentication on tvcast.naver.com (age restricted videos)
Labels: request

How to download video from this url? http://tvcast.naver.com/v/406354
The video is age restricted. Is there anyway to download this video?

C:\Users\Jaimin>youtube-dl http://tvcast.naver.com/v/406354 --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'http://tvcast.naver.com/v/406354', u'--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2015.04.09
[debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg N-64626-gca671be, ffprobe N-64626-gca671be
[debug] Proxy map: {}
[Naver] 406354: Downloading webpage
ERROR: couldn't extract vid and key; please report this issue on https://yt-dl.o
rg/bug . Make sure you are using the latest version; type  youtube-dl -U  to upd
ate. Be sure to call youtube-dl with the --verbose flag and include its complete
 output.
Traceback (most recent call last):
  File "youtube_dl\YoutubeDL.pyo", line 651, in extract_info
  File "youtube_dl\extractor\common.pyo", line 275, in extract
  File "youtube_dl\extractor\naver.pyo", line 42, in _real_extract
ExtractorError: couldn't extract vid and key; please report this issue on https:
//yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -
U  to update. Be sure to call youtube-dl with the --verbose flag and include its
 complete output.
Repository: youtube-dl
Issue: MusiXmatch support
Labels: request

Hello, i was looking at downloading some music videos and noticed that most of those with lyrics were not "subtitled" on the official video, then found I out the MusiXmatch chrome extension which put those lyrics as subtitles under the CC option on youtube, it makes a request with the youtube video ID, can this be implemented so i can embed those subtitles?
Repository: go
Issue: tour: Traversal order
Labels: NeedsInvestigation

Context: /concurrency/8

It should be made clear that Walk function should traverse the tree in-order.
Repository: youtube-dl
Issue: twofactor code input request
Labels: request

If i provide only -u parameter with username, app asks to input password, but if then youtube required two factor authentication- there no request for user to input key generated by Google Authenticator app.

It will be great to have a possibility to input TFA-code on-demand.

THANKS
Repository: youtube-dl
Issue: Please add support for artycok.tv
Labels: site-support-request

It hosts art-related videos mainly but not only somehow connected to the Czech Republic. It would be great if it were supported.
Repository: kubernetes
Issue: Kubelet doesn't attempt to re-register
Labels: priority/backlog,area/reliability,sig/node,kind/feature,lifecycle/frozen,needs-triage

In the process of setting up HA, I blew away my master state, which means that node information was lost.  The kubelet doesn't attempt to re-register itself.  It probably should.

This isn't a v1.0 feature, though.

@dchen1107
Repository: youtube-dl
Issue: Fails to rip Vimeo search results
Labels: site-support-request

Sometimes I want everything in the search results...

youtube-dl https://vimeo.com/search?q=tanya+dakin
[vimeo:user] search?q=tanya+dakin: Downloading page 1
ERROR: Unable to extract list title; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Repository: nvm
Issue: When https://nodejs.org/dist/ is unreachable, nvm should indicate this to user
Labels: feature requests

Currently, if https://nodejs.org/dist/ is unreachable, `nvm install` fails with a misleading message:

``` sh-session
$ nvm install 0.10
Version '0.10' not found - try `nvm ls-remote` to browse available versions.
```

The reason for this failure should be properly identified and relayed to the user.
Repository: neovim
Issue: line editor (readline) functionality
Labels: enhancement,tui

When a program which uses a line editor (e.g. bash, which is readline-based) is running inside of neovim's :terminal mode, neovim should take over the line editor's responsabilities.
I believe this would greatly increase the convenience of combining neovim, terminal mode, and any program that uses a line editor, including pretty much all shells.

As an example, let's say you're in a terminal window. You've typed a command, but want to prefix it with e.g. `time` or `sudo` or something. With this proposal, you would just go to neovim's normal mode (either by `<c-\><c-n>` or some other mapped key), and press `I` and you'd be at the beginning of the line. No need for all the hassle with a "neovim normal" mode and a "bash vi-mode normal mode" and all possible confusion resulting from that.
Another example : you've entered part of a command, but you need to paste a few extra arguments in the middle somewhere. You go to another screen to copy whatever you want, switch to the terminal-screen again and, still in normal mode, move the cursor to the correct position of the command line, and press `p`. Whatever you copied is put right where Vim's cursor is (as opposed to the current situation, where it is inserted where the cursor was when you were last in terminal-mode, regardless of how you moved the vim-cursor in the mean time).

We will have to make sure that we can still communicate with whatever program is on the other side of the terminal, for stuff like tab-completion. In fact, possible completions should be fed into neovim's completion system, so they can be handled by whatever setting the user wants (e.g. if the the user uses autocomplpop/youcompleteme, he can also get that functionality for bash-commands, or for python variables when running IPython).

Note that this will involve modifications of the line editors as well as neovim.
Line editors we need to take into account :
- readline (for a.o. bash)
- zsh line editor (zsh)
- ? (feel free to suggest additions)
###### Side Notes

Related work and issues, though I believe they are different : 
- https://github.com/ardagnir/athame
- #1777

They are different because they do it the other way around. With these, the idea is that e.g. bash (or python or whatever) has more (neo)vim capabilities. A `set -o vi` on steroids if you like. 
My proposal is having a full nvim, which has a terminal buffer, and operating directly on the line that's normaly handled by the line editor.

Also note the discussion at #2676 regarding what should be the default way to go from terminal-mode to normal mode. I am a strong advocate of a single `<Esc>`, but others want a single `<Esc>` to get passed straight to the terminal. The main reason that's been given for this, is vi-style line editor applications. If the line editor accessed the full power of neovim when running in a terminal, the need for sending `<Esc>` directly to the terminal would be far smaller, possibly giving us more sensible defaults.