sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: go
Issue: x/text/collate: collation does not work for Korean
Labels: NeedsFix

### What version of Go are you using (`go version`)?
go1.8beta2 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/anx/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-build492080285=/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 attempted to sort some strings according to Korean rules.
These rules say that Korean characters should be sorted *before* Latin characters. 

```
import (
  "fmt"
  "golang.org/x/text/collate"
  "golang.org/x/text/language"
)
func main() {
  strs := []string{"abc", "나는"}
  cl := collate.New(language.Korean) //Korean collator
  cl.SortStrings(strs)
  fmt.Println(strs)
}
```

### What did you expect to see?
Expected output: [나는 abc]
- Korean sorted before Latin
- ICU gives this correct behavior

### What did you see instead?
Actual output: [abc 나는]
- Latin sorted before Korean 

This issue was discussed in #12750, at which point @mpvl noted that:

> ...the implementation is based on the CLDR UCA tables. If I look at the collation elements of both the DUCET (Unicode's tables) and CLDR (the tailorings) they both show Hangul to have a higher primary collation value then Latin. So that explains why Korean is sorted later.
> What is probably happening in ICU is that the the script for the selected language is sorted before other scripts. The Go implementation currently does not support script reordering, though. This is an TODO, but depends on changing the implementation to using fractional weights...
Repository: rust
Issue: Warn about `$x:expr` in `macro_rules` expansion
Labels: A-lints,T-lang,C-feature-request

Maybe I'm the only one, but a stupid mistake I've made several times, when writing macros, is to accidentally include `$x:expr` in the output of a macro, when of course I should just write `$x`.

The result of this mistake is a working macro that includes the tokens `:expr` in its output. (!)

The error messages when I do this are correct... but there's so much going on that I *still* typically don't understand until I've spent a few minutes enabling `trace_macros!` and poring over the output.

It should be possible to warn about this when the macro is defined. I think it's always a mistake.
Repository: TypeScript
Issue: VSCode compatibility: Find-all-references not working for special reference kinds
Labels: Bug

**TypeScript Version:** nightly (2.2.0-dev.20170214)

**Code**

```ts
label: while (true) {
    break label;
}

function f(x: "abc") {}
f("abc");

const x: number;
const y: number;
```

In VSCode, find-all-references does not work for `label`, `"abc"`, or `number`. But document highlights does work for `label` and `number`.

Similar to #13846, but that issue is for Visual Studio.
Repository: go
Issue: runtime: do map growth work on reads
Labels: Performance,compiler/runtime

CLs [37011](https://golang.org/cl/37011) and [37012](https://golang.org/cl/37012) suggest that finishing map growth can be important. If an author knows that a particular map is done growing and will henceforth be read-only, and they can spend some cycles optimizing it, it would be useful for them to be able to ask the runtime to finish any ongoing map growth.

This is kinda sort possible now:

```go
for k, v := range m {
  m[k] = v
}
```

However, this is really slow, particularly for a large map. It does way more work than is necessary, and it does it very inefficiently.

The compiler could recognize this idiom and convert it into a runtime call.

Another option is to add API surface: `runtime.OptimizeMap(m interface{})` or some such, which would be documented to be a slow, expensive, blocking call that makes subsequent reads more efficient.

Another idiomatic option, if `copy` worked on maps :) would be `copy(m, m)`.

Other suggestions welcomed. I don't particularly like any of these, but it'd be nice to find something.
Repository: go
Issue: os: support runtime poller with os.File on Windows
Labels: ExpertNeeded,Thinking,OS-Windows

In order to use the runtime poller with `os.File` on Windows, the file or pipe will have to be opened with `FILE_FLAG_OVERLAPPED`.  We shouldn't do that unconditionally unless we can remove it if the program calls the `Fd` method.  Programs currently expect the `Fd` method to return a handle that uses ordinary synchronous I/O.
Repository: go
Issue: x/arch/arm/armasm: second source register is calculated incorrectly
Labels: NeedsFix

Please answer these questions before submitting your issue. Thanks!

### What version of Go are you using (`go version`)?
golang.org/x/arch/arm

### What operating system and processor architecture are you using (`go env`)?
Ubuntu 16.04.1 LTS and ARM64

### What did you do?
Disassemble following two instructions
937facb1
d6530d61

### What did you expect to see?
STREXD.LT [R12], R4, R3, R7
LDRD.VS [SP, -R6], R6, R5

### What did you see instead?
STREXD.LT [R12], R3, R3, R7
LDRD.VS [SP, -R6], R5, R5
Repository: TypeScript
Issue: Can not declaration merging for default exported class
Labels: Bug

<!-- 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.1.5

**Code**

```ts
// A *self-contained* demonstration of the problem follows...
// ===== file Foo.ts =====
export default class Foo {
  hello() { 
    console.log('Foo'); 
  }
}


// ===== file Bar.ts =====
import Foo from './Foo';

declare module './Foo' {
  interface Foo {
    add(x, y);
  }
}

// ERROR: 'add' does not exist in type Foo.
Foo.prototype.add = function (x, y) { return x + y; };

let f = new Foo();
f.hello();
f.add(3, 4);   // ERROR: 'add' does not exist in type Foo.

```

**Expected behavior:**
If the class Foo is exported without default in file Foo.ts, and then import {Foo} from './Foo', 
it works correctly as example in doc http://www.typescriptlang.org/docs/handbook/declaration-merging.html 

Hope import Foo same as import {Foo} behaviors.


**Actual behavior:**
ERROR message showed.
Repository: vscode
Issue: [themes] different themes for different filetypes
Labels: feature-request,themes

Is it possible to have different themes for different filetypes?
Repository: youtube-dl
Issue: Introduce playlist level thumbnail and write it with --write-thumbnail
Labels: request

- [x] I've **verified** and **I assure** that I'm running youtube-dl **2017.02.16**
- [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
- [x] Feature request (request for a new functionality)

---

### Description of your *issue*, suggested solution and other information

I'd like to request a feature please, the feature is --write-artwork for crunchyroll, for example if you type youtube-dl.exe --write-artwork http://www.crunchyroll.com/naruto-shippuden it will also download the artwork from the right hand side http://img1.ak.crunchyroll.com/i/spire1/958243dc68ae929a6b9cb834165112471456969325_full.jpg

thank you
Repository: go
Issue: os: support runtime poller with os.File on Solaris
Labels: OS-Solaris

The os test `TestPipeThreads` is failing on the Solaris builder, suggesting that for some reason `os.File` values are not working with the runtime poller.  The code looks OK to me.  I don't know why it is not working.  Filing this issue to record the problem.
Repository: TypeScript
Issue: Implement missing members sometimes writes out inaccessible types
Labels: Bug,Domain: Quick Fixes

```ts
function foo() {
  abstract class C {
    abstract myMethod(): C;
  }

  return C;
}

class D extends foo() {
}
```

Right now, we enable a codefix for implementing missing members of the class `C`. However, `C` is inaccessible, and the generated code will be something like the following

```ts
function foo() {
  abstract class C {
    abstract myMethod(): C;
  }

  return C;
}

class D extends foo() {
  myMethod(): C {
    throw new Error('Method not implemented.');
  }

}
```

which is invalid.

I'd argue that the code fix shouldn't be made available.
Repository: TypeScript
Issue: Support overload resolution with type union arguments
Labels: Suggestion,Needs Proposal

**TypeScript Version:**  2.1.6

**Code**
```ts
interface Foo {
    bar(s: string): void;
    bar(n: number): number;
    bar(b: boolean): boolean;
}
type SN = string | number;

var sn1: string | number;
var sn2: SN;
var foo: Foo;

var x1 = foo.bar(sn1); // error
var x2 = foo.bar(sn2); // error
```

**Expected behavior:**
This should be allowed.
The type of `x1` and `x2` should be `void | number`, the union of the matching overload return types.

All 3 overloads can be seen as a single overload with a union type. It should try to fallback to a union when it can't match one of the originally defined overloads.

**Actual behavior:**
error TS2345: Argument of type 'string | number' is not assignable to parameter of type 'boolean'.
  Type 'string' is not assignable to type 'boolean'.
Repository: youtube-dl
Issue: support for 9news
Labels: site-support-request

I want to download video from 9news link "http://www.9news.com/news/local/father-worries-about-immigration-status/408808900"

i tried youtube-dl. 
```
% youtube-dl -v -F "http://www.9news.com/news/local/father-worries-about-immigration-status/408808900"                                            :(
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-F', 'http://www.9news.com/news/local/father-worries-about-immigration-status/408808900']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.12.22
[debug] Python version 3.5.1 - Linux-4.6.2-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 3.0.2, ffprobe 3.0.2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] 408808900: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 408808900: Downloading webpage
[generic] 408808900: Extracting information
ERROR: Unsupported URL: http://www.9news.com/news/local/father-worries-about-immigration-status/408808900
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/youtube_dl/YoutubeDL.py", line 694, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 358, in extract
    return self._real_extract(url)
  File "/usr/lib/python3.5/site-packages/youtube_dl/extractor/generic.py", line 2453, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: http://www.9news.com/news/local/father-worries-about-immigration-status/408808900


```
Repository: rust
Issue: Provide an easy way to use LLVM's Polly
Labels: A-LLVM,T-compiler,C-feature-request

[To use polly with clang](http://polly.llvm.org/example_load_Polly_into_clang.html) I just need to compile polly together with llvm and clang (just check it out and put it in the correct directory before compiling), load it as a clang plugin, and then enable `-mllvm polly`. 

It would be nice if:

- [ ] rustc always came with an LLVM compiled with polly
- [ ] it had an easy option to enable it from rustc that:
    - [ ] loads polly's `/lib/LLVMPolly.so` as a plugin
    - [ ] enables it in llvm's opt: `-mllvm polly`.
- [ ] had an easy way to pass polly options without having to do the  `-mllvm -polly-option_name=value` dance over and over again.

This would allow to start experimenting with polly, to e.g. make sure that it gets proper aliasing information for Rust.
Repository: vscode
Issue: Allow to create multi-cursor with keyboard
Labels: feature-request,editor-multicursor

<!-- Do you have a question? Please ask it on http://stackoverflow.com/questions/tagged/vscode -->

- VSCode Version: 1.10.0 - insider
- OS Version: Windows

-- Sorry for the English, I used Google Translator --

Allow me to place multiple cursors by navigating with the arrow keys.

Like this extension [multi-cursor-plus](https://atom.io/packages/multi-cursor-plus) of Atom. Press `alt + x` to highlight a cursor, use the arrow keys to scroll to the next location you want (by pressing the `alt `key), and press again.

If I wanted to take some specific cursor, I'll enter the arrows to the location and press `alt + x` again.

![68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f6b616e6b61726973746f2f61746f6d2d6d756c74692d637572736f722d706c75732f6769662f73686f77636173652e676966](https://cloud.githubusercontent.com/assets/19866231/23032826/ff22e12c-f45c-11e6-8b41-0263fd185dbb.gif)
Repository: TypeScript
Issue: Class mixins shouldn't require a specific signature of constructors 
Labels: Suggestion,Awaiting More Feedback

<!-- 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.2.0-dev.20170209

**Code**

Requiring mixins to have a constructor signature of `constructor(...args: any[])` causes a few problems:

1. Node v4, which is an active LTS, doesn't support rest and spread syntax. We avoid it and can run our output on Node v4 even when targeting ES6. The mixin constructor requirements prevent this.

2. It's common to have mixins that want to provide a specific constructor. These will usually be applied last to create a concrete class. This is impossible now, so you have to create a new concrete class with only a constructor to give it the correct signature.

3. For a mixin that does have constructor argument requirements, it's very cumbersome to extract arguments out of `...args`.

Here's an approximation of a case I hit. I have two classes that that share a base class:

```ts
class Base {
  foo: string[];
}

class A extends Base {}

class B extends Base {}
```

Later, I want to add some functionality to via mixins to create two new classes:

```ts

type Constructor<T extends object> = new (...args: any[]) => T;
interface Magic {}
const Magic = <T extends Constructor<Base>>(superclass: T): Constructor<Magic>& T =>
  class extends superclass implements Magic {
    constructor(foo: string[]) {
      super();
      this.foo = foo;
    }
  };

const MagicA = Magic(A);
const MagicB = Magic(A);
```

And I want MagicA and MagicA to have a constructor that takes a single argument. I know the code will work because I know the constructors of A and B, but the type checker is unhappy.

First, the `Constructor` type is wrong in this case because I know the signature I want. I'd actually like to write:

```ts
type BaseConstructor = new() => Base;
type MagicConstructor = new(foo: string[]) => Magic;
interface Magic {}

const Magic = <T extends BaseConstructor>(superclass: T): MagicConstructor & T =>
  class extends superclass implements Magic {
    constructor(foo: string[]) {
      super();
      this.foo = foo;
    }
  };
const MagicA = Magic(A);
const MagicB = Magic(A);
```

**Expected behavior:**

This works

**Actual behavior:**

Error: "Type 'T' is not a constructor function type." on the extends clause.
Repository: go
Issue: testing: add -benchsplit to get more data points
Labels: help wanted,Proposal,Proposal-Accepted,NeedsFix,FeatureRequest

For #18177, we need to make tradeoffs between worst-case latency and average throughput for the functions in question.

It's relatively easy to measure the average throughput today using benchmarks with the `testing` package.

It would be nice if I could use those same benchmarks to measure the distribution of timings across iterations.  That isn't really feasible using `(*B).N` with caller-side iteration, but it might at least be possible to tap into `(*PB).Next` to get some idea of the latency between calls for parallel benchmarks.
Repository: angular
Issue: Support Input/Output spread
Labels: feature,area: core,core: inputs / outputs,feature: under consideration

<!--
IF YOU DON'T FILL OUT THE FOLLOWING INFORMATION WE MIGHT CLOSE YOUR ISSUE WITHOUT INVESTIGATING
-->

**I'm submitting a ...**  (check one with "x")
```
[ ] bug report => search github for a similar issue or PR before submitting
[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**
<!-- Describe how the bug manifests. -->
Currently each Input or Output must be explicitly declared in the component to allow its usage.

**Expected behavior**
<!-- Describe what the behavior would be without the bug. -->
I'd like to have any way to pass Inputs/Outputs to a component in the template without declaring them first. This is allowed in React with [props spread](https://facebook.github.io/react/docs/jsx-in-depth.html#spread-attributes) and allows techniques like [Higher Order Components](https://facebook.github.io/react/docs/higher-order-components.html).

```jsx
<my-component [prop1]="prop1" {...otherInputs} ></my-component>
```
**What is the motivation / use case for changing the behavior?**
<!-- Describe the motivation or the concrete use case -->
Declaring each Input/Output is a problem when wrapping some component to extend its behaviour or to hide the component when dealing with an external library. It requires mapping each of the wrapped component Inputs/Outputs and it's very tedious and error prone. Besides any change in the wrapped component API would require touching the wrapper component.
Repository: rust
Issue: Macros not included in back-traces when used in a crate
Labels: A-debuginfo,E-needs-test,A-macros,T-compiler,C-feature-request

When a macro causes a panic (directly or indirectly) between crates, the line of code from which the macro is used isn't included in the back-trace.

This makes it impossible to know which use of the macro caused the panic.

I ran into this problem because my tests are in a separate directory, and use the code they tests as a crate.

Possibly this is just unsupported feature / known limit in macro system, reporting because I wasn't sure.

[Git repository][1] for the example below.

`tests/tests.rs`

    extern crate test_macro;
    #[test]
    fn main() {
        let file: Vec<u8> = Vec::new();
        test_macro::decode_main(&*file).unwrap();
    }


`src/lib.rs`

    use ::std::io;

    macro_rules! read_exact {
        ($f:expr, $r:expr) => {
            io::Read::read_exact($f, $r).unwrap()
        }
    }

    fn decode_blocks<R: io::Read>(mut file: R) -> Result<(), io::Error> {
        let mut bhead: [u8; 320] = [0; 320];
        read_exact!(&mut file, &mut bhead);  // <-- this line isn't in the backtrace
        Ok(())
    }

    pub fn decode_main<R: io::Read>(mut file: R) -> Result<(), io::Error> {
        decode_blocks(file)?;
        Ok(())
    }


Calling:

    RUST_BACKTRACE=1 cargo test

Gives the backtrace:

                            at /buildslave/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libcore/result.rs:737
      11:     0x562061ffd7da - test_macro::decode_blocks::h391253710f990761
                            at /src/test_macro/src/lib.rs:5
      12:     0x562061ffd5ca - test_macro::decode_main::h43b3b33b47640ea4
                            at /src/test_macro/src/lib.rs:16
      13:     0x562061fff1ad - tests::main::hc17f25ef21544d0b
                            at /src/test_macro/tests/tests.rs:5
      14:     0x56206200d54e - <F as test::FnBox<T>>::call_box::h04563d623b7ebdf9

Notice line 11 isn't included.

----

Using Rust stable 1.15.


  [1]: https://gitlab.com/ideasman42/test_42277783_report/tree/master
Repository: flutter
Issue: Platform specific assets
Labels: c: new feature,tool,customer: posse (eap),a: assets,P3,team-tool,triaged-tool

It would be great if you could use a platform (android/iOS) as a variant (automatically) with regards to Assets. 

A good example is for icons representing actions like sharing. They have platform specific conventions and it would be great if you could just do `"assets/icons/share"` and have the one that is relevant to the current platform.
Repository: TypeScript
Issue: strictNullChecks false-positive when returning or breaking from within loop
Labels: Bug

Compile the following with `--strictNullChecks`

```ts
  function findScrollTarget(event: MouseEvent): { element: Element } | null {
    let x = event.clientX;
    let y = event.clientY;
    let element: Element | null = document.elementFromPoint(x, y);
    for (; element; element = element.parentElement) {
      return { element };
    }
    return null;
  }
```

**Expected behavior:**
This should compile, but doesn't with the following error: 
`src/index.ts(796,31): error TS2531: Object is possibly 'null'.`

That line number and position corresponds to to the `element.parentElement` expression in the third clause of the for-loop in my example.

This example also fails with the same error:

```ts
  function findScrollTarget(event: MouseEvent): { element: Element } | null {
    let x = event.clientX;
    let y = event.clientY;
    let result: { element: Element } | null = null;
    let element: Element | null = document.elementFromPoint(x, y);
    for (; element; element = element.parentElement) {
      result = { element };
      break;
    }
    return result;
  }
```
 
However, this example compiles fine, which doesn't escape early from the loop.

```ts
  function findScrollTarget(event: MouseEvent): { element: Element } | null {
    let x = event.clientX;
    let y = event.clientY;
    let result: { element: Element } | null = null;
    let element: Element | null = document.elementFromPoint(x, y);
    for (; element; element = element.parentElement) {
      result = { element };
    }
    return result;
  }
```