Add a meeting Rate this page

A

Okay, so action items, I, don't think central wrote a comment here so I'll leave that unchecked I did not reach out to Aaron. Hill simulacrum did write a comment.

A

There's been a little bit of subsequent discussion. Josh did you, oh you did, or at least as being subsequent discussion. Okay, hey Mark. So four quick note on schedule: I'll post something, but for the upcoming design meetings. I think the main one. We had some confusion about the FFI online design meeting and when might happen, but current plan is for it to happen. March, 16th and I'm not sure about the next two days, but I'll post, something on the inside rust blog people have opinions. I was thinking, sealed rust and either nothing or maybe.

A

Lengthy procedures or unsafe code guidelines, whose the idea would be to talk about how can we, what are some next steps we can take around on safe core guidelines and concrete next steps? I, don't know you can discuss that afterwards, but the main one is that I wanted to highlight. Is this March 16th? Is people care about F, F, online shepherded item updates, inline assembly, Josh or Amin? You do you want to carry it I.

B

Mean you go ahead.

C

In terms of updates, the main update is that the the implementation is done. We, this was actual implementation of the macro, is done. The RFC has been split off into a new thread.

C

There's been I've, been asking people to.

C

Men, any feedback that I might have that I might have forgotten to include into DRC and I'm going through that right now to include these into the RFC. But so.

A

For those of us who haven't been following, we should read the new RFC and theory.

C

There's a.

A

Pretty decent.

C

Summary of what the.

A

Remain.

C

The issues that have been pointed out are very minor, just some slight clarification around the exact the exact rules of what a line suddenly is and isn't allowed to do.

C

Okay,.

A

Is there any updates on the safe transmute stuff Josh a little.

B

Bit, yes, Ryan mentioned a desire to produce a new simplified version of the proposal, maybe trying to do a little bit less and figuring out. What's the smallest set of things, we could ask the language to do. We've been talking about like, what's the simplest possible way to get the language to provide a built in trait. That would say this thing completely occupies it said a bit.

B

So the equivalent of this came up a little rule in the context of there was a recent thing from Ralph that was trying to make sure that if you tried to use mem, uninitialized or mimsy Road to generate a type that doesn't allow uninitialized values or doesn't allow zero values, then you would get a compile time error rather than some kind of subtle breakage in the process.

B

The Ralpha added a mechanism to the compiler where it internally knows these types allow zero, and these types allow any bit pattern, and if we can expose that as a trait, that would be enough by itself that the rest could be done in a library, cradle, ecially and prototype that way, and then perhaps brought into the language later. So we're trying to regroup and put together a minimal proposal and we're hoping to bring minimal proposal back to the language need one.

A

Thing that that sounds good one thing I did jumps to mind is um I. Think the idea is that were a bit mm0, it is conservative, whatever tests were doing is basically it's deciding whether to panic right it's going to panic if zeros are definitely not allowed, but there's probably some gray area. I, don't know I'm basically wondering. Is it a precise test or is it conservative and if it's conservative, is it conservative in the right way.

B

My understanding is that it's supposed to be precise, albeit right now it is being conservative iam not panicking in scenarios that it perhaps should based on trying not to break things, so in particular, I believe it is not at this time panicking on I, don't remember if it's panicking young fool and it is not I believe panicking on integer types up all, because there's still some debate over are integer types fully populating, but yeah.

B

It doesn't panic in all situations where it may wish to or may not, and that would need to be nailed down it's more just that was some inspiration for potentially exposing this concept in a more precise way.

A

That.

B

Would also implementing restrictions like an initialized or mems erode at the library level of saying this can run on any type that has this property ready.

A

I was a bit I just wanted to make sure we didn't wind up with something really accidentally guarantee. The bool is fully I. Don't.

B

Think there's any chance of that now.

A

Are we gonna break.

B

Too much of Crater.

A

So.

D

You can do it I just want to up the conversations here. This sound like a pretty interesting area. I was curious, the conversations or drugs they have them in Zulu or on internals or on github. At.

B

The moment I believe the conversations are happening on a combination of Zula and discord. It's pronto.

