Stream: t-lang/wg-unsafe-code-guidelines

Topic: meeting 2018-11-15


nikomatsakis (Nov 15 2018 at 16:16, on Zulip):

Creating a topic with the correct date =)

cc @WG-unsafe-code-guidelines -- @avadacatavra you going to run?

avadacatavra (Nov 15 2018 at 16:16, on Zulip):

Helloooo everyone :) Welcome to today's edition of Diane's jetlagged meeting

Alan Jeffrey (Nov 15 2018 at 16:16, on Zulip):

Hi everyone!

Nicole Mazzuca (Nov 15 2018 at 16:16, on Zulip):

I'll be a little quiet until I finish brushing my teeth

Nicole Mazzuca (Nov 15 2018 at 16:16, on Zulip):

(hi)

RalfJ (Nov 15 2018 at 16:17, on Zulip):

Hi!

avadacatavra (Nov 15 2018 at 16:17, on Zulip):

Today, I have a few things I want to cover:

avadacatavra (Nov 15 2018 at 16:17, on Zulip):

@nikomatsakis do you have anything to add?

Nicole Mazzuca (Nov 15 2018 at 16:18, on Zulip):

function pointer manual (transmute) casts

RalfJ (Nov 15 2018 at 16:18, on Zulip):

next discussion topic? (validity invariants)

avadacatavra (Nov 15 2018 at 16:19, on Zulip):

Are we officially discussing validity invariants now? I've been in SF and totally out of it...(hence my desire to discuss better ways for updates lol)

RalfJ (Nov 15 2018 at 16:20, on Zulip):

well not yet but I thought the plan was to switch today

Nicole Mazzuca (Nov 15 2018 at 16:20, on Zulip):

also, do we guarantee sizeof(void*) = sizeof(T*) forall T?

RalfJ (Nov 15 2018 at 16:20, on Zulip):

but I guess we first have to see where we stand on layout

avadacatavra (Nov 15 2018 at 16:20, on Zulip):

/me hasn't opened her PR for her topics...

nikomatsakis (Nov 15 2018 at 16:20, on Zulip):

that sounds about right

avadacatavra (Nov 15 2018 at 16:21, on Zulip):

Ok, so first, let's talk about meeting logistics

nikomatsakis (Nov 15 2018 at 16:21, on Zulip):

I'd like to "close up" with current topic and move to validity invariants

nikomatsakis (Nov 15 2018 at 16:21, on Zulip):

(however, I think we are supposed to prep a PR giving basic background, in order to do that)

avadacatavra (Nov 15 2018 at 16:22, on Zulip):

How does everyone feel about making the meeting weekly, so that spontaneous cancellation is less impactful?

nikomatsakis (Nov 15 2018 at 16:22, on Zulip):

I am in favor

nikomatsakis (Nov 15 2018 at 16:22, on Zulip):

(hopefully we can keep them short)

gnzlbg (Nov 15 2018 at 16:22, on Zulip):

I abstain - EDIT: don't mind much about this.

avadacatavra (Nov 15 2018 at 16:23, on Zulip):

One option would be to alternate times as well (e.g. have one week at this time, and another at a different time that might be more convenient for others)

RalfJ (Nov 15 2018 at 16:23, on Zulip):

do we have enough to talk about, weekly?

nikomatsakis (Nov 15 2018 at 16:23, on Zulip):

unclear

nikomatsakis (Nov 15 2018 at 16:23, on Zulip):

but i'd also be ok with "use that time to catch up on comments" :P

avadacatavra (Nov 15 2018 at 16:24, on Zulip):

@RalfJ you don't want to talk to me once a week? :(

nikomatsakis (Nov 15 2018 at 16:24, on Zulip):

it's definitely hard for me to be good about catching up on threads, which is just a challenge with async communication in general... the one thing I would like to try to avoid is devolving into "all conversations happen during meetings"

nikomatsakis (Nov 15 2018 at 16:24, on Zulip):

(which is partly why I suggested 2 weeks in the first place, to make that harder)

avadacatavra (Nov 15 2018 at 16:24, on Zulip):

But, more to the point, we're figuring things out as we go along and we can always change our minds again

RalfJ (Nov 15 2018 at 16:24, on Zulip):

yeah I am sure we'd be able to fill any number of meetings per week

RalfJ (Nov 15 2018 at 16:25, on Zulip):

