Stream: t-compiler/wg-meta

Topic: meeting 2019.10.03


nikomatsakis (Oct 03 2019 at 18:11, on Zulip):

Hey :wave: @T-compiler/WG-meta -- sorry, was running late today

Santiago Pastorino (Oct 03 2019 at 18:12, on Zulip):

hey, no worries, I was around waiting for your ping

Santiago Pastorino (Oct 03 2019 at 18:12, on Zulip):

I've two PRs of minutes notes

Santiago Pastorino (Oct 03 2019 at 18:13, on Zulip):

in general I'm merging all the minutes notes but the ones I do :)

Santiago Pastorino (Oct 03 2019 at 18:15, on Zulip):

just merged your PR

nikomatsakis (Oct 03 2019 at 18:15, on Zulip):

yeah...some of those I think we should turn into blog posts

nikomatsakis (Oct 03 2019 at 18:15, on Zulip):

on the new inside rust blog :)

nikomatsakis (Oct 03 2019 at 18:15, on Zulip):

but anyway

nikomatsakis (Oct 03 2019 at 18:16, on Zulip):

seems like we are ALMOST ready for the ice-breaking

Santiago Pastorino (Oct 03 2019 at 18:16, on Zulip):

yeah

Santiago Pastorino (Oct 03 2019 at 18:17, on Zulip):

one pending this is https://github.com/rust-lang/team/pull/123

nikomatsakis (Oct 03 2019 at 18:17, on Zulip):

the changes didn't sound that bad

nikomatsakis (Oct 03 2019 at 18:17, on Zulip):

but I got scared when @Pietro Albini talked about integrations

nikomatsakis (Oct 03 2019 at 18:17, on Zulip):

I guess there's a good list of them

nikomatsakis (Oct 03 2019 at 18:18, on Zulip):

I just don't know how that is supposed to be "staged"

nikomatsakis (Oct 03 2019 at 18:18, on Zulip):

maybe we modify the integrations first to add _ cases or whatever

Santiago Pastorino (Oct 03 2019 at 18:18, on Zulip):

but I got scared when Pietro Albini talked about integrations

hehe :)

Santiago Pastorino (Oct 03 2019 at 18:19, on Zulip):

I guess or either we provide a PR or wait for someone (on infra?) to do the work there?

nikomatsakis (Oct 03 2019 at 18:19, on Zulip):

I think maybe it's on us :)

nikomatsakis (Oct 03 2019 at 18:19, on Zulip):

I might enjoy hacking on the team repo a bit actually

nikomatsakis (Oct 03 2019 at 18:20, on Zulip):

well what I was thinking is a good "first PR" would be

nikomatsakis (Oct 03 2019 at 18:20, on Zulip):

to add #[non_exhaustive] to this enum

nikomatsakis (Oct 03 2019 at 18:20, on Zulip):

and propagate that

nikomatsakis (Oct 03 2019 at 18:20, on Zulip):

to add #[non_exhaustive] to this enum

did we stabilize this @centril I forget by now :)

nikomatsakis (Oct 03 2019 at 18:20, on Zulip):

or @davidtwco

davidtwco (Oct 03 2019 at 18:20, on Zulip):

Not yet.

davidtwco (Oct 03 2019 at 18:21, on Zulip):

PR is open.

davidtwco (Oct 03 2019 at 18:21, on Zulip):

I’ve got another PR to do relating to the interaction with improper_ctypes

Santiago Pastorino (Oct 03 2019 at 18:23, on Zulip):

@nikomatsakis unsure if I got what you meant right, do you want me to provide the non_exhaustive PR or are you doing so?

nikomatsakis (Oct 03 2019 at 18:24, on Zulip):

either way, really

nikomatsakis (Oct 03 2019 at 18:25, on Zulip):

probably better if you do it :)

Santiago Pastorino (Oct 03 2019 at 18:25, on Zulip):

:)

nikomatsakis (Oct 03 2019 at 18:25, on Zulip):

well, I have the PR to add #[non_exhaustive]

Santiago Pastorino (Oct 03 2019 at 18:25, on Zulip):

:+1:

nikomatsakis (Oct 03 2019 at 18:25, on Zulip):

that's easy

nikomatsakis (Oct 03 2019 at 18:25, on Zulip):

right now it does require a feature gate tho

nikomatsakis (Oct 03 2019 at 18:25, on Zulip):

not sure if @Pietro Albini cares about that

nikomatsakis (Oct 03 2019 at 18:25, on Zulip):

plus there are the integrations

nikomatsakis (Oct 03 2019 at 18:26, on Zulip):

it looks like they are just git dependencies