D

They need to.

E

Be.

B

Captured and higher, they need to be captured more broadly definitely.

A

We're in discord, I.

B

Don't remember at the moment it should be on Zula pian, the project safe, transmute, channel or stream.

D

Do we have an archive of the discord conversations? I know it su up. We should have an archive of those I'm, not sure possible. Okay in.

B

An ideal world we should transplant the ones of those that are useful into something. Yes, in.

F

Theory, this port doesn't do we think, but searching this. Yes,.

B

Possible.

A

Remember the good old days we were using dinner and I was sticking. I would generate like unique IDs you IDs and put them in so I could search for them later, because there was no. It.

B

Was discotheque for kicks I was.

A

My version of that a link I.

B

Think you didn't get her yet it.

A

Was effective, I used to watch which wants to find stuff later all right, constable, uation and I? Don't think, there's anything new here.

A

It seems like we've kind of lost touch with what's going on, which is okay but like from a lame team perspective. I know.

F

There's.

G

Been.

A

Implementation work proceeding that's okay, FF I in mind. We already mentioned. We reschedule a meeting to March 16th, there's a blog post that has some outlines of some of the discussions so far. There's no updates around this didn't rate soundness. I haven't had any time to think about it at all. I guess the only question would be well should I try to find someone else to pick it up, maybe for.

C

Ff I unwind is basically only one question left, should we add a sealed wine ABI, or should we allow external situ and wines? Yes, that's pretty much. The only question we still know the result.

B

We remembered Miko- you mentioned that you wanted to gather some data on performance. Has that data been gathered I.

A

Tried but the current proposals that are it's not relevant to the two proposals that we landed on so I stopped trying, because what was happening was I was trying to figure out if we added there was some some other proposals where we were saying. Maybe we can add some shims that would intercept illegal unwinding and abort and I wasn't sure how big those gems would be if they aren't like they wouldn't be as big as the full overhead of CEO panic equals unwind, because they don't have to run destructors and so on.

A

They wouldn't be as small as nothing at all, but we didn't ultimately have to tie those variants. The proposals that needed those shims weren't great so.

F

We didn't.

A

Go there um so I don't have that data because it didn't okay.

A

I think the real, the heart of the question, we're gonna, be onto it in more detail, but the heart of one of the interesting parts of these questions is is like.

A

If you change from panic, equals online to panic people support. Is it okay if in some sense scenarios that causes you be? How much can we check this and should I check this sort of you know in the sea world? If you compile with that exceptions, and if no exceptions and you mix the two you get bad stuff and trying to do better than that is hard if you're in some cases, but.

A

That's what we would like to talk about insured.

A

Jovan, drawing I spend a little more time on that.

A

I'll move on never type I, don't think. There's any update here.

A

So there's a few key high issues. We actually don't have a lot on the agenda today, so we could come back to FFI in mind if we wanted a little impromptu, but the is x86. So we had last time talked about this feature. Detection where we removed in braking equates there's now a proposed stabilization. A few people haven't checked their box.

A

Those who are in this room, Felix, God Taylor, tell it's playing out here, but this is just proposing if I understand, to allow you to detect these features, not to use them in any particular way. Yes,.

C

It's just feature detection.

C

The reason why we're not stabilizing everything is because we're still not sure what the proper names use for some of these are: okay, I.

A

Don't think there's any other P high issues worth talking about right now,.

A

The one so the unsung has pin stuff we've kind of already covered the lifetime balance and auto trade impulse. This is a known limitation of our generator, it's kind of free, it's a limitation of our general implementation. The effects amazing the way you'd be nice to fix its kind of moods. It's too complex to go over right now,.

A

Skimming down nominated PRS, no new developments for never type regressions that I know of I'll just.

A

The we talked about I wanted to bring this one up because we've been skipping over a lot. Remember. The art drop has a potentially dangling shared reference problem, so we've got the problem that fetch sub takes empress and self.

A

