Add a meeting Rate this page

A

Take away these notes from last time.

A

Okay done what do these are still relevant? Okay, I have not done this w G grammar things probably should do more. Have I done this. That has an issue for it.

A

To comment on the alight erase eyes are.

B

Probably.

A

All right, we got some stuff here to pinyin.

A

So I'll see this way, um so, let's see reviewing any first step, I get will check for newly-created RFC's. There are some, um including this interesting one by votes, I hadn't, seen until just now, I think this fits pretty well into the um so this comes from async foundations. Although I wasn't aware both its gonna post, the RFC.

A

Probably worth looking at at some point, D.

A

We want to give feedback to this opt-in, stable trade me tables.

A

All right for now, but it seems to fit along with the like. There was some work by that I've been wanting to revisit a.

A

Moan about stabilizing the know, adding some way to work with with white pointers. Anything.

A

Any thoughts on newly could it have seized I'm just trying to make sure we always see them once in a while.

A

Move on: let's look at the project work, so active projects.

A

Tasting foundations know there's so I filed a meeting.

A

Relating to the stream trait so there's and I guess now, there's also a missing drop RFC, but we've been worth moving towards adding a straight-a trait for streams for asynchronous streams and I think there's a fair number of linking interactions that come up in this proposal. So I'd like to talk about it in a meeting at some point, I kind of highlighted a few of them here. It mostly has to do with I'll just go through a real fast.

A

One thing is this generic problem that the way I met that dispatch works right now you can't move methods from helper traits into the standard library without potentially breaking people's fates, because if you add, if you add a new method than you're getting ambiguity, we're used to resolve and that's kind of annoying and that's relevant to stream, because we wanted to add a kind of definition of scream that doesn't have all the helper functions. You might eventually want, because there are reasons that they weren't ready. Yet.

A

But if you do that and then you have the helper functions living in like the futures crate, you kind of have a no clear path to eventually add them into the standard library. um That's annoying.

C

One other item in which this interacts with lang and I'd like to understand if this is what you're mentioning what's mentioned in the third bullet here, is this going to be integratable into four loops along the lines of like this discussion about into stream instead of into iterator, so that you don't have to write while let some equals in order to build a stream loop yeah? So there are two.

A

Potential future directions- tactically one, would be integrating with for loops and whether we want that there's some dissent and the other would be.

A

Generators index to let you create streams right, which I would.

C

Be very excited about.

A

Yeah, it seems to be I think the latter is the more important of those two because, like iterating over streams with helper functions is not so bad, but.

A

Writing streams today is very difficult and the other issue- that's related, is I. First of all, I finally found a name. This pattern that I like but we've been discussing. The idea of my video so I know any videos to look at we've been discussing the idea of this, this version of stream, just like iterator each item that the screen produces, if ownership of it to the person who's getting next item.

A

So when you call next, you get ownership of the item that you that you requested, but there is a use for what was once called streaming. Iterator is now calling lending areas and lending streams, the idea being that you call next and you get something that's borrowed from the iterator itself, we're from the stream itself, so that that lets the screamer iterator. We used some internal buffer or something like that so attention.

A

So you have to finish with it before you can call next again because you're going to reuse the same resources and that's an expected thing we're going to want- and there are some coherence issues that will arise if we add a lending stream in the future. Similarly, if we add a lending generator, basically, you would like to be able to automatically convert every owning stream into a lending stream, because it's sort of it's compatible in this direction.

A

um If I'm giving you ownership I can also lend it to you essentially, but the problem is: if you do that, you run these coherence issues where you can implement lending stream for any type that implements stream and you can implement lending stream for any box of a limit, another lending stream, let's say, but then that creates two routes.

A

If you have a box of a normal scheme, there are two ways for its implementing streaming: you can either wrap the boxes or you can have it wrap the stream into a lending steamin and have a box of lending stream. If you see there's like a negativity, diagram thing here and.

C

Is would it be possible to reverse that you're saying like you, can always get a lending stream from a stream? Could we reverse that and say that you can get a stream from a subset of lending streams or in other words a stream is just a lending stream where the lifetime doesn't actually depend on the strainer? Maybe.

A

Maybe yeah yeah, you could do that. You could write in so that syntactic issues we, but you could do what you're saying I'll just take notes here.

A

So that's a sort of separate question right, but so what I'm saying this there are coherence issues that arise if you want, if you have a involve for all L or for all s, I'll use syntax that doesn't exist, but maybe you should employ. Let me scream for impulse.