question is just if that's a good use of our time

avadacatavra (Nov 15 2018 at 16:25, on Zulip):

I remain dedicated to short meetings that don't devolve into the weeds

RalfJ (Nov 15 2018 at 16:25, on Zulip):

but I guess since we only have 30min meetings usually, once a week should be good? no idea, no experience with this^^

nikomatsakis (Nov 15 2018 at 16:25, on Zulip):

it does seem like the current "every 2 weeks" is leading to a glacial pace to me

nikomatsakis (Nov 15 2018 at 16:26, on Zulip):

or it's at least a contributing factor

avadacatavra (Nov 15 2018 at 16:26, on Zulip):

Sounds good--so we'll do weekly meetings

RalfJ (Nov 15 2018 at 16:26, on Zulip):

okay sure let's try once a week then

avadacatavra (Nov 15 2018 at 16:27, on Zulip):

Ok, next agenda item--anyone want to give me a high-level update on threads/discussions?

RalfJ (Nov 15 2018 at 16:27, on Zulip):

which threads are even still open?

RalfJ (Nov 15 2018 at 16:28, on Zulip):

seems like structs and unions are the only ones done

nikomatsakis (Nov 15 2018 at 16:28, on Zulip):

yeah :(

avadacatavra (Nov 15 2018 at 16:28, on Zulip):

what about the discussions that have been happening in zulip?

nikomatsakis (Nov 15 2018 at 16:28, on Zulip):

status of the fn ptr PR?

nikomatsakis (Nov 15 2018 at 16:28, on Zulip):

I was reviewing it a bit

nikomatsakis (Nov 15 2018 at 16:29, on Zulip):

(also, @gnzlbg, you were working on the C platform thing, do you feel that's orthogonal? should we open a PR for that?)

nikomatsakis (Nov 15 2018 at 16:29, on Zulip):

(but haven't finished)

nikomatsakis (Nov 15 2018 at 16:29, on Zulip):

I would be up to tackle enums, but I'm also ok if we want to move to semantic invariants and come back to it? seems like we're betraying the point of focusing :)

avadacatavra (Nov 15 2018 at 16:29, on Zulip):

Let's start the discussions while finishing up the PRs

RalfJ (Nov 15 2018 at 16:29, on Zulip):

enums seem important

avadacatavra (Nov 15 2018 at 16:29, on Zulip):

FEARLESS CONCURRENCY

gnzlbg (Nov 15 2018 at 16:30, on Zulip):

no, i've closed the PR, I think that once we finish talking about layout and representation, we should maybe create a document containing everything that we require from C

RalfJ (Nov 15 2018 at 16:30, on Zulip):

we should at least have someone assigned for the remaining topics

gnzlbg (Nov 15 2018 at 16:30, on Zulip):

@Gankro felt that this is something worth repeating, and that writing that up might discover holes in the other documents

gnzlbg (Nov 15 2018 at 16:31, on Zulip):

bool, integer, and floating-point representation needs a document

RalfJ (Nov 15 2018 at 16:31, on Zulip):

and there's like 9 open issues in topic-repr

avadacatavra (Nov 15 2018 at 16:31, on Zulip):

I'm working on the bool/integer/fp one

RalfJ (Nov 15 2018 at 16:31, on Zulip):

so should we go over https://github.com/rust-rfcs/unsafe-code-guidelines/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Atopic-repr ?

RalfJ (Nov 15 2018 at 16:31, on Zulip):

bool isn't even in that list...

Nicole Mazzuca (Nov 15 2018 at 16:31, on Zulip):

@nikomatsakis basically, I want to know three things before I merge

Nicole Mazzuca (Nov 15 2018 at 16:31, on Zulip):

is void* = T* on an abi level

Nicole Mazzuca (Nov 15 2018 at 16:32, on Zulip):

can you transmute<fn(*const T), fn(*const ())>(x)(p)

gnzlbg (Nov 15 2018 at 16:32, on Zulip):

*T is always thin right ?

RalfJ (Nov 15 2018 at 16:32, on Zulip):

no

Nicole Mazzuca (Nov 15 2018 at 16:32, on Zulip):

in this case yeah

Nicole Mazzuca (Nov 15 2018 at 16:32, on Zulip):

but not in general

Nicole Mazzuca (Nov 15 2018 at 16:32, on Zulip):

assume Sized t

gnzlbg (Nov 15 2018 at 16:32, on Zulip):

ok

Nicole Mazzuca (Nov 15 2018 at 16:33, on Zulip):

and can we transmute<fn(&mut T), fn(&T)>(x)(r)

nikomatsakis (Nov 15 2018 at 16:33, on Zulip):

can you transmute<fn(*const T), fn(*const ())>(x)(p)

so there are two questions here:

right? I think the answer to the first is "yes", and probably the second, but that seems like the next focus area

RalfJ (Nov 15 2018 at 16:33, on Zulip):

@Nicole Mazzuca so can you write that up in the PR? AFAIK for the other topics we usually left such things as open questions, we didn't actually make many decisions but mostly documented options, consequences and what people de-facto rely on

nikomatsakis (Nov 15 2018 at 16:33, on Zulip):

(was going to say the same, that prob best to hash it out in the PR)

nikomatsakis (Nov 15 2018 at 16:33, on Zulip):

but it's good to highlight the issues

Nicole Mazzuca (Nov 15 2018 at 16:33, on Zulip):

alright cool, I'll make sure to write it up in unresolved questions and then merge

nikomatsakis (Nov 15 2018 at 16:33, on Zulip):

and remind all of us to go and answer :)

avadacatavra (Nov 15 2018 at 16:34, on Zulip):

Beautiful

avadacatavra (Nov 15 2018 at 16:34, on Zulip):

Ok, so we'll actually finish those up

nikomatsakis (Nov 15 2018 at 16:34, on Zulip):

(and yep I think we should lean on unesolved as needed to make progress)

avadacatavra (Nov 15 2018 at 16:34, on Zulip):

And switch officially to validity invariants

RalfJ (Nov 15 2018 at 16:34, on Zulip):

(and yep I think we should lean on unesolved as needed to make progress)

I got some thoughts on the transmute-then-call thing, will comment when I see it appear in your PR

nikomatsakis (Nov 15 2018 at 16:34, on Zulip):

I guess it's time to ensure, as @RalfJ said, that everything has someone assigned

nikomatsakis (Nov 15 2018 at 16:35, on Zulip):

i'd really really like to finish this up

nikomatsakis (Nov 15 2018 at 16:35, on Zulip):

oh before that

nikomatsakis (Nov 15 2018 at 16:35, on Zulip):

I think we can merge https://github.com/rust-rfcs/unsafe-code-guidelines/pull/43 ?

nikomatsakis (Nov 15 2018 at 16:35, on Zulip):

it seems to be a small addition by @RalfJ

avadacatavra (Nov 15 2018 at 16:35, on Zulip):

wfm

RalfJ (Nov 15 2018 at 16:35, on Zulip):

yeah I was told to write that 3 weeks ago, so I did^^

avadacatavra (Nov 15 2018 at 16:35, on Zulip):

/me done

RalfJ (Nov 15 2018 at 16:36, on Zulip):

so @avadacatavra we can assign int+float to you?

nikomatsakis (Nov 15 2018 at 16:36, on Zulip):

no, i've closed the PR, I think that once we finish talking about layout and representation, we should maybe create a document containing everything that we require from C

btw @gnzlbg maybe move to an issue?

RalfJ (Nov 15 2018 at 16:36, on Zulip):

is bool in that same issue (so it should get renamed)?

avadacatavra (Nov 15 2018 at 16:36, on Zulip):

@RalfJ yes

nikomatsakis (Nov 15 2018 at 16:36, on Zulip):

(oh, I guess that is already done, https://github.com/rust-rfcs/unsafe-code-guidelines/issues/44)

nikomatsakis (Nov 15 2018 at 16:37, on Zulip):

I'll tackle https://github.com/rust-rfcs/unsafe-code-guidelines/issues/10

avadacatavra (Nov 15 2018 at 16:37, on Zulip):

Beautiful

nikomatsakis (Nov 15 2018 at 16:37, on Zulip):

if nobody else wants to :)

avadacatavra (Nov 15 2018 at 16:37, on Zulip):

I'm also writing a brief introduction

nikomatsakis (Nov 15 2018 at 16:37, on Zulip):

that leaves https://github.com/rust-rfcs/unsafe-code-guidelines/issues/16 ?

nikomatsakis (Nov 15 2018 at 16:37, on Zulip):

at least the writeup-needed label has that + intro as unassigned

RalfJ (Nov 15 2018 at 16:38, on Zulip):

I see still 5 unassigned issues in topic-repr^^

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

/me nomintes @Alan Jeffrey :P

RalfJ (Nov 15 2018 at 16:38, on Zulip):

ZST, single-field, vectors

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

I see still 5 unassigned issues in topic-repr^^

well, they don't necessarily all have to be fully resolved, right?

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

at least I imagined some things would linger as undecided questions

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

to be revisited

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

but I'm not sure if that's the best procedure

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

I also think maybe we can resolve some of them

RalfJ (Nov 15 2018 at 16:38, on Zulip):

okay? no idea, I am not following those very closely. they are far away from my core interests^^

nikomatsakis (Nov 15 2018 at 16:38, on Zulip):

at least for now

RalfJ (Nov 15 2018 at 16:38, on Zulip):

doesnt seem like much has moved ther the last 2 weeks though

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

yes I agree

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

the discussion has reached stasis

avadacatavra (Nov 15 2018 at 16:39, on Zulip):

As long as we document the pertinent information, I'm happy to leave undecided questions

Alan Jeffrey (Nov 15 2018 at 16:39, on Zulip):

@nikomatsakis I'm fine working on https://github.com/rust-rfcs/unsafe-code-guidelines/issues/16

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

that said, those were the things I explicitly spun out

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

at least many of them are

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

from the structs RFC

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

as "undecided questions"

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

I think my thought was that we should try to gradually "refine" the set of open issues into smaller and smaller things

avadacatavra (Nov 15 2018 at 16:39, on Zulip):

I anticipate that we'll do some editing later on and that will be a good time to cirlce back

nikomatsakis (Nov 15 2018 at 16:39, on Zulip):

but leave "open issues" for undecided stuff

gnzlbg (Nov 15 2018 at 16:39, on Zulip):

@avadacatavra I would group also vector repr in the integer, bool, and fp document

gnzlbg (Nov 15 2018 at 16:40, on Zulip):

there is not much to write about vector repr

avadacatavra (Nov 15 2018 at 16:40, on Zulip):

@gnzlbg wfm

avadacatavra (Nov 15 2018 at 16:41, on Zulip):

Ok, so the last writeups are assigned. We need to open a PR changing the topic and finish up the writeup PR/review process for repr

RalfJ (Nov 15 2018 at 16:41, on Zulip):

but leave "open issues" for undecided stuff

okay, should we have a tag for that then?

nikomatsakis (Nov 15 2018 at 16:42, on Zulip):

sure

avadacatavra (Nov 15 2018 at 16:42, on Zulip):

The last thing I wanted to talk about/bring up is RFCs--one goal of this wg is to output RFCs. The question is how/when. Any thoughts?

nikomatsakis (Nov 15 2018 at 16:42, on Zulip):

rather than using the absence of a writeup-needed tag

nikomatsakis (Nov 15 2018 at 16:42, on Zulip):

e.g., "postponed"?

nikomatsakis (Nov 15 2018 at 16:43, on Zulip):

The last thing I wanted to talk about/bring up is RFCs--one goal of this wg is to output RFCs. The question is how/when. Any thoughts?

@RalfJ and I were discussing and we thought it would make sense to consider some sort of RFC once we tackle validity invariants and loop back to representation

RalfJ (Nov 15 2018 at 16:43, on Zulip):

The last thing I wanted to talk about/bring up is RFCs--one goal of this wg is to output RFCs. The question is how/when. Any thoughts?

Since repr and validity are somewhat entangled, might make sense to collect them both into one RFC?

nikomatsakis (Nov 15 2018 at 16:43, on Zulip):

I was thinking that the probably fate would be a "by reference" RFC that refers to the text, summarizes main and interesting points, and proposes to move that text to the reference (or some variant of it)

avadacatavra (Nov 15 2018 at 16:46, on Zulip):

Sounds good--if anyone has ideas about the wg->rfc process, I'd love to know (I haven't ever actually written an RFC)

