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

Topic: meeting 2018-08-30


avadacatavra (Aug 30 2018 at 12:42, on Zulip):

Welcome to the first official UCG meeting (officially starting in ~20 mins)!

Agenda:
1. (Brief) Introductions
2. Any questions/comments about the format laid out in https://github.com/rust-rfcs/unsafe-code-guidelines
3. Decide on our first active discussion (looks like it will be data structure representation and validity invariants)
4. What are our goals for the next 2 weeks?

These meetings are intended to be more administrative. Deep technical discussions should go on the GH so that we keep the conversations in one place and we have a better record.

nikomatsakis (Aug 30 2018 at 12:45, on Zulip):

I have taken the liberty of renaming the topic to the form "meeting YYYY-MM-DD"

avadacatavra (Aug 30 2018 at 13:00, on Zulip):

Ok, I guess we should start. @RalfJ you there?

RalfJ (Aug 30 2018 at 13:01, on Zulip):

Hi :)

RalfJ (Aug 30 2018 at 13:01, on Zulip):

sorry still catching up in that "area proposal" thread

RalfJ (Aug 30 2018 at 13:01, on Zulip):

so many comments...

nikomatsakis (Aug 30 2018 at 13:02, on Zulip):

I should check it there are more I've not yet seen

avadacatavra (Aug 30 2018 at 13:02, on Zulip):

:cat: I'm Diane/avadacatavra. I work on servo/mixed reality/etc. Mostly interested in security.

nikomatsakis (Aug 30 2018 at 13:03, on Zulip):

woah, cat emoji, upped the game here

nikomatsakis (Aug 30 2018 at 13:03, on Zulip):

/me stresses about what emoji to use for their own intro

RalfJ (Aug 30 2018 at 13:03, on Zulip):

I dont even need an emoji for my nick :D

φ

RalfJ (Aug 30 2018 at 13:03, on Zulip):

except that the font they use here is the ugly phi :(

avadacatavra (Aug 30 2018 at 13:03, on Zulip):

/me sighs

nikomatsakis (Aug 30 2018 at 13:04, on Zulip):

ok sorry :)

nikomatsakis (Aug 30 2018 at 13:04, on Zulip):

I'm nikomatsakis, work on compiler/lang/etc, but maybe you know me by now :P

RalfJ (Aug 30 2018 at 13:04, on Zulip):

I'm Ralf, working on unsafe code and CTFE/miri.

avadacatavra (Aug 30 2018 at 13:04, on Zulip):

hi @nikomatsakis hi @RalfJ

RalfJ (Aug 30 2018 at 13:04, on Zulip):

also, it's just the three of us, right?^^

avadacatavra (Aug 30 2018 at 13:05, on Zulip):

seems that way

avadacatavra (Aug 30 2018 at 13:05, on Zulip):

nice to meet you strangers :paella:

avadacatavra (Aug 30 2018 at 13:05, on Zulip):

/me doesn't get these emoji autocompletes...

avadacatavra (Aug 30 2018 at 13:06, on Zulip):

anyways. it looks like we have one option for our upcoming active discussion: Data Structure Representation and Validity Invariants

nikomatsakis (Aug 30 2018 at 13:06, on Zulip):

Well so @RalfJ left a comment there that is worth thinking over:

As far as I am concerned, I have very little to say for bullet 1 (data structure layout guarantees), but a lot of thoughts on 2 (once a layout is fixed, what are the validity requirements). So I feel like these are fairly separate. But that may just be my particular point of view.

RalfJ (Aug 30 2018 at 13:06, on Zulip):

well one question I just raised is if... yeah what niko said

nikomatsakis (Aug 30 2018 at 13:07, on Zulip):

in particular I think it's a good idea to try and narrow the discussion as much as we can and it's possible I lumped in more than we need

RalfJ (Aug 30 2018 at 13:07, on Zulip):

I have yet to see a cross-cutting question here, I have to say

RalfJ (Aug 30 2018 at 13:07, on Zulip):

like, all the comments so far fall squarely on one side