It's used inside of art to decrement one from that release from the real talent, which means that somewhere in between doing the actual decrement and returning, we still have a live reference to memory that might get freed. If some other thread should decrement the rest count in that interval, and this this is technically you be it's you be against the unsafe code model. I. Don't think we really in our discussion on this problem.

A

We didn't, we didn't really reckon with what we would do to try to solve this and I guess now that I reread the problem like it's a pretty deep problem, I was hoping, maybe was hoping that we could say. Well, maybe the solution is we should, for the time being, we write the code to use raw references or something we're all foreigners to just sidestep the problem, at least in standard library, but I. Remember now that actually the problem is this stable public, API of atomic energy.

F

There's no reason: we can't demote that to take a like constant winter right.

A

Breaking change. It would be possible.

B

Once upon a time, we have the issue with the the function in command that was unsafe, that ran code before rather that was, he was not quite sound because it needed to be marked unsafe and wasn't. There was like a pre exact function and we just ended up deprecating it and then creating a new function that was unsafe and did the same thing and recommending people use that we could do that here of saying this is direct. Access is deprecated hated like this. You need to use this other function. The.

A

Other problem I disagree because we don't support star khan's methods at the moment which we I should so maybe that may be. The most actionable thing here is to try it like: let's try to add Rob minor methods, but guess that things up again the other questions of our overall roaring strategy, but that would be really useful. I know like in Rayong I had to do some bending over backwards.

A

Some annoying refactorings methods because they couldn't have a star constant I, wanted it hmm I.

G

Assume we hit problems because we have inherent methods on Raw pointers that would make this weird. We don't have inherent methods on references.

A

Yes,.

A

That's part of it. Maybe so we have inherent methods. I forget I, guess they're on here now: yeah yeah.

G

They got changed to inherit I.

A

Mean we can work that out I guess to find that we have inherent methods on like actually is that a problem yeah? We have inherent methods on integers and things like that, and am I confusing myself? No, that is a problem. Yeah we'd have to figure that out um give some questions. I, guess, I, don't know we're not gonna. Do it in this meeting. Probably. But it's interesting.

A

So I guess a possible next step would be adding support for starcast self methods so that we can have a sub on atomic. You size that takes stock on self would have to deal with conflicts of inherent methods.

D

What about Josh's suggestion well.

A

Johnson suggestion isn't actionable unless we don't make it a method. I guess if they have a free functions like.

D

That that's what I mean. Yes, yes, like decide, septic, wonderful language. You know extreme language that you describe, which would be natural, but also more work.

A

Yeah, it just seems so terrible I, don't know why so just go back into ergonomics for a.

A

True.

D

It's true, those doesn't like a method. That's this doesn't like a method that you'd want to have work as a method.

F

Actually, one other note here is that what we want to take is a really rough one gel. If you want there's no current type, that's like valid winter that may get invalidated during this function. There's no way they express that. If you don't really want to take a rough winter sensor, then that function has to be unsafe. We kind of don't want it to be a it's a good point and that might like something like non-null would potentially be easy or take.

C

Things then again, if you're freeing the memory, that's behind the pointer, it kind of has to be unsafe, for those should just be using the normal atomic.

C

It doesn't I mean one.

A

Of the things we talked about was that we might change like the most extreme version. You could say that all ampersand references are only known to be valid on entry, essentially from the purpose of unsafe code guidelines, but it would be giving up a lot of optimization.

A

We could also want, as we discussed in the thing we can also say, if it's in the ampersand reference to a atomic cell. Basically, um then you can't do some of these optimizations and then the methods are fine, just as they are just.

G

We could also juice something like move in a wrapper, that's actually a pointer internally, but you can create the wrapper from a reference and things like that.

A

All right, I, don't know so I guess I, remember why we didn't do anything yet then.

E

Okay,.

A

Yes, this question I wrote here: somebody needs to write up the implications of that meeting for this issue in a clearer way. Does anyone want to go over the notes from the meeting and try to like produce a document? That's clearer and more readable, um because they're so fascinated by the topic.

A

Yeah leave it for now not gonna bend any arms.

D

In this.

A

It's.

D

Not it's not a tattoo I can take up in the next week. That's yeah! Maybe after a week, but not right now so.