gnzlbg (Nov 15 2018 at 16:46, on Zulip):

I think we are not even close to an RFC at this point.

nikomatsakis (Nov 15 2018 at 16:46, on Zulip):

interesting. I don't really agree.

nikomatsakis (Nov 15 2018 at 16:46, on Zulip):

in particular, it seems like we've defined and stated a lot of things

nikomatsakis (Nov 15 2018 at 16:47, on Zulip):

but what do you think is missing?

nikomatsakis (Nov 15 2018 at 16:48, on Zulip):

(in order to make a "potentially complete" RFC?)

gnzlbg (Nov 15 2018 at 16:48, on Zulip):

bool, integers, floating point, vectors, validity of &T, enum / unions

RalfJ (Nov 15 2018 at 16:48, on Zulip):

all of that except for validity is just in need of being written up, right?

nikomatsakis (Nov 15 2018 at 16:48, on Zulip):

ok :) I was thinking "once we've written those things + finished discussing validity invariants"

RalfJ (Nov 15 2018 at 16:48, on Zulip):

and the plan was do finish the validity discussions and then move to RFC

nikomatsakis (Nov 15 2018 at 16:48, on Zulip):

however, that could be some time,

nikomatsakis (Nov 15 2018 at 16:48, on Zulip):

so there is an interesting question about