avadacatavra (Aug 30 2018 at 13:07, on Zulip):

Do we think there's enough consensus on layout guarantees to just write up stuff about it

nikomatsakis (Aug 30 2018 at 13:07, on Zulip):

like, all the comments so far fall squarely on one side

which side do you think that is :)

nikomatsakis (Aug 30 2018 at 13:07, on Zulip):

Do we think there's enough consensus on layout guarantees to just write up stuff about it

I do not

RalfJ (Aug 30 2018 at 13:08, on Zulip):

like, all the comments so far fall squarely on one side

which side do you think that is :)

not the same for all comments^^

nikomatsakis (Aug 30 2018 at 13:08, on Zulip):

I think there is a kind of "broad consensus" but the details differ

nikomatsakis (Aug 30 2018 at 13:08, on Zulip):

ah @RalfJ I see what you mean

RalfJ (Aug 30 2018 at 13:08, on Zulip):

but each comment thread is here or there, is what I mean

nikomatsakis (Aug 30 2018 at 13:08, on Zulip):

ok yes

nikomatsakis (Aug 30 2018 at 13:08, on Zulip):

I think if I were gonna pick though

nikomatsakis (Aug 30 2018 at 13:08, on Zulip):

I'd be inclined to start by focusing on the layout side of things

avadacatavra (Aug 30 2018 at 13:08, on Zulip):

Maybe we should split it into data structure layout guarantees and then do validity requirements once layout is fixed

nikomatsakis (Aug 30 2018 at 13:08, on Zulip):

it seems more close to consensus

nikomatsakis (Aug 30 2018 at 13:09, on Zulip):

let me skim over the doc then

RalfJ (Aug 30 2018 at 13:09, on Zulip):

fine for me. if you can finish that in September, that would nicely bridge the time where I am away :D

avadacatavra (Aug 30 2018 at 13:09, on Zulip):

So procedurally, what will that look like? Closing that PR and opening up 2 more?

RalfJ (Aug 30 2018 at 13:09, on Zulip):

with a discussion I will not have much to contribute to

RalfJ (Aug 30 2018 at 13:10, on Zulip):

So procedurally, what will that look like? Closing that PR and opening up 2 more?

I think so

nikomatsakis (Aug 30 2018 at 13:10, on Zulip):

I don't particularly want to have a "proposal" PR open for 2 more weeks

nikomatsakis (Aug 30 2018 at 13:10, on Zulip):

:)

nikomatsakis (Aug 30 2018 at 13:10, on Zulip):

but we could perhaps jump ahead to selecting that option

avadacatavra (Aug 30 2018 at 13:10, on Zulip):

ok then close and reopen layout and put the other as an issue?

nikomatsakis (Aug 30 2018 at 13:11, on Zulip):

yes; I am somewhat indifferent as to whether we close/open a new PR or not but

nikomatsakis (Aug 30 2018 at 13:11, on Zulip):

my inclination is to split off things that seem to be "invariant"-related into an issue

nikomatsakis (Aug 30 2018 at 13:11, on Zulip):

and keep the rest

nikomatsakis (Aug 30 2018 at 13:11, on Zulip):

I don't anticipate a lot of controversy over the selection

avadacatavra (Aug 30 2018 at 13:11, on Zulip):

sounds good. it's your pr so however you want to do it

nikomatsakis (Aug 30 2018 at 13:12, on Zulip):

so looking over some the details...

RalfJ (Aug 30 2018 at 13:12, on Zulip):

I don't particularly want to have a "proposal" PR open for 2 more weeks

why not? are you worried too much discussion will happen there?

nikomatsakis (Aug 30 2018 at 13:12, on Zulip):

basically because I'd rather get on with the discussion

nikomatsakis (Aug 30 2018 at 13:12, on Zulip):

maybe this mechanic of "proposed areas" is silly, idk

nikomatsakis (Aug 30 2018 at 13:12, on Zulip):

although I think it's kind of a "getting started" problem

nikomatsakis (Aug 30 2018 at 13:13, on Zulip):

that is, maybe once we have some ongoing conversations, it'll feel more natural? unclear

