Stream: t-compiler

Topic: idea: a label per feature gate


nikomatsakis (Jun 12 2019 at 15:06, on Zulip):

It feels like it would be useful to have labels for each feature gate. This would let us tag issues with the feature-gates needed to reproduce them -- it would make it easier, I think, to find all the related issues to a stabilization. Thoughts @pnkfelix, @centril, @simulacrum?

simulacrum (Jun 12 2019 at 15:07, on Zulip):

It's definitely something I've considered/wanted in the past

centril (Jun 12 2019 at 15:07, on Zulip):

it's a lot of feature gates

simulacrum (Jun 12 2019 at 15:07, on Zulip):

Presumably we could even automate the process via triagebot

centril (Jun 12 2019 at 15:07, on Zulip):

that said our labeling system has way too few labels

centril (Jun 12 2019 at 15:08, on Zulip):

@nikomatsakis should we do this for every feature gate or just the ones we expect are a bit larger?

simulacrum (Jun 12 2019 at 15:08, on Zulip):

I think it only makes sense if we have it for every feature gate since then it's "the way" to label bugs

simulacrum (Jun 12 2019 at 15:09, on Zulip):

(and can be associated with tracking issues, etc. ~100% of the time)

centril (Jun 12 2019 at 15:09, on Zulip):

@simulacrum OK so practically speaking this means that @centril adds a new label when a new tracking issue is made?

centril (Jun 12 2019 at 15:10, on Zulip):

or when does this happen? when the feature gate is added?

simulacrum (Jun 12 2019 at 15:10, on Zulip):

yeah, I'd say that we wait for triagebot -- I think I should have some time today, it seem viable that such a feature could be implemented ~today

simulacrum (Jun 12 2019 at 15:11, on Zulip):

or at least by, say, Friday

simulacrum (Jun 12 2019 at 15:11, on Zulip):

We have 367 tracking issues open, but I don't know how many of those are directly associated with a feature gate

centril (Jun 12 2019 at 15:11, on Zulip):

not all of them

centril (Jun 12 2019 at 15:12, on Zulip):

or even most

centril (Jun 12 2019 at 15:12, on Zulip):

@simulacrum what do you mean by "wait for triagebot"?

centril (Jun 12 2019 at 15:12, on Zulip):

what is needed from triagebot?

simulacrum (Jun 12 2019 at 15:14, on Zulip):

I'm thinking

@rustbot create tracking issue for bar_bar
@rustbot associate tracking issue with bar_bar
simulacrum (Jun 12 2019 at 15:15, on Zulip):

we'd need to encode the template for tracking issues into triagebot but that doesn't seem too hard (and it could be edited afterwards)

simulacrum (Jun 12 2019 at 15:15, on Zulip):

the create tracking issue would open an issue, create a label with a description that points to the issue number, and leave it at that

nikomatsakis (Jun 12 2019 at 15:16, on Zulip):

it should probably be considered as part of an overhaul -- it doesn't quite subsume the existing A labels --

nikomatsakis (Jun 12 2019 at 15:16, on Zulip):

however it does seem like unstable and in-progress features are particularly useful to track

nikomatsakis (Jun 12 2019 at 15:16, on Zulip):

we'll just slowly reinvent bugzilla's whole bug dependency system :)

simulacrum (Jun 12 2019 at 15:17, on Zulip):

yeah, I think F-{const_fn,atomic_ptr,etc}

nikomatsakis (Jun 12 2019 at 15:19, on Zulip):

one annoying (but useful!) thing will be when we divide a feature gate into two

simulacrum (Jun 12 2019 at 15:20, on Zulip):

sure, you'd need to relabel the associated issues, but I think that's both relatively rare and probably a good thing

centril (Jun 12 2019 at 15:38, on Zulip):

@nikomatsakis In those cases we probably shouldn't relabel

nikomatsakis (Jun 12 2019 at 15:38, on Zulip):

why?

nikomatsakis (Jun 12 2019 at 15:39, on Zulip):

it seems like we clearly should

nikomatsakis (Jun 12 2019 at 15:39, on Zulip):

let me elaborate:

nikomatsakis (Jun 12 2019 at 15:39, on Zulip):

I am imagining that we take a feature gate like impl-trait (say) and we break off one particular part of it

centril (Jun 12 2019 at 15:39, on Zulip):

it's a lot of churn and the splitting into smaller gates may be about administration rather than semantic

nikomatsakis (Jun 12 2019 at 15:39, on Zulip):

it seems like it'd be super useful to then be able to factor out the issues specific to that feature

centril (Jun 12 2019 at 15:39, on Zulip):

@nikomatsakis sometimes :slight_smile:

centril (Jun 12 2019 at 15:39, on Zulip):

I think it's highly contextual

nikomatsakis (Jun 12 2019 at 15:39, on Zulip):

I'm curious what feature gate splits you have in mind that are not semantic

nikomatsakis (Jun 12 2019 at 15:40, on Zulip):

Possibly