A

Now, I'm being consistent.

A

So this is a one problem and I think it would be nice to solve this, because it's not these. These, inter conversion issues, are not specific to this case, similar to the method, compatibility issues, but what you're saying is different, somewhat different and I think the answer is yes, you could imagine having something like I.

A

Think it would be something like implement stream or L, where L is lending stream. We don't actually know what the syntax would be for this there'd be something like that, and here what you're saying is kind of if L is a lending stream, whose item no matter what lifetime you give. It is always I, I'm type I. Then this can be me listening and the.

C

Fact that that's a way of saying the lifetime of the item does not depend on the lifetime of the winning stream.

A

Yes, that's what it's saying, because it kind of can't buy construction, because due to the way that doping works, the type AI has to be something you could type out here where this lifetime is nine scope, so can't possibly rather yeah right, okay, so yeah you could have and then the same issues will arise. So basically interconversion is going to be a pain because of coherence, and it would be nice to solve that.

A

So anyway, that's I thought that'd, be a nice thing for us to discuss and I. Don't have specific ideas beyond the answer of obvious ones for how to solve those problems, but it seemed good to go over it. I still think we should add streams as they're useful, and these problems are more general than that, but it will probably heighten the pressure to solve.

A

This RFC is ready to land. I was talking to local torogai, basically, I just have to make it do the work, metric tracking issue.

A

That was one question and at least make a stream about it or something in Zulu and call their project group um to track the progress. I, don't think, there's any other updates on that.

A

So tainted fall back I'm working with someone. You spend some time implementation.

C

Concern.

A

But it's been some time working on working at someone last weekend on Friday on how to solve this. So maybe we'll see some progress here. That would be nice. We'll see one thing I wanted to bring up about.

A

I'm I'm curious, whether along the way, if we find that there are solutions, don't involve changing the fallback, whether there's appetite to that. But this moment we're still exploring a solution that says we are going to change the fallback uniformly.

A

The update for project safe transmute.

C

Gearing up to actually post an RFC based on the results of the previous discussion, there's been a lot of back and forth about okay, what exactly goes into the RFC so I'm expecting that that should get posted evening week now.

C

So inline assembly is it an interesting state at this point it has been implemented and I mean actually I. Think the status rather is still accurate. It is implemented and it just needs to continue being used until we decide to pitch stabilization.

A

We have something, should we like checking on it or something.

C

uh Roughly speaking, yeah I think it would be good if we had a rough idea of how many releases we feel it needs to go through before we're ready to say. Has there been any critical issue and like when so I would really love to see this happen in the 2021 edition? I think it's so definitely go at least like three or four releases before we even consider this, but people are actively using it.

C

I see a lot of people who were using LOV, M azzam, converting their code bases over to use azzam, so I'm, one burying it do. We want to wait three or four releases. Do we want to wait until, like November December before releases is 12 for 4.

A

Times, 6 24 weeks is six months right.

C

Ok, so four releases is probably about the right amount. Isn't it I.

A

Not more I, don't think I would say two or three years playing hey I, guess.

C

Yeah six.

A

Months, let.

C

Me check back in 1.48, consider stabilizing it in 1.49.

A

Is that right, that's probably right.

C

Well, actually, why don't we check back in 1, 4 7 and then decide whether we want to stabilize it in for a tour 4 9.

A

Yes, I think we should be shooting for early next year. Okay, I mean that gives a good.

A

Good long time, a great.

C

Debate I.

A

Think we'll keep checking in. But unless there's a major.

C

Yeah I think at this point we don't need to check in on a day-by-day basis and make notes we can jut or week by week. Rather, we can just talk about it. If something comes up. No.

A

Constable uation so I don't know that. There's any updates.

C

Sorry one more item on the previous thing, the final comment period has completed on RFC 2873, and someone needs to actually merge the RFC on the wrong thing and since I was the a zone for it I'm thinking, somebody else should be the one to actually merge it. Okay, I.

A

Can do that.

A

Okay, but that I might to do this.

A

Merge rustling RFC's to 870, okay,.

A

It's a fine wine. We overlook that I. Think at this point, we're basically just.

C

There is a little bit of bike shedding going on in terms of naming like C on wine versus C online versus it's. It does not rise to the level that it's even worth talking about in this meeting. It's just literal bike shedding.

A