RalfJ (Aug 30 2018 at 13:13, on Zulip):

well we could accept one to be disccused later. as in, the PR with the discussion area for validity invariants gets merged but the area not yet activated

nikomatsakis (Aug 30 2018 at 13:13, on Zulip):

sure

avadacatavra (Aug 30 2018 at 13:13, on Zulip):

works for me

nikomatsakis (Aug 30 2018 at 13:13, on Zulip):

but let me first ask a slightly different question:

nikomatsakis (Aug 30 2018 at 13:13, on Zulip):

Can a C-like enum ever have an invalid discriminant? (Presumably not)

RalfJ (Aug 30 2018 at 13:13, on Zulip):

maybe this mechanic of "proposed areas" is silly, idk

dont think so. it helps focus on some part of this huge design space.

nikomatsakis (Aug 30 2018 at 13:14, on Zulip):

something like that... is presumably an "invariant" topic?

RalfJ (Aug 30 2018 at 13:14, on Zulip):

Yeah I'd say so

avadacatavra (Aug 30 2018 at 13:14, on Zulip):

agreed

nikomatsakis (Aug 30 2018 at 13:14, on Zulip):

layout stuff would really just be like "how many bytes are allocated" etc

nikomatsakis (Aug 30 2018 at 13:14, on Zulip):

so e.g. Option<&T> being a pointer — yes

RalfJ (Aug 30 2018 at 13:14, on Zulip):

basically layout stuff is computing the TyLayout

nikomatsakis (Aug 30 2018 at 13:14, on Zulip):

I guess this is the place where it connects

nikomatsakis (Aug 30 2018 at 13:14, on Zulip):

the niches bit

nikomatsakis (Aug 30 2018 at 13:14, on Zulip):

but we can just kind of factor that out, presumably, and say "where the invariant leaves a niche..."

RalfJ (Aug 30 2018 at 13:15, on Zulip):

layout is whether we use a niche or a tag

RalfJ (Aug 30 2018 at 13:15, on Zulip):

validity is what the rules are that follow from this

RalfJ (Aug 30 2018 at 13:15, on Zulip):

as I said above, layout is computing the TyLayout :)

RalfJ (Aug 30 2018 at 13:15, on Zulip):

I think that answers all your questions

nikomatsakis (Aug 30 2018 at 13:15, on Zulip):

so, to back up a second, you are presuming then that we would first define the layouts we want

RalfJ (Aug 30 2018 at 13:16, on Zulip):

so, the C enum thing is actually maybe layout. because TyLayout contains a range

nikomatsakis (Aug 30 2018 at 13:16, on Zulip):

(@avadacatavra do you know what we mean by "niche" etc?)

avadacatavra (Aug 30 2018 at 13:16, on Zulip):

I have a slightly related followup: what should we do with topics previously discussed in this channel (error compat/exhaustiveness)

avadacatavra (Aug 30 2018 at 13:16, on Zulip):

@nikomatsakis i do not

nikomatsakis (Aug 30 2018 at 13:16, on Zulip):

I have a slightly related followup: what should we do with topics previously discussed in this channel (error compat/exhaustiveness)

here, I would expect to propose them in the future where eneded

avadacatavra (Aug 30 2018 at 13:16, on Zulip):

@nikomatsakis sounds good to me

nikomatsakis (Aug 30 2018 at 13:17, on Zulip):

though both of those are perhaps straying into "language extensions" -- e.g., the addition of a ! pattern

RalfJ (Aug 30 2018 at 13:17, on Zulip):

well for exhaustiveness I'd hope someone writes an RFC for ! patterns^^

nikomatsakis (Aug 30 2018 at 13:17, on Zulip):

(not sure about error compat, depends I guess)

RalfJ (Aug 30 2018 at 13:17, on Zulip):

and then this is covered by validity

avadacatavra (Aug 30 2018 at 13:17, on Zulip):

(not sure about error compat, depends I guess)

we'll probably run into it when we talk about ffi and decide then

nikomatsakis (Aug 30 2018 at 13:17, on Zulip):