C

I'd be willing to do it, but I'm going to be away next week. Let's leave it for a week at least okay.

A

I mean it doesn't have waited. This long can wait. Another week floating point to inner jerk-ass can cause undefined behavior. So I highlighted this one because I don't know it's been here. A long time seems like we're ready to do something, but we have kind of gotten stuck for a while. We've been saying.

A

That we basically need a summary of what of all things, because it's hard to remember: what's happened, but I.

A

Don't know: do we care about this enough to make progress here, or should we leave it for the thoughts I think where it's at is we had some semantics, we made some measurements, they weren't too expensive.

A

That's what order I.

G

Recall it was everything except one of the JPEG libraries.

G

Was fine.

A

Something like.

G

That.

G

I'd certainly be in favor of flipping that switch or something it.

A

Seems like we're really close to closing this and it'd be nice to close out this book from 2013.

A

Well,.

F

Usually, what's Sam I think we think that we could be asked to it's just a polite approximate uncheck, nothing.

F

What are those methods? There are the things that allows you to saying. I know what I'm doing they.

A

Kind of make it not you be to know.

F

Yeah.

A

That sounds interesting.

A

Last.

G

Time that was discussed for things. Like addition, I know there was resistance to that. Has anything changed or was that just a an integer question, not a float question and that feeling is different for floats.

G

Why was it resistance we added intrinsic so a while back for, like no sign wrap integer operations, but there was a bunch of conversation about how we didn't want to stabilize those or even expose them in the library without something I.

C

Don't recall, having discussed this in lives, okay, cool I'll have to double-check. The issue might have been a while back mark.

H

Do you want to post something about that.

H

Lips then,.

A

We're still it's not the same issues. I'd refer.

F

It's the one I invent the unsafe methods: okay, okay, all right, exactly chief okay.

G

Personally, I'd be in favor of exposing they like no one signed rap additions and things I. Just remember. There was some conversation about that in the PR that added the intrinsics I.

F

Think this is more limited than their. There is a wider set of wrapping. That's.

D

A good point and.

F

This is like very far today and.

G

Actually, the only case we know is like just float to you, aid right so.

A

That's a good idea so, basically just to make sure I'm following the motivation for stabilizing these would be then for those libraries where they really want the u-visa medics. They cannot back in to.

A

Open.

F

The door for us to say: well, you know time to switch yeah.

A

I'm stay with yeah, it's great yeah, okay, cool progress.

A

Rfc for unzipped Lex I think we talked about this before and you posted a comment mark I.

A

Think where does this even still nominate? It I, don't know. Where are we out here.

F

The RFC is like semi, no, no, but it feels like we've. At least the link team feels like or my I really want me to know that we're on board with this change, probably in addition, but the links are sort of separate and since they're allowed by default. Initially you can land those without the RFC.

A

Yeah.

A

Linds are discussed in a PR, yes,.

A

So what is the scope of? The RFC is basically to I.

A

Guess.

A

I feel like technically, we can change Lintz know, especially if they're allowed by default and we're just like we're just landing wind so that people can opt into this behavior. But the RFC I feel, like makes sense for saying we're. Gonna change the convention that we, yes we're, asking you to do, whether we do it by errors or Lintz or, however, we do it. It's go change.

F

I think that the RFC should be rewritten or, like edited, to have the intent to change this behavior loosely speaking in the Edition.

F

But any fault, and then say like some language of we believe that this is the right way to write unsafe code.

F

Maybe some language about like.

A

Why I don't know, do you think that I think the RFC as it was written was making it a hard error in the next edition.

F

Yes, maybe I, don't know, I, don't know that I've actually read the RFC info. The.

G

The last proposal that I remember seeing I checked because it explicitly wasn't saying hard err. Next time.

A

Would we favor I, don't I personally would favor a hard year, but I would also favor a change in wind defaults that steers you yeah I words putting them in personally.

G

I'm on the I'm all happy with the changing the link defaults to encourage this I am personally uncertain whether it is always valuable to have the extra unsafe sin here. I, don't know how often people are writing basically C code and rust. We're just sticking an extra unsafe block in absolutely everything in a module is more trouble than it's worth. I.