Yeah, that's right! There's some budgeting I! Don't really have.

A

Encouraged people to go and give their.

A

Otherwise, the RFC is basically right. There RFC, using FTP, that's gonna, take a little while for that to close its just entered our absolutely I, think we're gonna. The next stage is going to be implementation and work. It looks like some people come fast. They might be.

A

Yep.

A

Okay in terms of constant valuation, so there's this meeting proposal, which is not a constellation but is related, I think boats was talking about trying to go through and create a constant Eric some they both subset that we can actually stabilize I think this is a great idea.

A

Looks like we could do it this week, it looks like people would be able to attend.

C

We.

A

Talked.

C

About whether we should bump the checking for well for madness conditions on type alias discussion to another week in order to discuss the constant Eric's subset, I personally, would be all for that I think in terms of priorities. I just want to make sure that we still have the other meeting next week.

A

Yeah we can do that all right. Let's do that. um I will do scheduling, work.

C

So yeah their discussions on Zula for what this subset of counts jarek's would allow- and it's already quite a few interesting things.

A

Okay,.

A

Okay, so the last thing is: we have all these major change proposals, some of which are getting old and long in the tooth. We had talked about I'm going to approach this week, various people to see if there are people who want to serve as the eight bones, otherwise I think I'm going to start sending warnings that will probably close some of them. If we don't find a liaison assuming nobody signs up.

A

If you have thoughts about potentially being a liaison for one of these things, you should leave a comment, especially even if it's like I can't do this now, but I'd be interested in saying I.

C

Was about to ask, should we have a process for establishing people who are willing to Lee A's, but who do not currently have the bandwidth? Because there are you know some of these I might be willing to be a liaison for, but until the existing project groups finished their way through I feel, like I shouldn't take on another one. Yeah.

A

I think the process would you just leave on coming? Okay,.

C

I can do that just we had talked about like actually assigning ourselves to the RFC, but then I'd love to know a way of saying. How do we distinguish between willing and have time yeah.

A

I say just leave a comment for now with.

A

Nothing you hear no major updates that I know of.

A

Nominated peers.

A

Utilizing pointer offset from.

A

Anyway, um any thoughts on on this stabilization I think it's pending and waiting for the checks. I.

C

Think the biggest open here well, it's not waiting for very many more checks right, but I think the the biggest open here was it changed over from something that would technically allow you to get the offset from one object to another and then would generate undefined behavior if you actually used that offset ever to something that is specifically undefined behavior to even ask you which I think that seems fine if you're taking two unrelated objects and asking for the offset between them.

C

That seems questionable the only case that I can think of where that would be relevant would be things like I want to know which of these pointers is earlier, and that's just an argument that you should be able to or Don pointer, raw address values and I. Think you can do that already so I, don't think, there's a problem yeah! You can.

A

Convert them to you Jersey for one thing exactly.

C

Yeah, okay,.

A

There's anything else.

C

It's both legs and laying and non lying. Then we might want to leave it nominated. Think loops has a meeting. Okay, then.

A

Whoever's.

B

Typing be aware that you're not needed yes,.

A

This is on letting you do archived, in other words, is that you do we pointers within types and things like that I think we were tagged mostly because, or only because.

A

There's an unstable function which this relies on in some way or relies on lease on that same capability oops and what it does in particular is. It gets the alignment given a raw pointer. It gets the alignment of the value that that pointer references, but if T is sized, then the pointer can be dangling. Otherwise it cannot, because you have to read the metadata and I guess that's something you couldn't implement without specialization. So.

A

They wanted to make us aware.

A

Who would be like an intrinsic I guess.

A

Any thoughts.

A

Otherwise, people can check their boxes.

A

Okey-Dokey, how many good issues? Oh.

A

Yes, this is actually good stuff, so someone has been doing some interesting work here. I raise this because this intersects possible addition. So this is no. This is the RFC that allows you to find a good example. I guess allows you to write stuff like this, which will be a shorthand for a reference for printing the value of a which today would require this kind of more explicit notation and the problem is.

A

It turns out, there's this corner case around panic, where, if you do panic, bang with a value and no matter what that value is, it gets propagated up as the value that you panicked with, and that includes raw string literals that already contain braces so there it would be if we there's kind of a conflict here, and so what is being proposed is that we can use, in addition, boundary to transition so that the behavior is uniform and there are various details or possible ways. We could do that I guess.

A