on the topic of niches: the idea @avadacatavra is that some types have invalid values or unused bits that we can take advantage of for doing layout

nikomatsakis (Aug 30 2018 at 13:18, on Zulip):

@eddyb was calling these 'niches' in the layout code — tbh I'm not that sure precisely how they used the term. :P But I would use it in a pretty general sense of "does this value have space to store a discriminant" (if not, we must use a separate tag)

avadacatavra (Aug 30 2018 at 13:19, on Zulip):

@nikomatsakis and when we're talking about layout, is this just for when we need to interop with other languages? or general memory layout

RalfJ (Aug 30 2018 at 13:19, on Zulip):

@avadacatavra general layout

nikomatsakis (Aug 30 2018 at 13:19, on Zulip):

sort of both, I would say

RalfJ (Aug 30 2018 at 13:19, on Zulip):

also concerning transmute in Rust etc.

nikomatsakis (Aug 30 2018 at 13:19, on Zulip):

that is, we internally do optimizations

avadacatavra (Aug 30 2018 at 13:19, on Zulip):

/me throws salt over shoulder to ward off transmute

nikomatsakis (Aug 30 2018 at 13:20, on Zulip):

and we need to make room for that by defining our validity invariants appropriately, but we also want to talk about which ones we guarantee that we will keep doing

RalfJ (Aug 30 2018 at 13:20, on Zulip):

@avadacatavra you picked the wrong stream for that :P

nikomatsakis (Aug 30 2018 at 13:20, on Zulip):

anyway ok so I think @RalfJ you are saying that in this discussion we should enumerate what layout is doing

nikomatsakis (Aug 30 2018 at 13:20, on Zulip):

which is then an input into the validity invariant: it must support that

eddyb (Aug 30 2018 at 13:20, on Zulip):

I would avoid spreading the use of the word "niche", it's too ad-hoc IMO

nikomatsakis (Aug 30 2018 at 13:20, on Zulip):

I'm game to pick a better one :)

avadacatavra (Aug 30 2018 at 13:20, on Zulip):

@eddyb what term would you suggest?

eddyb (Aug 30 2018 at 13:20, on Zulip):

what you want is "invalid" or "impossible" values / value ranges

RalfJ (Aug 30 2018 at 13:21, on Zulip):

@nikomatsakis yes. validity will say more than layout in places (e.g. layout does not capture that char must be a valid unicode codepoint), but it needs validity as basis.

eddyb (Aug 30 2018 at 13:21, on Zulip):

in the code, the antonym of niches is "valid (value) range"

nikomatsakis (Aug 30 2018 at 13:21, on Zulip):

@eddyb do we presently use padding bits in any way ?

nikomatsakis (Aug 30 2018 at 13:21, on Zulip):

I guess we don't

eddyb (Aug 30 2018 at 13:21, on Zulip):

nope and it's very hard to do so

nikomatsakis (Aug 30 2018 at 13:21, on Zulip):

it would be .. hard to do

nikomatsakis (Aug 30 2018 at 13:21, on Zulip):

yes, ok

nikomatsakis (Aug 30 2018 at 13:22, on Zulip):

then I agree with your refinement of the term

nikomatsakis (Aug 30 2018 at 13:22, on Zulip):

"niche" suggests to me a "place for hiding something" -- which feels more like padding :)

eddyb (Aug 30 2018 at 13:22, on Zulip):

you can't do pointer tagging at all without a sort of opt-in that we don't have right now

nikomatsakis (Aug 30 2018 at 13:22, on Zulip):

yep

nikomatsakis (Aug 30 2018 at 13:22, on Zulip):

ok

eddyb (Aug 30 2018 at 13:22, on Zulip):

errr you said padding not alignment. but both are similar, heh

nikomatsakis (Aug 30 2018 at 13:22, on Zulip):