A

Would it seems like we could all get behind changing the linty folks and then yeah and then, if people are really happy in the next edition, we ever care we could yeah brush and it does address the FFI concerns or the rightward drift concerns where people are like? Oh I miss narrow case I.

A

You know it's a big pain in the neck, then you can just make it allow for that extra block or veteran not worry about it. Yeah.

G

My recollection is that we definitely had lying team agreement on let's change the linting direction. All.

A

Right, so why don't we just encourage Ralph to to do that? I guess the only question man would be if we want to go crazy and add a trusted key word or something I'm feeling pretty much like no I'm.

B

Thinking no I think we should just gently lint it in the direction of unsafe, in does not mean the same as unsafe and containing unsafe, walk or at minimum I think we could discuss that in a separate.

B

Agree no.

G

More or less.

E

Yeah.

B

The trusted.

G

Blog conversation is a big one, so, let's not block on it. I agree.

B

I would also suggest that if we were going to have an unusual keyword that was not unsafe, then we might just as easily decide that the thing that needs the different keyword that people aren't used to should be I have an unsafe function whose entire body is unsafe. Let me write that more briefly, rather than the case of I have a function that's unsafe to call, we might not necessarily decide we either. One of those is the one that could decide to have a new keyword for a different meeting. Oh.

G

And that can even be contextual, technically right if we wanted to do that.

B

If we get it at the top level, yes, we theoretically could make it contextual, yeah.

A

All the way, okay until I yeah I, don't see a strong argument for that versus allow at the moment. But we can defer that discussion yeah great okay. So who wants to talk to her Alf I.

E

Say Scott does sure Scott can talk to her house. I haven't.

G

Read the RFC lately.

G

Okay, so we've and I'm writing that we want this to be designed for the addition boundary not.

G

Something that we're planning on doing for 2018, it's but I think so we have Lintz that people can opt into now. We will put those as part of the warning lens for the addition change, but there don't need to be on by default, because it's not a hard error in the new addition. It'll just be new things that you fix. This part of the addition fix lens.

A

Like if we want to do this right, we would like to change your code automatically for you, which will be a certain amount of work to make good suggestions making it a limp does give us the get out of jail, free card that we can say. Since it's not a hard error, your code didn't stop compiling in rust, 2021. It just started getting lots of annoying warnings, but it will be better if we are able to I mean at minimum.

A

We can just add you on say even the function body like the entire body, that's actually kind of okay. In my opinion, yeah.

G

That's an easy one that would be it would cover everything. If people then want to improve it from there, they can write.

A

We.

G

Can even they ought to put a comment on that safety like to do consider moving this to more specific parts or whatever right.

A

Sounds good okay,.

A

Okay,.

A

Rfc bot pending list I, didn't actually populate this, but it's good to take a look over it, but there anything in here that one thing I will mention is, since some people are on the call now I posted something in this inline assembly project group, where I wanted. I basically want people to look over. What I wrote here and in particular there's some silence like central raise concerns and I haven't, heard them echoed by anyone and I, don't know if people are silently in agreement and if so, I'd prefer.

A

If you made your silent agreement explicit or if you feel that the concerns aren't fully heard or understood either one either you agree with them or that they haven't been fully understood because I think that can sometimes be a.

A

We don't always make that explicit.

A

And anything else worth we already mentioned this remove unnecessary, unsafe block and say we were just talking about I, don't know what this RFC is about, but that's the topic we were just talking about. I guess.

F

That's the pull request for it's. The lint changes all.

H

Right so you Josh Felix, you.

A

May want to look at that um and then we're done with our agenda.

A

Sure we'll stop here. I wanna use this time for anything else.

A

The only thing I can see to use it for would be to dig a little more into FFI online, but we did have a meeting scheduled on.

A

All right well motion to close, then I blitz rules of order, not alright thanks. Everybody.
youtube image
From YouTube: 2020.03.05 Lang Team Triage Meeting

Description

No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).