nikomatsakis (Jun 12 2019 at 15:40, on Zulip):

That wouldn't surprise me

centril (Jun 12 2019 at 15:40, on Zulip):

@nikomatsakis well the impl Trait bits are semantic in a sense but they are also "small parts making a whole"

centril (Jun 12 2019 at 15:40, on Zulip):

and the reason for the split is administrative

centril (Jun 12 2019 at 15:41, on Zulip):

@simulacrum uhm; It is easy for me to make new labels when I make a new tracking issue

nikomatsakis (Jun 12 2019 at 15:41, on Zulip):

I don't really know what you mea by administrative

centril (Jun 12 2019 at 15:41, on Zulip):

I'm not sure triagebot needs that feature

nikomatsakis (Jun 12 2019 at 15:41, on Zulip):

but I feel like when we're choosing to stabilize etc

nikomatsakis (Jun 12 2019 at 15:41, on Zulip):

we should be able to use these feature gates to find relevant things

nikomatsakis (Jun 12 2019 at 15:41, on Zulip):

and in that case it seems like we absolutely want things re-labeled

simulacrum (Jun 12 2019 at 15:42, on Zulip):

I suppose for now we could do it manually -- my thought is that at some point we'd probably want to do more with the tracking issues then just labels

centril (Jun 12 2019 at 15:42, on Zulip):

@nikomatsakis I suppose yeah; but I'd want both A-impl-trait and F-type-alias-impl-trait on an issue

centril (Jun 12 2019 at 15:43, on Zulip):

to have the larger picture and the smaller part

simulacrum (Jun 12 2019 at 15:43, on Zulip):

I think historically I've wanted to, for example, have triagebot add links to relevant issues to the tracking issue header (sort of like rfcbot concerns)

centril (Jun 12 2019 at 15:43, on Zulip):

@simulacrum If it isn't automated it doesn't seem super worth it

centril (Jun 12 2019 at 15:43, on Zulip):

e.g. if triagebot is going to automatically add labels when a feature gate is mentioned that's one thing

centril (Jun 12 2019 at 15:44, on Zulip):

I feel unless triagebot is going to take over merging RFCs then what is the point of @rustbot create tracking issue for bar_bar ?

centril (Jun 12 2019 at 15:44, on Zulip):

where do you even write that?

simulacrum (Jun 12 2019 at 15:45, on Zulip):

on either an RFC or PR (for libs features, mostly) -- and that gives you crosslinks from that PR to the tracking issue

simulacrum (Jun 12 2019 at 15:45, on Zulip):

maybe this isn't actually all that helpful, I'm not sure

centril (Jun 12 2019 at 15:45, on Zulip):

@simulacrum for PRs maybe yeah; but for RFCs it would need to do a lot for me to be worth it

centril (Jun 12 2019 at 15:46, on Zulip):

basically implement https://github.com/anp/rfcbot-rs/issues/198

centril (Jun 12 2019 at 15:46, on Zulip):

and rfcs don't get merged that often

simulacrum (Jun 12 2019 at 15:47, on Zulip):

sure, I suppose

simulacrum (Jun 12 2019 at 15:47, on Zulip):

if you want to create labels for all the feature gates and manage all that then that seems fine by me, just feels like at least some of it could be automated

centril (Jun 12 2019 at 15:48, on Zulip):

It's not a lot of overhead; I press l on my keyboard and then type in the name of the feature gate and maybe color it a bit; done

centril (Jun 12 2019 at 15:48, on Zulip):

but labeling associated issues is much more work

simulacrum (Jun 12 2019 at 15:49, on Zulip):

but it also seems like necessary work for the labels to be meaningful

centril (Jun 12 2019 at 15:50, on Zulip):

@simulacrum sure; but that's a different command than create

simulacrum (Jun 12 2019 at 15:50, on Zulip):

I guess we can leave that to modify labels for the time being, yes

nikomatsakis (Jun 12 2019 at 15:51, on Zulip):

nikomatsakis I suppose yeah; but I'd want both A-impl-trait and F-type-alias-impl-trait on an issue

I think the A- labels still have a role here, indeed. If nothing else, once things stabilize they don't have a feature gate :)

nikomatsakis (Jun 12 2019 at 15:51, on Zulip):

(Note that feature gate labels would also be useful for prioritzation)

centril (Jun 12 2019 at 15:52, on Zulip):

sgtm then

centril (Jun 12 2019 at 15:52, on Zulip):

@nikomatsakis @simulacrum I'll just need to remember to do this now ^^

simulacrum (Jun 12 2019 at 15:53, on Zulip):

We'll likely want to update triage documentation on forge and mention this in the release team (wg-triage?) meeting next week, and ping dpc on the forge PR

centril (Jun 12 2019 at 15:54, on Zulip):

@simulacrum can you add an agenda item?

simulacrum (Jun 12 2019 at 15:55, on Zulip):

sure

centril (Jun 12 2019 at 15:55, on Zulip):

thanks

Last update: Nov 22 2019 at 05:00UTC