(though I think it's still relevant because unsafe code)

eddyb (Aug 30 2018 at 13:22, on Zulip):

the "niche" metaphor is for ranges within a scalar, to be super clear

nikomatsakis (Aug 30 2018 at 13:23, on Zulip):

e.g., if you write pointer tagging code yourself, you are relying on alignment guarantees

eddyb (Aug 30 2018 at 13:23, on Zulip):

and yeah it's suboptimal (heh)

nikomatsakis (Aug 30 2018 at 13:23, on Zulip):

anyway ok let's go with "invalid values"

RalfJ (Aug 30 2018 at 13:23, on Zulip):

@eddyb we could refine the range for e.g. &mut i32 to be 4..=usize::max instead of 1..=usize::max, right?

RalfJ (Aug 30 2018 at 13:23, on Zulip):

that would be exploiting alignment

avadacatavra (Aug 30 2018 at 13:23, on Zulip):

if it's ok, I'm going to try and redirect this conversation towards determining what our goals should be for the next two weeks, with Data Structure Representation/Layout as our active topic

nikomatsakis (Aug 30 2018 at 13:24, on Zulip):

I was just trying to write a comment doing the same :)

eddyb (Aug 30 2018 at 13:24, on Zulip):

:+1:

avadacatavra (Aug 30 2018 at 13:24, on Zulip):

/me facilitates muahahahaha

eddyb (Aug 30 2018 at 13:24, on Zulip):

lol zulip mobile app just sort of froze

nikomatsakis (Aug 30 2018 at 13:24, on Zulip):

to recap, goal for the PR is to:

nikomatsakis (Aug 30 2018 at 13:24, on Zulip):

I wanted to ask a question about the last one — should I just open a bunch of issues for various types?

nikomatsakis (Aug 30 2018 at 13:25, on Zulip):

seems reasonable because I expect these discussions to be largely orthogonal

avadacatavra (Aug 30 2018 at 13:25, on Zulip):

@nikomatsakis i think so

nikomatsakis (Aug 30 2018 at 13:25, on Zulip):

otoh I think the "memory layout" of u32 is not very controversial :)

avadacatavra (Aug 30 2018 at 13:25, on Zulip):

you can probably do some grouping

nikomatsakis (Aug 30 2018 at 13:25, on Zulip):

but I can lump those into integral.. we can talk about what we want to say about usize I guess

nikomatsakis (Aug 30 2018 at 13:25, on Zulip):

yeah

eddyb (Aug 30 2018 at 13:25, on Zulip):

@RalfJ yes but it's hard because we allow data type recursion through indirection and you now have to compute an approximation of alignment in a secondary, potentially brittle way

nikomatsakis (Aug 30 2018 at 13:26, on Zulip):

it seems like a lot of the work here is going to be trying to write out actual prose

nikomatsakis (Aug 30 2018 at 13:26, on Zulip):

maybe we start with bullet lists or something

avadacatavra (Aug 30 2018 at 13:26, on Zulip):

i think that if we don't split them out into at least groups of types we'll have a lot of cross talk and the discussion will be difficult to follow

RalfJ (Aug 30 2018 at 13:26, on Zulip):

yeah, is layout up for debate for any primitive type?

nikomatsakis (Aug 30 2018 at 13:26, on Zulip):

not really

avadacatavra (Aug 30 2018 at 13:26, on Zulip):

I'd say our goals should be what niko said, and then writing up the uncontroversial ones

nikomatsakis (Aug 30 2018 at 13:27, on Zulip):

well, the only thing I would want to talk about — there are some esoteric bits like extern "C" fn(...) and its relationship to pointers that come up a lot

RalfJ (Aug 30 2018 at 13:27, on Zulip):

and then we just have... two big groups: struct/tuple/array, and enum. they probably have subgroups though.

avadacatavra (Aug 30 2018 at 13:27, on Zulip):

then, next meeting see what (if any) controversies exist and where to go from there

nikomatsakis (Aug 30 2018 at 13:27, on Zulip):

sounds good

nikomatsakis (Aug 30 2018 at 13:27, on Zulip):

I guess for each issue we can have a kind of bullet list in the topic

RalfJ (Aug 30 2018 at 13:27, on Zulip):

next meeting is in 2 weeks? I am on vacation then