gnzlbg (Nov 15 2018 at 16:48, on Zulip):

ah ok, so yeah, once we have written and merged those, it would be RFC material, but at this pace :D

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

we have still producd useful stuff

Alan Jeffrey (Nov 15 2018 at 16:49, on Zulip):

"vectors" brings up the point of how much of std do we want to talk about?

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

or will have once we shift to semantic invariants

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

maybe we should aim to write a blog post or something

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

drawing attention to this process

RalfJ (Nov 15 2018 at 16:49, on Zulip):

bye folks, have to catch my bus!

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

and the fact that we are starting to have a useful document

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

and trying to get more eyes on it

nikomatsakis (Nov 15 2018 at 16:49, on Zulip):

could even be a rust-lang blog post sort of thing

gnzlbg (Nov 15 2018 at 16:49, on Zulip):

@Alan Jeffrey vectors is repr(simd)

Alan Jeffrey (Nov 15 2018 at 16:49, on Zulip):

bye @RalfJ

nikomatsakis (Nov 15 2018 at 16:50, on Zulip):

(I am imagining once we finish this topic and move to validity invariants)

avadacatavra (Nov 15 2018 at 16:50, on Zulip):

@nikomatsakis i think that would be a great idea

Alan Jeffrey (Nov 15 2018 at 16:50, on Zulip):