nikomatsakis (Oct 03 2019 at 18:26, on Zulip):

so probably we have to (a) land the PR then (b) cargo update -p those dependencies and fix the fallout?

nikomatsakis (Oct 03 2019 at 18:26, on Zulip):

I didn't check if they have lock files, but one hopes

Santiago Pastorino (Oct 03 2019 at 18:27, on Zulip):

:+1:

nikomatsakis (Oct 03 2019 at 18:28, on Zulip):

heh well https://github.com/rust-lang-nursery/rustc-perf/tree/master/site doesn't appear to?

nikomatsakis (Oct 03 2019 at 18:28, on Zulip):

oh wait yes it does

nikomatsakis (Oct 03 2019 at 18:29, on Zulip):

@Santiago Pastorino if you're up for that, I say go for it, seems like you might as well roll those changes into your original PR then

Santiago Pastorino (Oct 03 2019 at 18:29, on Zulip):

yep

Santiago Pastorino (Oct 03 2019 at 18:29, on Zulip):

gonna do that

Santiago Pastorino (Oct 03 2019 at 18:29, on Zulip):

also the non_exhaustive?

Santiago Pastorino (Oct 03 2019 at 18:29, on Zulip):

I can do that also

Santiago Pastorino (Oct 03 2019 at 18:30, on Zulip):

just trying to be sure we don't collide on the same stuff

nikomatsakis (Oct 03 2019 at 18:31, on Zulip):

also the non_exhaustive?

yes, I would do it in your same PR

nikomatsakis (Oct 03 2019 at 18:31, on Zulip):

that will force the integrations to write code that is fwd compatible with more additions to the enum

nikomatsakis (Oct 03 2019 at 18:31, on Zulip):

"hey, features working as designed"

nikomatsakis (Oct 03 2019 at 18:31, on Zulip):

well, I guess there's a question if that's good :)

nikomatsakis (Oct 03 2019 at 18:31, on Zulip):

but I guess at worst the website can just panic

Santiago Pastorino (Oct 03 2019 at 18:35, on Zulip):

yep, I'm already adding some bits of code :)

Santiago Pastorino (Oct 03 2019 at 18:42, on Zulip):

do you guys have a better name for marker-team? :P, can't come with anything

Santiago Pastorino (Oct 03 2019 at 18:42, on Zulip):

it's like a low-traffic-team

Santiago Pastorino (Oct 03 2019 at 18:42, on Zulip):

unsure if there's a nice word to represent the intention in english

Pietro Albini (Oct 03 2019 at 21:00, on Zulip):

:wave:

Santiago Pastorino (Oct 03 2019 at 21:00, on Zulip):

:hi: pietro

Pietro Albini (Oct 03 2019 at 21:01, on Zulip):

so, about the feature gate

Pietro Albini (Oct 03 2019 at 21:01, on Zulip):

for now a __NonExaustive variant would be better

Pietro Albini (Oct 03 2019 at 21:01, on Zulip):

as adding the feature gate on the rust_team_data would force every integration to switch to nightly

Santiago Pastorino (Oct 03 2019 at 21:01, on Zulip):

yep

Pietro Albini (Oct 03 2019 at 21:02, on Zulip):

and at the moment I think only triagebot is on nightly

Santiago Pastorino (Oct 03 2019 at 21:02, on Zulip):

makes sense

Pietro Albini (Oct 03 2019 at 21:02, on Zulip):

I'll review the PR when I'm actually awake :upside_down:

Santiago Pastorino (Oct 03 2019 at 21:02, on Zulip):

for now a __NonExaustive variant would be better

what do you mean by __NonExaustive?

Santiago Pastorino (Oct 03 2019 at 21:02, on Zulip):

to be clear about that

Pietro Albini (Oct 03 2019 at 21:02, on Zulip):

just a variant named that way

Pietro Albini (Oct 03 2019 at 21:02, on Zulip):

or a similar name

Santiago Pastorino (Oct 03 2019 at 21:03, on Zulip):

I guess you want me to add that variant to the enum and go over all the different crates that use the team repo to just do not do a match on it?

Pietro Albini (Oct 03 2019 at 21:03, on Zulip):

yeah

Santiago Pastorino (Oct 03 2019 at 21:03, on Zulip):

or match but always use a fallback?

Pietro Albini (Oct 03 2019 at 21:04, on Zulip):

basically going over the integrations and making sure they all have a default branch in the match

simulacrum (Oct 03 2019 at 21:05, on Zulip):

I personally don't think it is a _requirement_ to fix everyone

simulacrum (Oct 03 2019 at 21:05, on Zulip):

obviously it'd be appreciated :)