RalfJ (Aug 30 2018 at 13:27, on Zulip):

and in 4 weeks I am travelling^^

nikomatsakis (Aug 30 2018 at 13:27, on Zulip):

you're difficult :)

RalfJ (Aug 30 2018 at 13:27, on Zulip):

well, the only thing I would want to talk about — there are some esoteric bits like extern "C" fn(...) and its relationship to pointers that come up a lot

I dont think I get the question

nikomatsakis (Aug 30 2018 at 13:27, on Zulip):

as you said though, this is an area you don't care too much about

RalfJ (Aug 30 2018 at 13:28, on Zulip):

you're difficult :)

September is difficult^^

nikomatsakis (Aug 30 2018 at 13:28, on Zulip):

I also don't feel the need to be super strict about every two weeks

eddyb (Aug 30 2018 at 13:28, on Zulip):

btw random comment: I think https://internals.rust-lang.org/t/mir-constant-evaluation/3143/31 is probably still relevant in its imitation of a formal spec, so I'd love to see, one day, the real spec for the "Rust (CTFE) abstract machine"

nikomatsakis (Aug 30 2018 at 13:28, on Zulip):

I dont think I get the question

Probably not worth digging into now. I'll write up some specific examples in the issue :)

RalfJ (Aug 30 2018 at 13:29, on Zulip):

@eddyb totally. though if you want something thats sound wrt. LLVM, dont hold your breath. there are some open academic problems in that area^^

avadacatavra (Aug 30 2018 at 13:29, on Zulip):

Good chat--my cat is attacking me so I'm going to say we have a good starting point and go feed him before i have no blood left

avadacatavra (Aug 30 2018 at 13:29, on Zulip):

I'll write up these notes and put them in the gh

nikomatsakis (Aug 30 2018 at 13:29, on Zulip):

sounds good

nikomatsakis (Aug 30 2018 at 13:29, on Zulip):

plus we are at 30 minutes

nikomatsakis (Aug 30 2018 at 13:29, on Zulip):

:)

avadacatavra (Aug 30 2018 at 13:29, on Zulip):

cat timer ftw!

RalfJ (Aug 30 2018 at 13:29, on Zulip):

perfectly on time :D

nikomatsakis (Aug 30 2018 at 13:29, on Zulip):

I'll write up these notes and put them in the gh

great... I was going to post something to an internals thread we can re-use too. Probably just a link to the discussion and minutes from GH if we need

eddyb (Aug 30 2018 at 13:29, on Zulip):

like one layout thing I care about is: do we use octets? :P

RalfJ (Aug 30 2018 at 13:30, on Zulip):

awesome, thanks all!

nikomatsakis (Aug 30 2018 at 13:30, on Zulip):

6-bit bytes ftw

RalfJ (Aug 30 2018 at 13:30, on Zulip):

@eddyb as in, 8-bit bytes? of course not, see https://www.ralfj.de/blog/2018/07/24/pointers-and-bytes.html :P

eddyb (Aug 30 2018 at 13:31, on Zulip):

I don't mean Fin 256, but rather the unit of measurement that size_of returns in

nikomatsakis (Aug 30 2018 at 13:31, on Zulip):

@avadacatavra posted this:

https://internals.rust-lang.org/t/unsafe-code-guidelines-meetings/8335/2?u=nikomatsakis

RalfJ (Aug 30 2018 at 13:32, on Zulip):

well given that mem::size_of::<u8>() == 1, I think the ratio of 8 is kind of engrained in the language

nikomatsakis (Aug 30 2018 at 13:32, on Zulip):

anyway I've got a bit of time before compiler meeting so I guess I will work on that now

RalfJ (Aug 30 2018 at 13:32, on Zulip):

:)

eddyb (Aug 30 2018 at 13:32, on Zulip):

having u8 as a type does make our situation less ambiguous by default than C's char

nikomatsakis (Aug 30 2018 at 13:43, on Zulip):

oh ps so excited this conversation is getting started :tada:

RalfJ (Aug 30 2018 at 13:44, on Zulip):

HYPE

