sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: godot
Issue: 2D Inverse Kinematics: Add a bool property to control the IK's bend orientation
Labels: enhancement,topic:core

The 2D IKs orient based on how you move bones in the chain. Often the limbs bend the wrong way and there's no control to fix that:

![image](https://user-images.githubusercontent.com/12694995/52103624-f5270300-2629-11e9-9865-da86b2eb089e.png)

You generally want 2d IKs to bend only one way. in Spine2D, you have a bool property to define and toggle the bend's direction: http://esotericsoftware.com/spine-ik-constraints
Repository: godot
Issue: 2D Inverse Kinematics only work with the "Make Custom Bones" tool, not Bone2D nodes
Labels: enhancement,topic:editor,usability,topic:2d

"Make IK Chain" doesn't work with Bone2D nodes. Even if you have a chain of Bone2Ds, you must first select them, go to the bones menu in the toolbar and click "Make Custom Bones From Nodes".

Instead, I would expect to:

1. Select a chain of Bone2D nodes
2. Open the bones menu in the toolbar, click "Make IK chain"

And get an IK chain.
Repository: rust
Issue: Expose core::intrinsics::volatile_copy_nonoverlapping_memory as core::ptr::volatile_copy_nonoverlapping
Labels: T-lang,T-libs-api,C-feature-request

I propose that we expose [`core::intrinsics::volatile_copy_nonoverlapping_memory`](https://doc.rust-lang.org/core/intrinsics/fn.volatile_copy_nonoverlapping_memory.html) as the stable `core::ptr::volatile_copy_nonoverlapping`. It might make sense to stabilize other intrinsics while we're at it; I only mention this one in particular because I have a use case for it.

Is a discussion here sufficient, or should I submit an RFC?
Repository: vscode
Issue: Reveal in sidebar by double-click breadcrumb
Labels: feature-request,breadcrumbs

I've set the `explorer.autoReveal: false` in my settings.
It would be great, if i am double-click the file or folder in the breadcrumbs it would be reveal in sidebar/explorer.
Repository: angular
Issue: compareWith for RadioControlValueAccessor
Labels: feature,freq1: low,area: forms,feature: under consideration

<!--🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅

Oh hi there! 😄 

To expedite issue processing please search open and closed issues before submitting a new one.
Existing issues often contain information about workarounds, resolution, or progress updates.

🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅-->


# 🚀 feature request

### Relevant Package
This feature request is for @angular/forms


### Description
I want to bind objects to radio button values and need an own function for comparing the ngModel with the value.


### Describe the solution you'd like
I suggest the `RadioControlValueAccessor` should have `compareWith` like the `SelectControlValueAccessor`.

### Describe alternatives you've considered
Repository: opencv
Issue: Loss of type of fixed-type matrix `cv::Mat_<T>` when initialized with empty matrix 
Labels: RFC

##### System information
- OpenCV = 4.0.1
- Compiler = MSVC

##### Description
I have a fixed-type matrix that is initialized by some other matrix:

    cv::Mat_<double> A = B.clone();

So, when matrix `B` is empty, type of `A` becomes `UINT_8`
Repository: pytorch
Issue: CUDA cache doubles on the second batch and causes OOM, `empty_cache` doesn't empty it
Labels: module: dependency bug,module: cudnn,triaged

I am trying to train an FCN8s net on full-sized VOC2012 data with batch size 1. I use Pytorch 1.0.0a0 and 32Gb GPU. Note, that the original model was trained on a 12Gb card.
Here is this question on the forum: https://discuss.pytorch.org/t/fcn-training-on-full-size-voc-data-cuda-oom/36074

## Issue description

CUDA cache doubles on the second batch and causes OOM 

## Code example

For example the following (reproducible code: https://gist.github.com/vlasenkov/5338ccc7e2afcf9baa38326dc21fe403)
```
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
import torch
import torch.nn as nn

import ssms


model = ssms.arch.FCN8s(21)
model.cuda()
model.train()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-3)
loss_fn = nn.CrossEntropyLoss(ignore_index=255)

for i in range(4):
    img = torch.randn(1, 3, 128, 128).cuda()
    lbl = torch.randint(0, 5, (1, 128, 128)).cuda()

    optimizer.zero_grad()
    out = model(img)
    loss = loss_fn(input=out, target=lbl)
    loss.backward()
    optimizer.step()

    print(ssms.util.memuse())
```
produces:
```
ALLOCATED:  1.005 ( 5.531)  CACHED:  5.571 ( 5.571)
ALLOCATED:  1.005 ( 6.035)  CACHED: 10.456 (10.456)
ALLOCATED:  1.005 ( 6.035)  CACHED: 10.456 (10.456)
ALLOCATED:  1.005 ( 6.035)  CACHED: 10.456 (10.456)
```
So for larger inputs this results in OOM error.

Also `empty_cache` doesn't help, however if only 1 Gb is allocated than more than 9 Gb could be released..

Adding this:
```
del loss, out, img, lbl
gc.collect()
torch.cuda.empty_cache()
```
doesn't help too.

The same with 0.4.1 and 1.0.0.

## System Info

```
PyTorch version: 1.0.0a0
Is debug build: No
CUDA used to build PyTorch: 10.0.130

OS: Ubuntu 16.04.5 LTS
GCC version: (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
CMake version: version 3.5.1

Python version: 3.6
Is CUDA available: Yes
CUDA runtime version: 10.0.130
GPU models and configuration: 
GPU 0: Tesla V100-DGXS-32GB
GPU 1: Tesla V100-DGXS-32GB
GPU 2: Tesla V100-DGXS-32GB
GPU 3: Tesla V100-DGXS-32GB

Nvidia driver version: 410.79
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.7.4.1

Versions of relevant libraries:
[pip] Could not collect
[conda] blas                      1.0                         mkl  
[conda] magma-cuda100             2.1.0                         5    local
[conda] mkl                       2019.0                      118  
[conda] mkl-include               2019.0                      118  
[conda] mkl_fft                   1.0.6            py36h7dd41cf_0  
[conda] mkl_random                1.0.1            py36h4414c95_1  
[conda] torch                     1.0.0a0                   <pip>
[conda] torchfcn                  1.9.0                     <pip>
[conda] torchtext                 0.3.0                     <pip>
[conda] torchvision               0.2.1                     <pip>
```
Repository: kubernetes
Issue: Scalability tests: Apiserver latency metrics have 0s as latency values 
Labels: kind/bug,sig/scalability,lifecycle/frozen

<!-- Please use this template while reporting a bug and provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. Thanks!-->


**What happened**:
Some of calls latencies have 0 values in scalability performance test APIResponsiveness summary.
https://storage.googleapis.com/kubernetes-jenkins/logs/ci-kubernetes-e2e-gce-scale-performance-cl/12/artifacts/APIResponsiveness_load_2019-01-31T20:01:15Z.txt 

**What you expected to happen**:
There should be values != 0.

**How to reproduce it (as minimally and precisely as possible)**:
Run 5000 nodes scalability performance test.

**Anything else we need to know?**:

**Environment**:
- Kubernetes version (use `kubectl version`): All
- Cloud provider or hardware configuration:
- OS (e.g. from /etc/os-release): All
- Kernel (e.g. `uname -a`):
- Install tools:
- Others:
Repository: create-react-app
Issue: Creation of production build is compiling files in __mocks__ folders
Labels: issue: needs investigation

<!--
  PLEASE READ THE FIRST SECTION :-)
-->

### Is this a bug report?

Yes

### Did you try recovering your dependencies?

Yes

### Environment

Environment Info:

  System:
    OS: Windows 10
    CPU: x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
  Binaries:
    npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 42.17134.1.0
    Internet Explorer: 11.0.17134.1
  npmPackages:
    react: ^16.7.0 => 16.7.0
    react-dom: ^16.7.0 => 16.7.0
    react-scripts: 2.1.3 => 2.1.3
  npmGlobalPackages:
    create-react-app: Not Found


### Steps to Reproduce

I noticed that `react-scripts build` command is compiling files from `__mocks__` folder (where manual mocks are stored to be used by jest). I have imported "devDepencency" to one .ts file in such folder and building process has failed.

(Write your steps here:)

1. Create project with `__mocks__` folder.
2. Add "devDependency" to file in `__mocks__` folder.
3. Try to build the solution.

### Expected Behavior

Solution has compiled successfully.

### Actual Behavior

Compilation has failed, because cannot find dependency in mock file.
Repository: go
Issue: cmd/go: validate GOBIN early as possible
Labels: ToolSpeed,NeedsDecision,GoCommand

<pre>
GO111MODULE=on GOPATH=`mktemp -d` GOBIN=. tipgo get golang.org/x/tools/cmd/godoc
go: finding golang.org/x/tools/cmd/godoc latest
go: finding golang.org/x/tools/cmd latest
go: finding golang.org/x/tools latest
go: downloading golang.org/x/tools v0.0.0-20190131163942-067a2f313b69
go: extracting golang.org/x/tools v0.0.0-20190131163942-067a2f313b69
go: finding golang.org/x/net/context/ctxhttp latest
go: finding golang.org/x/net/context latest
go: finding golang.org/x/net latest
go: downloading golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3
go: extracting golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3
cannot install, GOBIN must be an absolute path
</pre>
In most cases, the module, build caches will kick in and the work will not be completely wasted.
But it would be nice if Go detects such an obvious user error early before starting all the work.

<pre>
go version devel +faf187fb8e Thu Jan 31 16:55:43 2019 +0000 linux/amd64
</pre>
Repository: flutter
Issue: Video player: add the absolute position property for the live stream
Labels: c: new feature,p: video_player,package,team-ecosystem,P3,triaged-ecosystem

The idea is to add the absolute position date time property for the currently playing stream. It's a necessary feature for the app with highly usage of live streams(HLS or DASH).
The aspects where it can be useful:
- Correct progress indicator positioning on the timeline
- Easy selection of the currently playing program in program table
- Seeking in the TV time-shifting archives and more

 The good formed HLS stream usually has this information inside.
Repository: angular
Issue: [Bug]: Namespaced Custom Events
Labels: type: bug/fix,breaking changes,freq1: low,area: core,state: confirmed,core: event listeners,design complexity: major,P3

<!--🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅

Oh hi there! 😄

To expedite issue processing please search open and closed issues before submitting a new one.
Existing issues often contain information about workarounds, resolution, or progress updates.

🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅-->


# 🐞 bug report

### Affected Package
<!-- Can you pin-point one or more @angular/* packages as the source of the bug? -->
<!-- ✍️edit: -->

platform-browser

### Is this a regression?

<!-- Did this behavior use to work in the previous version? -->
<!-- ✍️--> No.


### Description

<!-- ✍️-->

Custom events that are namespaced using the syntax `namespace:event` will fail. For example, binding to the `MDCTabBar:activated` event will fail ([source](https://github.com/material-components/material-components-web/blob/master/packages/mdc-tab-bar/constants.js#L26)).

```html
<mwc-tab-bar (MDCTabBar:activated)="onTabActivated($event)"></mwc-tab-bar>
```

The problem is Angular will think you are listening to an `activated` event on a global `MDCTabBar` event target ([source](https://github.com/angular/angular/blob/b61dafaeacbe80572b76884aa7acf1ba1c6ac45a/packages/platform-browser/src/browser/browser_adapter.ts#L350)).

**Possible Solution**

If Angular doesn't know about the event target then assume it is part of the event name, or add syntax to tell Angular to listen to the event name verbatim. I think I saw the `^` syntax in another issue.

e.g.

```html
<!-- hey Angular, don't mess with the event name -->
<mwc-tab-bar (^MDCTabBar:activated)="onTabActivated($event)"></mwc-tab-bar>
```

## 🔬 Minimal Reproduction
<!--
Please create and share minimal reproduction of the issue starting with this template: https://stackblitz.com/fork/angular-issue-repro2
-->
<!-- ✍️-->

Not needed.

<!--
If StackBlitz is not suitable for reproduction of your issue, please create a minimal GitHub repository with the reproduction of the issue. Share the link to the repo below along with step-by-step instructions to reproduce the problem, as well as expected and actual behavior.

Issues that don't have enough info and can't be reproduced will be closed.

You can read more about issue submission guidelines here: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-submitting-an-issue
-->

## 🔥 Exception or Error
<pre><code>
Unsupported event target null for event activated
</code></pre>


## 🌍  Your Environment

**Angular Version:**
<pre><code>
platform-browser: 7.0.3
</code></pre>

**Anything else relevant?**
<!-- ✍️Is this a browser specific issue? If so, please specify the browser and version. -->

<!-- ✍️Do any of these matter: operating system, IDE, package manager, HTTP server, ...? If so, please mention it below. -->
Repository: pytorch
Issue: new_zeros is not traced correctly
Labels: oncall: jit,good first issue,triaged

## 🐛 Bug

If the model contains tensor.new_zeros, the tracer only generates a constant tensor. However, we expect it generates the right zero operator/function.

## To Reproduce

```
import torch
from torch import nn
from torch import jit
from torch.nn.utils.rnn import pack_padded_sequence, pad_packed_sequence

EMBEDDING_SIZE = 3
VOCAB_SIZE = 20
LSTM_SIZE = 5

class Model(nn.Module):
    def __init__(self):
        super().__init__()
        self.embedding = nn.Embedding(VOCAB_SIZE, EMBEDDING_SIZE)
        self.lstm = nn.LSTM(EMBEDDING_SIZE, LSTM_SIZE, num_layers=1, bidirectional=True)
        
    def forward(self, tokens, seq_lengths):
        embedded = self.embedding(tokens)
        
        rnn_input = pack_padded_sequence(
            embedded, seq_lengths.int(), batch_first=True,
        )
        
        rep, unused_state = self.lstm(rnn_input)
        
        unpacked, _ = pad_packed_sequence(
            rep,
            padding_value=0.0,
            batch_first=True,
            total_length=embedded.size(1),
        )
        
        return unpacked

trace_input = (
    torch.LongTensor([[1], [1]]),
    torch.LongTensor([1, 1]),
)
test_input = (
    torch.LongTensor([[1, 2, 3, 4]]),
    torch.LongTensor([4]),
)

model = Model()
model(*trace_input)
model(*test_input)

traced = jit.trace(model, trace_input)
traced(*trace_input)
traced(*test_input)  # trigger the problem, since the hidden state is constant, doesn't match the batch size.
```


## Expected behavior

The above code should work, however, the hx in the RNN module is traced as constant, so it won't work on different batch size.



cc: @jamesr66a @pritamdamania 


cc @suo
Repository: pytorch
Issue: Reduce fragmentation with CUDA caching allocator when using many streams
Labels: module: cuda,module: memory usage,triaged

At the moment, once we retrieve a block from `cudaMalloc` for the CUDA caching allocator, it is permanently associated with whatever stream was current at the time it was allocated. Even if it is subsequently split, all splits of the block live on the same stream. This means that if you have a program which uses many streams, you will have a much greater amount of fragmentation, scaled with the number of streams you use. On some internal Caffe2 video processing workflows, we have noticed that this fragmentation is the difference between OOM and a successful run.

It would be good if we could reduce fragmentation in these cases. The reason we permanently associate blocks with streams is because we try not to record an event (to tell when stream computation has finished) in the common case that someone frees a block. Without an event, we have no way of knowing when computation on the stream has finished; thus, it is only safe to reuse the block if we are returning it on the same stream (which will cause us to setup the correct ordering). 

Related: #1529

CC @zheng-xq

cc @ngimel
Repository: angular
Issue: Add documentation for zone.js in Angular
Labels: effort2: days,freq2: medium,state: community,P3,area: docs

<!--🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅

Oh hi there! 😄

To expedite issue processing please search open and closed issues before submitting a new one.
Existing issues often contain information about workarounds, resolution, or progress updates.

🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅🔅-->

# 📚 Docs or angular.io bug report

### Description

I'm new to angular but familiar with rxjs. I was caught by surprise when I sent a value through an observable (subject) via the console, but the change was not reflected on the screen. At the end of a lot of searching and learning, I ran across this link that fixed the issue for me whereby I could enable zone patches in the angular polyfill.ts file: [https://stackoverflow.com/questions/50784775/purpose-of-zone-js-dist-zone-patch-rxjs](https://stackoverflow.com/questions/50784775/purpose-of-zone-js-dist-zone-patch-rxjs).

It would be nice if the docs mentioned something to the effect of `vanilla rxjs is being used, the UI change detection is being managed by zones.js, and if you'd like your rxjs pipelines to be zone-aware, enable this patch in the polyfill.ts`. Or if there are any side-effects of doing so, document what those are.

Or maybe include them in the polyfill.ts project template:

```typescript
/***************************************************************************************************
 * Zone JS is required by Angular itself.
 */
import 'zone.js/dist/zone';  // Included with Angular CLI.

// uncomment below to make sure that rx streams are zone-aware and change detection gets properly triggered
//import 'zone.js/dist/zone-patch-rxjs';
//import 'zone.js/dist/zone-patch-rxjs-fake-async';
```

## 🔬 Minimal Reproduction

### What's the affected URL?

https://stackblitz.com/edit/angular-jasonkenneth-iybrkf?file=src%2Fapp%2Fasync-pipe%2Fasync-pipe.component.ts
Repository: rust
Issue: Add lints for all common traits
Labels: A-lints,T-compiler,C-feature-request

The [interoperability API guidelines](https://rust-lang-nursery.github.io/api-guidelines/interoperability.html#c-common-traits) suggest that all of the following traits should be eagerly implemented for types where it's appropriate:

 * `Copy`
 * `Clone`
 * `Eq`
 * `PartialEq`
 * `Ord`
 * `PartialOrd`
 * `Hash`
 * `Debug`
 * `Display`
 * `Default`

Both `Debug` and `Copy` have corresponding `missing_${TRAIT}_implementations` lints in `rustc` for checking that they exist. These lints have recently become of interest for `libc` because of [RFC2235](https://github.com/rust-lang/rfcs/blob/master/text/2235-libc-struct-traits.md). However, since some of these traits rely on manual implementations, it'd be useful to have lints to fail CI should any desired lints be missed in a PR.

Given that two of these lints already exist and the API guidelines lay out a clear standard practice, I'm not certain if an RFC is required to add the rest of these lints, so I'm raising this issue. My plan is to work through adding the lints for `Clone`, `Eq`, `Hash`, and `PartialEq`, as they're required for rust-lang/libc#1217.
Repository: TypeScript
Issue: Relations based on variance markers do not take into account parameters used as key types.
Labels: Bug

<!-- 🚨 STOP 🚨 𝗦𝗧𝗢𝗣 🚨 𝑺𝑻𝑶𝑷 🚨

Half of all issues filed here are duplicates, answered in the FAQ, or not appropriate for the bug tracker. Even if you think you've found a *bug*, please read the FAQ first, especially the Common "Bugs" That Aren't Bugs section!

Please help us by doing the following steps before logging an issue:
  * Search: https://github.com/Microsoft/TypeScript/search?type=Issues
  * Read the FAQ: https://github.com/Microsoft/TypeScript/wiki/FAQ

Please fill in the *entire* template below.
-->

<!-- Please try to reproduce the issue with `typescript@next`. It may have already been fixed. -->
**TypeScript Version:**  3.3

**Code**

```ts
type Record2<K extends keyof any, T> = {
    [P in K]: T;
};

function defaultRecord(x: Record<'a', string>, y: Record<string, string>) {
    x = y; // no error, but error expected.
}

function customRecord(x: Record2<'a', string>, y: Record2<string, string>) {
    x = y; // no error, but error expected.
}

function mixed1(x: Record2<'a', string>, y: Record<string, string>) {
    x = y; // error
}

function mixed2(x: Record<'a', string>, y: Record2<string, string>) {
    x = y; // error
}
```


**Playground Link:** [link](https://www.typescriptlang.org/play/#src=type%20Record2%3CK%20extends%20keyof%20any%2C%20T%3E%20%3D%20%7B%0A%20%20%20%20%5BP%20in%20K%5D%3A%20T%3B%0A%7D%3B%0A%0Afunction%20defaultRecord(x%3A%20Record%3C'a'%2C%20string%3E%2C%20y%3A%20Record%3Cstring%2C%20string%3E)%20%7B%0A%20%20%20%20x%20%3D%20y%3B%20%2F%2F%20no%20error%2C%20but%20error%20expected.%0A%7D%0A%0Afunction%20customRecord(x%3A%20Record2%3C'a'%2C%20string%3E%2C%20y%3A%20Record2%3Cstring%2C%20string%3E)%20%7B%0A%20%20%20%20x%20%3D%20y%3B%20%2F%2F%20no%20error%2C%20but%20error%20expected.%0A%7D%0A%0Afunction%20mixed1(x%3A%20Record2%3C'a'%2C%20string%3E%2C%20y%3A%20Record%3Cstring%2C%20string%3E)%20%7B%0A%20%20%20%20x%20%3D%20y%3B%20%2F%2F%20error%0A%7D%0A%0Afunction%20mixed2(x%3A%20Record%3C'a'%2C%20string%3E%2C%20y%3A%20Record2%3Cstring%2C%20string%3E)%20%7B%0A%20%20%20%20x%20%3D%20y%3B%20%2F%2F%20error%0A%7D)

**Related Issues:** #28798 <!-- Did you find other bugs that looked similar? -->
Repository: rust
Issue: Expand implicit conversion of functions to function pointers
Labels: A-trait-system,T-lang,C-feature-request,A-coercions

(I'm not sure if this requires a RFC, if so please let me know.)

Allow implicit conversion of functions to function pointers when trait is implemented on a function pointer. The code below shows the problem I'm having.

Calling `accepts_fn` works fine today, however calling `accepts_my_fn` doesn't work, even though the `MyFn` trait is implementation for function pointers. To make it work a explicit conversion (`as fn(_) -> _`) is required. This seems a bit surprising that in one instance a function in implicitly converted and another instance it is not.

```rust
   fn add1(n: usize) -> usize {
    n + 1
}

fn accepts_fn(f: fn(usize) -> usize) -> usize {
    f(1)
}

trait MyFn {
    fn call(&mut self, n: usize) -> usize;
}

impl MyFn for fn(usize) -> usize {
    fn call(&mut self, n: usize) -> usize {
        (self)(n)
    }
}

fn accepts_my_fn<F: MyFn>(mut f: F) -> usize {
    f.call(2)
}

fn main() {
    let n = accepts_fn(add1);
    println!("n: {}", n);
    
    // This doesn't work.
    //let n = accepts_my_fn(add1);
    
    // We need explicit conversion.
    let n = accepts_my_fn(add1 as fn(_) -> _);
    println!("n: {}", n);
}
```

([playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=04a590eb70e99a78b14f2368c2bb7a41))
Repository: kubernetes
Issue: TTL support for ConfigMaps tied to job completion
Labels: sig/api-machinery,kind/feature,sig/apps,lifecycle/frozen

/sig api-machinery

<!-- Please only use this template for submitting enhancement requests -->

**What would you like to be added**:

Ability to set ConfigMap lifecycle to delete after the completion of a Job resource object. 

**Why is this needed**:

Job objects are inherently ephemeral. And support for this is included by the TTL controller. Otherwise given enough time the API would become littered with the corpses of long-dead jobs.

But Jobs frequently need ConfigMap objects built specifically for that single job instance. For example if we want to run the job with a given file as input. Without any support for pruning these job-unique ConfigMaps the same problem occurs. Even if the dead jobs are culled, their corresponding ConfigMaps aren't.