The questions before us are kind of: do you want to do it at all there so which approach I? Don't have the details in my head right now, but I think my opinion would be that we should do this form. However, it should still be possible to panic with some value and not a string that is created.

A

I think that's something that's possible now and it's possible only with lips stirred I guess, because you need to allocate a box, it's not possible to live court, but if it were possible, then you would need I wouldn't want to take away the ability to like panic with some value. That's not a string, basically as the as the thing that you're throwing so to speak. I.

C

Think there's actually two issues at hand here. There is the issue that panic has the ability to process an arbitrary thing that isn't a string and yeah. That I believe involves boxing. There's also that panic has a special path for literal strings. uh That is designed for the case where you can't or don't want to allocate memory and don't want to handle the full format. Machinery and the macro is designed to say. Oh I have just a literal string and no arguments so I should avoid running this through any of the format machinery.

C

There was a proposal this week to add a mechanism to the arguments type for an as stir that would allow you to ask. Is this a literal string and can I just treat it as one, and it would be an as stir that returns option that option, stir rather option static, stir and so I believe that's being handled? And that then raises the question of.

C

If you do a panic using a literal string where the literal string appears to contain a format, then will it break anything to treat that as an error, rather than as a literal string that happens to contain curly braces.

C

You know so there's some discussion going on there and I get the impression that it in most cases it should just be resolvable and for the actual compatibility issue it might require rolling in addition, boundary, but either way, I think we should be able to resolve this right.

A

I think that's my impression there's like no reason. We can't resolve this as long as we're willing to wield an edition boundary and do some right. I think you do to resolve it. I mean big in the sense of you know, keep it all in perspective, but to everyday annoyance that we can.

C

Write and I think the the point of the discussion that I saw was that, while it might take an addition boundary to move forward, the result would not be losing any functionality compared to the current system, so people could always use the new edition version and would have the ability to work with a static string and an arbitrary value and an arbitrary format. Depending on the situation, there shouldn't be a problem.

A

Yeah, where were you seeing the conversation? Was it on this chalky issue or.

C

Somewhere else, some of it was here, and some of it was on the proposal to stabilize the argument arguments had stir I will link that hang on.

A

Okay, so I think that I want to propose that, like for the purposes of this meeting, we just post something saying we are in favor of making this transition, we would like to preserve the ability to panic with arbitrary values and literal strings in the process. You know, although it's okay, for it, to require some specific syntax or like a different fact. Maybe I don't know like what we would like to see a design for that is that song right.

B

That sounds good.

C

I kind of like.

B

The making it more obvious that you're intentionally doing me I, don't want to allocate and I, don't want all the format code.

A

So I don't know how many people saw it. I'm gonna put.

A

I'll come back to the bigger, but there's a draft RFC that I've been working on with them with Steve, but before we get to that, is there any this sound? Okay, any complaints about that.

A

All right well.

A

I'll post that after the meeting.

A

So about the RFC draft, Steve cab, Nick and I have been working on this RFC draft.

A

It is designed to kind of answer various questions about how additions will work going forward and what it specifically proposes is doing rust additions, kind of yeah I'll, just say what it is: I, don't know whether it's it's somehow continuing with the current plan, but also changing what the previous edition RFC headsail in some ways, trying to do them on a regular three-year cadence, but not trying to use additions as a sort of deadline or a way to tie together a bunch of higher priority projects.

A

The idea is more that, like the Train model that these are the chance, we expect that everything will have done a lot of Wi-Fi already working. It will give us a chance to talk about what we have done.

C

But.

A

Whereas for us 2018, we kind of really pushed hard to get a bunch of stuff done by then and I was highly stressful. We want to try to avoid reproducing that dynamic, but you know maybe it'll happen more naturally, because there will be this sort of sense of here's the additions and we can phase different kinds of work at different points. To do this a little bit and we specifically said that we would make addition idiom.

A

Let's change the way those worked so Russ 2018, idiom Lintz were up I, don't remember exactly how they worked, but they were not errors in West 2018.

A

What we would like to do is say that if you have an idiom lint, it's a warning for older editions and it becomes denied by default. In the new edition and like any migration, we introduced the term migrations for basically breaking changes that are specific to the new edition.

A

So idiom plans are like other migrations, in that you ought to have an either they should have very low impact or you have an automatic pathway for them, because they're going to become the NIE Beattyville, and we also said that we don't want to do fishing for reserving keywords or other syntax changes that you should be doing that as part of some active project group or you know RFC like. If we have some proposal to make generators, then we can reserve the keywords that that proposal is looking at, but we're not gonna go reserved.