nikomatsakis (Aug 30 2018 at 13:45, on Zulip):

way to burst my :balloon: @RalfJ

RalfJ (Aug 30 2018 at 13:45, on Zulip):

hu? this was meant affirmative...

nikomatsakis (Aug 30 2018 at 13:51, on Zulip):

oh :)

nikomatsakis (Aug 30 2018 at 13:51, on Zulip):

I thought you were saying "it's all HYPE nothing will happen"

nikomatsakis (Aug 30 2018 at 13:51, on Zulip):

/me ever the pessimist

RalfJ (Aug 30 2018 at 14:11, on Zulip):

I meant to say "lets HYPE this its awesome :D"

Jake Goulding (Aug 30 2018 at 15:20, on Zulip):

do you know what we mean by "niche" etc?

I think establishing a glossary feels important for this work.

Jake Goulding (Aug 30 2018 at 15:23, on Zulip):

Even (especially?) for terms that are "obvious" to make sure people are talking about the same things

Jake Goulding (Aug 30 2018 at 15:25, on Zulip):

examples from a quick skim: "layout", "niche" (or whatever you call it), "tag".

Nicole Mazzuca (Aug 30 2018 at 15:45, on Zulip):

why did you have a meeting at 6 in the morning? also, I'm a part of the unsafe code guidelines team, right?

nikomatsakis (Aug 30 2018 at 15:48, on Zulip):

This meeting is sort of an administrative one to decide which topics to focus on. We had a doodle poll and 9am worked good for everyone (in particular, some people are in Europe) — anyway, the intention is that people shouldn't really have to attend, because we'll never find a time that satisfies everyone.

nikomatsakis (Aug 30 2018 at 15:48, on Zulip):

(did you read the process proposal I posted to internals?)

nikomatsakis (Aug 30 2018 at 15:49, on Zulip):

all we talked about here was how to narrow the focus of https://github.com/rust-rfcs/unsafe-code-guidelines/pull/5 — in particular, we wanted to focus just on layout

nikomatsakis (Aug 30 2018 at 15:50, on Zulip):

as a starting point

nikomatsakis (Aug 30 2018 at 15:50, on Zulip):

anyway tl;dr @Nicole Mazzuca sorry didn't meant to exclude you (should probably have said that first), but in any case I don't think you missed much.

Nicole Mazzuca (Aug 30 2018 at 17:21, on Zulip):

fair, I did not read the internals thread :P

Nicole Mazzuca (Aug 30 2018 at 17:21, on Zulip):

there are like, two too many different places where these things get put :P

nikomatsakis (Aug 30 2018 at 17:32, on Zulip):

hopefully we'll iron out the kinks. I'm trying to consolidate the key discussion bits in the https://github.com/rust-rfcs/unsafe-code-guidelines/ repository

alercah (Aug 30 2018 at 17:32, on Zulip):

+1

alercah (Aug 30 2018 at 17:32, on Zulip):

(to the "two too many different places")

Nicole Mazzuca (Aug 30 2018 at 17:35, on Zulip):

s/two/three/ too many different places :P

RalfJ (Aug 30 2018 at 17:44, on Zulip):

It's good that we have most discussion asynchronously. I like my evenings free of such obligations -- and yet after 18:00 UTC+2 is the only time that works once UTC-7 (west coast) wants to join. (I've had earlier meetings with Aaron but I guess either he likes being in the office at 8am or there are other reasons he has to be there anyway.^^)

nikomatsakis (Aug 30 2018 at 17:45, on Zulip):

Yes, asynchronous discussion is exactly my goal

Nicole Mazzuca (Aug 30 2018 at 17:48, on Zulip):

I mean, I'm fine with meeting at 8 in the morning; just need to know about meetings :P

nikomatsakis (Aug 30 2018 at 17:49, on Zulip):

plan is to meet roughly every two weeks, just for the record, to try and monitor how discussion is going, figure out when it makes sense to change focused discussion topics, etc

nikomatsakis (Aug 30 2018 at 17:49, on Zulip):

that may or may not be the right frequency :)

