sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: angular
Issue: [Feature request] router resolver should be cancellable
Labels: feature,freq3: high,area: router,feature: under consideration,feature: votes required

<!--
PLEASE HELP US PROCESS GITHUB ISSUES FASTER BY PROVIDING THE FOLLOWING INFORMATION.

ISSUES MISSING IMPORTANT INFORMATION MAY BE CLOSED WITHOUT INVESTIGATION.
-->

## I'm submitting a...
<!-- Check one of the following options with "x" -->
<pre><code>
[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  <!-- Please search GitHub for a similar issue or PR before submitting -->
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre>

I search around the issues regarding this and did find one but it was closed (https://github.com/angular/angular/issues/13056). I believe it should rather be a feature request. It is completely legit to expect that the ongoing route and the observable sitting inside the resolve function should be discarded if the user changes their mind and preceded to another route. Youtube is an example.

## Current behavior
<!-- Describe how the issue manifests. -->
The scenario is the user clicks a slow route link that fetches data necessary for a component, and while that is resolving the user hits back, or clicks on another link. I would then want to cancel the current resolve and begin the new routing.

To demotrate: https://stackblitz.com/edit/angular-u6zquh

To try to solve the problem, I inject the router event into the SomeResolve class and hoping to do like... (below is pseudo code)
````ts
@Injectable()
export class SomeResolve implements Resolve<any> {

  constructor(private someService$: SomeService, private router$: Router) { }

  resolve() {
    return this.someService$
      .takeUntil(
        this.router$.events.pipe(
          filter(NavigationStart)
        )
      );
  }
}
````

 It seems that all the router events are blocked until resolver complete. Below is quoted from Angular.io router and navigation section.
> The Observable provided to the Router must complete. If the Observable does not complete, the navigation will not continue.

So, this is not a solution because no events are shooted before resolver function complete. User still needs to wait for the ajax/observable complete before proceeding.

## Expected behavior
<!-- Describe what the desired behavior would be. -->
The router events are not blocked or any idea which can lead to cancellable router resolver.

<pre><code>
Angular version: 5.2.0
<!-- Check whether this is still an issue in the most recent Angular version -->
Repository: vscode
Issue: Separate tab size and indent size
Labels: feature-request,editor-core

Visual Studio Code have not appear to have the ability to do the Tools->Options Tab settings of Visual Studio Professional where you can specify that tabs are 8 spaces but the indent size if 4? All our code uses that style and many other editors let you do this, but Visual Studio Code doesn't seem to support this. I've tried lots of things in Visual Studio Code but not found any combination of settings that work.

Using Visual Studio Code 1.19.3 (and also Visual Studio 2015 (and Professional 2012)).

In Visual Studio, setting tabs at 8 and spaces at 4 means (for a blank line):
- Press tab key once, indent of 4 spaces.
- Press tab again, indent of tab (removes 4 spaces, adds tab)
- Press tab third time, indent is tab + 4 spaces.
Repository: rust
Issue: In debug mode, print a message for attempted unwind past FFI call
Labels: C-enhancement,A-diagnostics,T-compiler

See https://github.com/rust-lang/rust/issues/47616 and https://github.com/rust-lang/rust/pull/46833 . Rust now generates an abort rather than attempting to unwind through an FFI call. In debug mode, could we generate a friendly error message explaining that, rather than just aborting? (In release mode we should continue to just abort.)
Repository: rust
Issue: Editing proc-macro crate = undefined symbol
Labels: A-macros-2.0,C-bug

Note: This is with incremental-comp turned off, and a compiler built yesterday.

Occasionally when working on Diesel's codegen crates, I'll get an error like this:

```
error: dlsym(0x113560e00, __rustc_derive_registrar__55df2b44c5129c66de0914ff53563457_89): symbol not found
   --> diesel/src/lib.rs:121:1
    |
121 | extern crate diesel_derives2;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```

The only fix when this happens is to `cargo clean`. It randomly happens when I change some code, but not 100% of the time.
Repository: rust
Issue: "errror: reference to '...' is ambiguous" message in LLDB
Labels: C-enhancement,T-dev-tools

When I try to print a local variable in LLDB, e.g. with `po foo`, and there's a function with the same name, I get this message:
```
error: reference to 'foo' is ambiguous
candidate found by name lookup is 'foo'
candidate found by name lookup is 'some_module::some_struct::{{impl}}::foo'
```
Repository: vscode
Issue: [json] improve property suggestions with oneOf
Labels: feature-request,json

<!-- Do you have a question? Please ask it on https://stackoverflow.com/questions/tagged/vscode. -->

<!-- Use Help > Report Issue to prefill these. -->
- VSCode Version: Version 1.20.0-insider
- OS Version: 10.13.3

Steps to Reproduce:

1. Use this JSON schema

```json
{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "oneOf": [
        {
            "title": "Wrapper",
            "type": "object",
            "required": [
                "asset"
            ],
            "properties": {
                "asset": {
                    "type": "object"
                }
            }
        },
        {
            "title": "No Wrapper",
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        }
    ]
}
```

2. Start writing JSON using this schema and type: 

```json
{
    ""
}
```

3. Only id is suggested as an option, I expect both asset and id to be suggestions

NOTE: if i make "id" also required I get the correct suggestions. 


<!-- Launch with `code --disable-extensions` to check. -->
Does this issue occur when all extensions are disabled?: Yes/No
Yes
Repository: neovim
Issue: :write warning if modified-time changed
Labels: enhancement,ux

<!-- Before reporting: search existing issues and check the FAQ. -->

- `nvim --version`: NVIM v0.2.2
- Vim (version: ) behaves differently? No
- Operating system/version: Arch Linux
- Terminal name/version: XTerm(331)
- `$TERM`: xterm-256color

### Steps to reproduce using `nvim -u NORC`

- `nvim -u NORC test`
- Write an empty file: `:w`
- In another terminal, update the modified time of the file: `touch test` or `touch -d '2 hours ago' test` or `echo -n > test`
- Try to write again: `:w`

### Actual behaviour

`WARNING: The file has been changed since reading it!!!`

### Expected behaviour

There should be no warning since the file hasn't changed, and as per `help timestamp`:

> When Vim notices the timestamp of a file has changed, and the file is being
> edited in a buffer but has not changed, Vim checks if the contents of the file
> is equal.  This is done by reading the file again (into a hidden buffer, which
> is immediately deleted again) and comparing the text.  If the text is equal,
> you will get no warning.

Note that there is no warning if `:checktime` is called before `:w`.
Repository: nvm
Issue: Install from zsh doesn't install to bash.  Install from bash doesn't install to bash
Labels: installing nvm: profile detection,pull request wanted

- Operating system and version:
Linux mcdesktop 4.13.0-32-generic #35~16.04.1-Ubuntu SMP Thu Jan 25 10:13:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

- `nvm debug` output:
works in zsh, not in bash

- How did you install `nvm`? (e.g. install script in readme, homebrew):
in zsh, using `curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash`
- What steps did you perform?

- What happened?
1. From zsh, ran curl installer
2. Installed to zsh
3. closed/opened zsh
4. nvm works in zsh
5. Started bash (from zsh)
6. nvm not found  <- error
7. From bash, ran curl installer 
8. exit/start bash
9. nvm not found  <- error

- What did you expect to happen?

nvm to be installed.
nvm to install to bash when run from bash
nvm to install in zsh AND bash.  
(I use zsh, but write scripts with `#/bin/bash` for compatibility with people not using zsh)

- Is there anything in any of your profile files (`.bashrc`, `.bash_profile`, `.zshrc`, etc) that modifies the `PATH`?
```
☀  grep PATH .*
<trimmed>
.profile:# set PATH so it includes user's private bin directories
.profile:PATH="$HOME/bin:$HOME/.local/bin:$PATH"
```
Repository: rust
Issue: TcpSocket try_clone() sets close-on-exec but this isn't documented
Labels: C-enhancement,P-medium,T-libs-api,E-medium,A-docs

Hello, the TcpSocket try_clone() method calls into .duplicate(), which sets the close-on-exec flag on the socket:

https://doc.rust-lang.org/src/std/net/tcp.rs.html#255-257
https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/fd.rs#L197

I believe the documentation for try_clone() should be extended to describe:

- That this is an operation with the underlying operating system, dup() or WSADuplicateSocket() or whatever is appropriate ~~(this would help address very similar issue 45536)~~
- That the duplication operation also sets the close-on-exec flag.

Thanks

<!-- TRIAGEBOT_START -->

<!-- TRIAGEBOT_ASSIGN_START -->

<!-- TRIAGEBOT_ASSIGN_DATA_START$${"user":"HypheX"}$$TRIAGEBOT_ASSIGN_DATA_END -->

<!-- TRIAGEBOT_ASSIGN_END -->
<!-- TRIAGEBOT_END -->
Repository: rust
Issue: Panics in destructors can cause the return value to be leaked
Labels: C-enhancement,A-destructors,P-high,T-lang,T-compiler,I-unsound

## STR

```Rust
struct NoisyDrop;
impl Drop for NoisyDrop {
    fn drop(&mut self) {
        println!("dropping a NoisyDrop");
    }
}

impl NoisyDrop {
    fn new() -> Self {
        println!("creating a NoisyDrop");
        NoisyDrop
    }
}

struct PanickyDrop;
impl Drop for PanickyDrop {
    fn drop(&mut self) {
        panic!()
    }
}

fn foo() -> NoisyDrop {
    let p = PanickyDrop;
    NoisyDrop::new()
}

fn main() {
    foo();
}
```

## Expected Result

"creating a NoisyDrop" and "dropping a NoisyDrop" should appear the same number of times

## Actual Result

```
creating a NoisyDrop
thread 'main' panicked at 'explicit panic', src/main.rs:18:8
note: Run with `RUST_BACKTRACE=1` for a backtrace.
```

The destructor is ignored.
Repository: rust
Issue: Using ToSocketAddrs seems to remember EMFILE on the same thread
Labels: C-bug,T-libs

This was noticed in https://github.com/hyperium/hyper/issues/1422, where a user tried to trigger more connections than their allowed max file descriptors, and saw the EMFILE error. It was  then noticed that afterwards, every call to `to_socket_addrs` that requires a DNS lookup would fail from then on. However, trying the same DNS lookup on a new thread would work fine.

I was able to reproduce this using just the standard library here:

```rust
use std::net::TcpStream;

fn main() {
    let cnt = 30_000; // adjust for your system
    let host = "localhost:3000"; // using "127.0.0.1:3000" doesn't have the same problem

    let mut sockets = Vec::with_capacity(cnt);
    for i in 0..cnt {
        match TcpStream::connect(host) {
            Ok(tcp) => sockets.push(tcp),
            Err(e) => {
                println!("error {} after {} connects", e, i);
                break;
            }
        }
    }

    drop(sockets);
    println!("closing all sockets");

    // sleep because why not
    ::std::thread::sleep(::std::time::Duration::from_secs(5));

    TcpStream::connect(host).unwrap();

    println!("end");
}
```

Just start up a local server, and try to run this program against it. Also, notice that if you change from `"localhost"` to `"127.0.0.1"`, the issue doesn't show up.
Repository: go
Issue: cmd/compile: bad line number in error message calling variadic function
Labels: NeedsFix,compiler/runtime

Compile:

```go
package p

import git "gopkg.in/libgit2/git2go.v26"

func f(r *git.Repository, x int) {
	r.CreateCommit(
		"",
		nil,
		nil,
		"",
		nil,
		x,
	)
}
```

Result:

```
$ go build x.go
# command-line-arguments
./x.go:10:3: cannot use x (type int) as type *git.Commit in argument to r.CreateCommit
```

The correct line number is 12, not 10. Line 10 is the second "" line.

Reproduces with (at a minimum): 1.7, 1.8, 1.9, and 1.10rc1.

@mdempsky @griesemer
Repository: vscode
Issue: Backspace at end of empty line doesn't delete whole line and go to end of above line
Labels: feature-request,editor-commands

<!-- Do you have a question? Please ask it on https://stackoverflow.com/questions/tagged/vscode. -->

<!-- Use Help > Report Issue to prefill these. -->
- VSCode Version: 1.19.2
- OS Version: W10LTSB

Steps to Reproduce:

1. Create a new line of a block of multi-line code like an opening div tag or JavaScript or PHP function, then hit Enter.
2. If you have an indent, continue to step 3. If not, create an indent with Tab or 4 spaces (whatever your religion is).
3. Hit the Backspace key; notice it merely removes an indent each time instead of deleting the whole line and putting your cursor at the end of the previous line like awesome JetBrains software does. Realize how many unnecessary keystrokes you'll now have to deal with (and Ctrl+Shift+Up-End each line is still a lot).
4. Continue to use VS Code because nobody can afford to buy another JetBrains license for your new job.

This should be standard logic in all editors; there's zero functional or stylistic reason to want to just delete indents on an empty line with Backspace (unless there's too many indents there which is rare, or your editor auto-indented wrong), and even if for some Pan-like reason you need to use that regressive space, you can just use Ctrl+Home to delete the line then indent where you want (or Shift+arrow, or just arrow if you're a weirdo).

<!-- Launch with `code --disable-extensions` to check. -->
Does this issue occur when all extensions are disabled?: Yes
Repository: vscode
Issue: [json] Automatically add required fields to object
Labels: feature-request,json

Since the editor has access to the schema for the file it should be easy to make the object that is suggested by intellisense to add all the "required" fields.

So if my Schema was
a.json
```json
{
    "type": "object",
    "required: [
        "id"
    ],
    "properties": {
        "id: {
            "type": "string"
        }
    }
}
```
I would expect intellisense to suggest 
```json
{ "id": "$1" }
```

instead of just `{}`. So I would want anything that is required to become an autogenerated default snippet. Given my interactions with @aeschli this might be out of scope for the project.
Repository: godot
Issue: "Collapse all properties" has no effect if inspector folding is disabled in the Editor Settings
Labels: enhancement,discussion,topic:editor,usability

<!-- Please search existing issues for potential duplicates before filing yours:
https://github.com/godotengine/godot/issues?q=is%3Aissue
-->

**Godot version:**
<!-- Specify commit hash if non-official. -->
3.0

**OS/device including version:**
<!-- Specify GPU model and drivers if graphics-related. -->


**Issue description:**
<!-- What happened, and what was expected. -->
When 'Disable Inspector Folding' in Project settings is set to On, the option to 'Collapse all properties' in the Inspector panel no longer works.

**Steps to reproduce:**
Follow the description above.

**Minimal reproduction project:**
<!-- Recommended as it greatly speeds up debugging. Drag and drop a zip archive to upload it. -->
Repository: godot
Issue: Improve usability of animating sub-properties like modulate.a
Labels: enhancement,topic:editor,usability,topic:animation

<!-- Please search existing issues for potential duplicates before filing yours:
https://github.com/godotengine/godot/issues?q=is%3Aissue
-->

**Godot version:**
<!-- Specify commit hash if non-official. -->
3.0

**OS/device including version:**
<!-- Specify GPU model and drivers if graphics-related. -->


**Issue description:**
<!-- What happened, and what was expected. -->
The removal of Canvas Item Opacity and Self Opacity settings results in cumbersome and annoying workflow. They are now two color fields instead. As you can see in the images of my animation timelines in Godot 2 and Godot 3, the opacity setting has changed from an easy to understand number to a confusing color patch. I now have to click twice to change the value (three times if I want the value in RAW). In Godot 2 I only click once and adjust a number. I fail to see the improvement here. Please bring back the Canvas Item Opacity and Self Opacity settings as numbers.

![godotopacityright](https://user-images.githubusercontent.com/15687516/35738282-a9127342-082e-11e8-8c0e-318a1e60b16d.png)

![godotopacitywrong](https://user-images.githubusercontent.com/15687516/35738285-ad4acf90-082e-11e8-85d4-4baff1aba0cc.png)


**Steps to reproduce:**


**Minimal reproduction project:**
<!-- Recommended as it greatly speeds up debugging. Drag and drop a zip archive to upload it. -->
Repository: flutter
Issue: Reload timeouts mishandled in --machine mode
Labels: c: crash,tool,t: hot reload,P2,team-tool,triaged-tool

While testing a fix for #14184 in Dart Code (don't send a reload request while it's already reloading) I noticed that if a hot reload times out, the error message returned (via `flutter run --machine`) seems confused:

```text
[15:03:50]: ==> [{"id":"1","method":"app.restart","params":{"appId":"9d04942a-7c3c-42d6-9b5c-93cecef66c95","fullRestart":false,"pause":true}}]
[15:03:50]: ==> [{"id":"2","method":"app.restart","params":{"appId":"9d04942a-7c3c-42d6-9b5c-93cecef66c95","fullRestart":false,"pause":true}}]
[15:03:50]: <== [{"event":"app.progress","params":{"appId":"9d04942a-7c3c-42d6-9b5c-93cecef66c95","id":"1","progressId":"hot.reload","message":"Initializing hot reload..."}}]
[15:04:21]: <== [{"id":"2","error":"NoSuchMethodError: Class 'TimeoutException' has no instance method '[]'.\nReceiver: Instance of 'TimeoutException'\nTried calling: [](\"code\")"}]
[15:04:21]: <== [{"event":"app.progress","params":{"appId":"9d04942a-7c3c-42d6-9b5c-93cecef66c95","id":"1","progressId":"hot.reload","finished":true}}]
[15:04:21]: <== [{"id":"1","error":"NoSuchMethodError: Class 'TimeoutException' has no instance method '[]'.\nReceiver: Instance of 'TimeoutException'\nTried calling: [](\"code\")"}]
```

It's obvious that it's a timeout from the mention of `TimeoutException` but the error about trying to call `["code"]` on it probably isn't what should be returned here.

It's possible these timeouts will go away once the other issue is fixed, however it still seems like there's a bug in the timeout exception/code.
Repository: vue
Issue: SSR Component Cache doesn't cache Strings
Labels: improvement

### Version
2.5.13

### Reproduction link
[https://runkit.com/martinlg/issue-vue-renderer-cache](https://runkit.com/martinlg/issue-vue-renderer-cache)

### Steps to reproduce
Run the Runkit code. If you prefer a git repository I can provide you one.

### What is expected?
The value passed to the ```set``` function should be a string.

### What is actually happening?
The value passed to the ```set``` function is an object, with 2 properties:

* html: a ```string``` containing the rendered component
* components: a ```Set``` containing nothing or function, depending on context (sub-components I think)

---
This issue breaks any external cache possibility (Redis in my case).
The only possible cache is in the process memory, like the LRUCache, but it seems impossible to scale processes and share a common cache.

Moreover, the documentation explain clearly that the cached value should be a string, and even provides a small Redis example implementation, that could just not work.

I think that the documentation describe the expected behavior, so I don't want to "fix" the documentation, I think we should fix the behavior.

I will try to help but I may need some explanations on some parts of the RenderContext, can I ask my questions on this thread ?

<!-- generated by vue-issues. DO NOT REMOVE -->
Repository: rust
Issue: dlclose() does not behave properly on Mac
Labels: A-runtime,O-macos,A-thread-locals,C-bug

This report will reference this repository which reproduces the issue: https://github.com/dradtke/rust-dylib-issues

### The Issue

The repository contains an application library, built as a `dylib`, and two example main programs, one in Rust and one in C. Each main application runs in a loop, loading the library with `dlopen()`, calling a method, and then closing with `dlclose()`. The expectation is that any changes to the library will be picked up immediately by the main application when it is recompiled.

However, the behavior between the two programs differs. If I run the two main programs side-by-side, then make a change to the returned message and recompile the library, only the C program immediately reflects the change. The Rust main program won't reflect any changes until it is fully restarted.

It appears that this is Mac-specific behavior. When the same test is run on Debian, the two main programs behave identically.

### The Environment

**Operating System**: macOS Sierra 10.12.6
**Rust Version**:
```
rustc 1.23.0 (766bd11c8 2018-01-01)
binary: rustc
commit-hash: 766bd11c8a3c019ca53febdcd77b2215379dd67d
commit-date: 2018-01-01
host: x86_64-apple-darwin
release: 1.23.0
LLVM version: 4.0
```

**C Compiler**:
```
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.38)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
```
Repository: godot
Issue: Visible seams between GridMap tiles (sometimes only with MSAA enabled)
Labels: topic:rendering,confirmed,documentation,topic:3d

![image](https://user-images.githubusercontent.com/6987027/35759918-a7f18a72-084a-11e8-80e3-736209f8fe13.png)


Is hard to see. You need to open the image full size. There are no visible seams with MSAA Disabled but with 2x or higher I start seeing seams and edges of 3D meshes. 

My guess is the texture or mesh is shrunk by a small factor in order to produce the edge aliasing. 

I use a Gridmap is a cell size 1 , 1 , 1 and the tiles are all designed to be exactly 1 x 1 x 1  and the UV maps are made exactly to the dot for 64 x 64 textures.


This is on latest Godot 3.0 release