Pietro Albini (Oct 03 2019 at 21:05, on Zulip):

how does serde handle unknown variants when deserializing?

Pietro Albini (Oct 03 2019 at 21:05, on Zulip):

(don't remember off the top of my head)

simulacrum (Oct 03 2019 at 21:06, on Zulip):

ah, error? you can have a #[serde(other)] though I think

simulacrum (Oct 03 2019 at 21:06, on Zulip):

Deserialize this variant if the enum tag is anything other than the tag of one of the other variants in this enum. Only allowed on a unit variant inside of an internally tagged or adjacently tagged enum.

simulacrum (Oct 03 2019 at 21:07, on Zulip):

which looks like that's not the default unfortunately (i.e., we don't have an internal/adjacent tag most likely)

Pietro Albini (Oct 03 2019 at 21:07, on Zulip):

yeah but if we add a variant with #[serde(other)]] we'll still need to add a default match to every integration

Pietro Albini (Oct 03 2019 at 21:08, on Zulip):

I guess naming it Unknown instead of __NonExaustive and marking it #[serde(other)] would be even better

simulacrum (Oct 03 2019 at 21:08, on Zulip):

I think we need to make sure that integrations don't break before they're redeployed

simulacrum (Oct 03 2019 at 21:08, on Zulip):

I'm saying that #[serde(other)] won't work without more changes anyway

simulacrum (Oct 03 2019 at 21:08, on Zulip):

we're not adjacently or internally tagged

Pietro Albini (Oct 03 2019 at 21:09, on Zulip):

ok, so

Santiago Pastorino (Oct 03 2019 at 21:10, on Zulip):

just pushed https://github.com/rust-lang/team/pull/123

Pietro Albini (Oct 03 2019 at 21:11, on Zulip):

what we should do is to send two PRs: the first add the support for MarkerTeam and the non exaustive thingy

Pietro Albini (Oct 03 2019 at 21:11, on Zulip):

then we update all the integrations

Pietro Albini (Oct 03 2019 at 21:11, on Zulip):

and finally we add the icebreakers team, once all the integrations are updated to properly understand the new variant

Santiago Pastorino (Oct 03 2019 at 21:11, on Zulip):

yeah I think so

Santiago Pastorino (Oct 03 2019 at 21:12, on Zulip):

seems good I can leave that PR there and open a new one with just the MarkerTeam stuff

Pietro Albini (Oct 03 2019 at 21:12, on Zulip):

:thumbs_up:

Pietro Albini (Oct 03 2019 at 21:12, on Zulip):

I'll review it tomorrow

Santiago Pastorino (Oct 03 2019 at 21:13, on Zulip):

basically you meant a first PR that just updates rust_team_data and leave the src part for a later PR

Santiago Pastorino (Oct 03 2019 at 21:13, on Zulip):

right?

Pietro Albini (Oct 03 2019 at 21:13, on Zulip):

we can have the src part on the first PR as well

Pietro Albini (Oct 03 2019 at 21:14, on Zulip):

we just can't have the actual team

Santiago Pastorino (Oct 03 2019 at 21:14, on Zulip):

ok

Pietro Albini (Oct 03 2019 at 21:15, on Zulip):

thank god the team kind is the only enum in the static api

Pietro Albini (Oct 03 2019 at 21:15, on Zulip):

so we won't have to do this mess ever again

Santiago Pastorino (Oct 03 2019 at 21:16, on Zulip):

:+1:

Santiago Pastorino (Oct 03 2019 at 21:17, on Zulip):

@Pietro Albini done https://github.com/rust-lang/team/pull/135

Santiago Pastorino (Oct 03 2019 at 21:19, on Zulip):

and then the old PR is back to just adding the team https://github.com/rust-lang/team/pull/123

Pietro Albini (Oct 04 2019 at 13:14, on Zulip):

@Santiago Pastorino the "it's not a marker team" is more for me to remember not to merge that PR as soon as the other is ready

Pietro Albini (Oct 04 2019 at 13:15, on Zulip):

I know you can't act on it right now while keeping CI green

Santiago Pastorino (Oct 04 2019 at 13:16, on Zulip):

I can make that PR be ready to be merge for once the other is merged so I can do marker-team = true there

Santiago Pastorino (Oct 04 2019 at 13:20, on Zulip):

@Pietro Albini done

Pietro Albini (Oct 04 2019 at 13:20, on Zulip):

@Santiago Pastorino also done!

Pietro Albini (Oct 04 2019 at 13:20, on Zulip):

you can rebase

Santiago Pastorino (Oct 04 2019 at 13:27, on Zulip):

done

Last update: Nov 18 2019 at 00:40UTC