RalfJ (Aug 30 2018 at 17:59, on Zulip):

I mean, I'm fine with meeting at 8 in the morning; just need to know about meetings :P

That'd be 17:00 here which is perfectly fine.

Nicole Mazzuca (Aug 30 2018 at 18:09, on Zulip):

(could we actually do 8:30? that's much nicer for me, because that's when I'm actually done getting coffee and such)

alercah (Aug 30 2018 at 18:10, on Zulip):

8:30 pacific or eastern?

Nicole Mazzuca (Aug 30 2018 at 18:10, on Zulip):

pacific, I'm in Seattle

RalfJ (Aug 30 2018 at 18:11, on Zulip):

well my bus goes at 17:55

RalfJ (Aug 30 2018 at 18:11, on Zulip):

the next is at 18:55

alercah (Aug 30 2018 at 18:11, on Zulip):

ok, 8:30 pacific is pretty easy for me, as long as it's not Friday

RalfJ (Aug 30 2018 at 18:11, on Zulip):

so if we start 17:30 my time, I either have to leave after half the meeting or be in the office way too long

RalfJ (Aug 30 2018 at 18:11, on Zulip):

8:15 your time (UTC-7) aka 17:15 UTC+2 would work fine though. Then I'd have to leave exactly on time.^^

nikomatsakis (Aug 30 2018 at 18:14, on Zulip):

I'm ok with any of those; @avadacatavra ?

Frank McSherry (Aug 30 2018 at 18:17, on Zulip):

All hear this: @Frank McSherry is here to agitate in support of abomonation-esque zero-copy binary re-interpretation. Maybe everyone thinks that this is a horrible idea, but I'll do my best to push back! :D

nikomatsakis (Aug 30 2018 at 18:17, on Zulip):

<3

Frank McSherry (Aug 30 2018 at 18:18, on Zulip):

This may be the wrong channel. Hear me now: while I cannot yet click on the right Zulip buttons, I nonetheless have strong opinions about high-performance computing.

nikomatsakis (Aug 30 2018 at 18:19, on Zulip):

I'm wondering right now whether any of the GitHub issues are a good fit :)

nikomatsakis (Aug 30 2018 at 18:19, on Zulip):

I guess sort of "all of them"

nikomatsakis (Aug 30 2018 at 18:19, on Zulip):

we're mostly talking now about which Rust types would have defined binary representations

nikomatsakis (Aug 30 2018 at 18:20, on Zulip):

the question of if/when you can reinterpret is another good one...

RalfJ (Aug 30 2018 at 18:21, on Zulip):

doesn't that directly follow? if two types have the same defined binary repr, you can reinterpret

RalfJ (Aug 30 2018 at 18:21, on Zulip):

on the fundamental language level

RalfJ (Aug 30 2018 at 18:21, on Zulip):

of course, it being "valid" does not imply it is safe

avadacatavra (Aug 30 2018 at 23:42, on Zulip):

@RalfJ @nikomatsakis timezones are hard. i think that time works... 1715 ralf's time? aka 1515 UTC right?

Jake Goulding (Aug 31 2018 at 00:00, on Zulip):

Useful for these things: https://www.timeanddate.com/worldclock/meeting.html

nikomatsakis (Sep 06 2018 at 15:24, on Zulip):

PS if anybody wants their e-mail to be added to the calendar invite, let me know

Nicole Mazzuca (Sep 06 2018 at 17:19, on Zulip):

please add me, npmazzuca@gmail.com

Frank McSherry (Sep 07 2018 at 12:00, on Zulip):

I'd like to be added too! (you should have my address).

nikomatsakis (Sep 07 2018 at 13:09, on Zulip):

done

Aaron Weiss (Sep 07 2018 at 17:42, on Zulip):

@nikomatsakis I would also appreciate being added. :smile:

alercah (Sep 08 2018 at 21:04, on Zulip):

please add me at lexer@google.com

Jake Goulding (Sep 14 2018 at 17:31, on Zulip):

please add me at lexer@google.com

That's a pretty awesome email...

Last update: Nov 19 2019 at 17:40UTC