A

Keywords like a whole bunch of keywords that we think we might use um which is kind of what we said in the last division and.

A

The is there any other changes, some of the motivations here, I thought, was kind of interesting I guess. I was specifically comparing to like.

A

To the way, ember does their additions, which is this fixed, driven feature driven additions, at least when things are ready, so they basically introduce a bunch of they set a high level goal. They don't say when the addition is gonna be released, so it's not like they call it. They give it a name like octane and then they, when the work is done, the addition is declared.

A

So it's like a big triumphant event that they've achieved this goal, which is really cool idea, but it's a little bit different and, in particular, I think it doesn't fit with smaller changes. So well so I think things like this panic is a good example of kind of smaller changes that if you have a regularly paced addition, you can sort of say: okay, we're gonna make this transition so that this corner case you know you can now just reference variables without having to.

A

Add them as separate arguments, but there's a corner case where it will create some incompatibility, but we don't think it'll affect a lot of people, so we can slide it in for the next division and manage it that way.

A

um You can't do that if you're tying tying a bunch of things to these the addition, and so similarly, we want to make it basically that we're gonna do the addition, because we always expect to have some stuff to do and not make it so that we like have to decide whether the addition is worthwhile based on what changes are there or not there?

A

That's the proposal, I'm open to feedback, if you don't agree with certain aspects of it, but it definitely affects the lang team. Quite a bit he's worth bringing up I. Think we'll open this as an RFC. Soon one thing I haven't added is I was trying to add things in the appendix here as possible changes.

A

I know we had a list somewhere, I have to go, find it and I think one thing we we also say in here, and that is that we will should create a sort of group who's dedicated to managing the addition, and so I think we'll want to think about what is the process for stuff like this panic thing change whatever? How do they get?

A

We have to have some master list of all the things we're tracking for the addition. How do we get things into that list? It's going to be important.

A

You.

A

Already.

A

um Speaking of things so sorry.

C

I apologize I was on mute on that RFC.

C

One policy question that I would be curious about about policy changes. You mentioned the change to the idiom lengths that they would start becoming deny by default in the addiction, so 2021 ATM LEDs will become deny in the 2021 edition. If you opt in um I'm wondering do we need to have a certain time lag there such that we do not introduce an idiom lint. You know the release before a 2021 Edition comes out and then immediately when that edition comes out. If you're using that edition, it becomes a denied by default.

C

Do we need a transition period or is that fine? Because you have to opt into the edition I.

B

Think.

A

It's fine because you have.

B

To opt and opt in.

C

Okay: okay, no in theory, they might give you a nice long warning that something's coming, but even if they don't they let you know what's the problem in your code before you, transition I.

A

Say you'll be getting the warning in the old edition and ideally it would come with a migration. So when you make the transition to the new edition, it'll be fixed for you. In any case, although the only caveat is that an acceptable migration might be to just add or warn like just change the level in your crates, for it, your function about something yeah, so you can have very simplistic migrations, and then you do have to deal with it yourself. If you care to remove those.

A

But basically it's the famous heiress right so like same as any other migration. You have to do.

B

Only barely.

A

Over the typing.

A

Try turning off the video and see the elves making peers having some issues. Okay, it seems a little better now. Hopefully you can hear me all right. This ampersand raw issue, I think I nominated this yeah, mostly because I want to move the R or F macro for stabilization. Is there a reason not to do that?

A

Anyone have it concerns about that.

A

So you know, there's no I, think Ralph at some point, and so he would be willing to prepare a stabilization PR. There are also some examples here of people using it.

A

We're ready to expose this capability.

A

Okay,.

A

Over the nomination, there's not anything to say here.

A

Cool how many good RFC's none RFC about pending list.

A

We already covered these two issues target feature 1.1, oh yeah, this we're just waiting on in a ping nice. These folks.

A

And for calling methods that I remember what was going on with this, anyone haven't been in for a long time. I think this is the thing where we're kind of it's. Basically, a project group style like we need some experimentation, and that's already happening anyway, that sound right.

A

Alright only got a few minutes left any final thoughts for the beat just the end of the agenda.

A

Going once twice.

A

Thanks everybody for attending and see you next time or see you on Wednesday.
youtube image
From YouTube: Lang Team Triage 2020-07-20

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).