@gnzlbg ok, so it's not vectors that we're spec'ing, but repr(simd)?

gnzlbg (Nov 15 2018 at 16:50, on Zulip):

I think we should write up what has consensus about the open layout issues, and everything that does not have consensus, should be an unresolved question with a small summary

nikomatsakis (Nov 15 2018 at 16:51, on Zulip):

ok, I'm enthusiastic about the blog post idea, I guess we don't have to decide who will write it yet

nikomatsakis (Nov 15 2018 at 16:51, on Zulip):

btw, next week is US thanksgiving --- cancel meeting?

Nicole Mazzuca (Nov 15 2018 at 16:51, on Zulip):

I won't be here

nikomatsakis (Nov 15 2018 at 16:52, on Zulip):

yeah, I suspect few of us will be able to attend

avadacatavra (Nov 15 2018 at 16:52, on Zulip):

Yes--I'll be on PTO and not touching work

nikomatsakis (Nov 15 2018 at 16:52, on Zulip):

I will delete that date from the calendar invite

Alan Jeffrey (Nov 15 2018 at 16:52, on Zulip):

@nikomatsakis I'm on PTO all next week.

avadacatavra (Nov 15 2018 at 16:52, on Zulip):

the blog will be great. i'm already excited

avadacatavra (Nov 15 2018 at 16:52, on Zulip):

ok--any last comments?

nikomatsakis (Nov 15 2018 at 16:53, on Zulip):

the blog will be great. i'm already excited

me too

![minons](https://media1.giphy.com/media/11sBLVxNs7v6WA/100.gif?cid=3640f6095beda46f5a70724f597f8793)

nikomatsakis (Nov 15 2018 at 16:54, on Zulip):

weird that zulip shows the url there. what's up with that.

nikomatsakis (Nov 15 2018 at 16:55, on Zulip):

thanks @avadacatavra for running meeting! <3

avadacatavra (Nov 15 2018 at 16:55, on Zulip):

thanks everyone :) see you after thanksgiving!

Last update: Nov 19 2019 at 17:40UTC