Stream: t-compiler/wg-nll

Topic: #49147-const-array-repeat


centril (Dec 21 2018 at 15:34, on Zulip):

@pnkfelix btw... in https://github.com/rust-lang/rust/pull/57045 @RalfJ used MaybeUninit::uninitialized().into_inner()to go from MaybeUninit<[MaybeUninit; N]> to [MaybeUninit; N] which made me think of https://github.com/rust-lang/rust/issues/49147... which in turn is blocked on making MIR borrowck the default... Is this unblocked now?

pnkfelix (Dec 21 2018 at 15:35, on Zulip):

MIR-borrowck is only the default on 2018 edition.

pnkfelix (Dec 21 2018 at 15:36, on Zulip):

I assume #49147 would have an effect on both 2015 and 2018 editions?

centril (Dec 21 2018 at 15:36, on Zulip):

@pnkfelix alright... so uhm; its unblocked for implementation on 2018 then? or should we wait before MIR-borrowck is extended to 2015 as well?

centril (Dec 21 2018 at 15:37, on Zulip):

yeah it would, but maybe we can experiment on 2018 only for now?

pnkfelix (Dec 21 2018 at 15:37, on Zulip):

(we do have other features that are only enabled when NLL is turned on. Namely #![feature(bind_by_move_pattern_guards)]; see PR #54034 )

centril (Dec 21 2018 at 15:39, on Zulip):

@pnkfelix haha; implemented 4 years later =P :tada:

pnkfelix (Dec 21 2018 at 15:39, on Zulip):

So, assuming 1. #49147 would continue to have its own feature gate and 2. #49147 is truly only blocked by NLL, then I would not be opposed to treating it analogously to #54034

centril (Dec 21 2018 at 15:40, on Zulip):

@pnkfelix btw... is #54034 stable on 2018?

pnkfelix (Dec 21 2018 at 15:40, on Zulip):

nope

pnkfelix (Dec 21 2018 at 15:40, on Zulip):

it just suggests the feature gate

pnkfelix (Dec 21 2018 at 15:41, on Zulip):

there's a series of comments from me about this on #15287

pnkfelix (Dec 21 2018 at 15:41, on Zulip):

oh that reminds me

pnkfelix (Dec 21 2018 at 15:42, on Zulip):

#45600 is probably related to your in-progress RFC you pointed to earlier.

centril (Dec 21 2018 at 15:42, on Zulip):

ill have a look

pnkfelix (Dec 21 2018 at 15:42, on Zulip):

(added corresponding link)

centril (Dec 21 2018 at 15:43, on Zulip):

@pnkfelix btw; isn't https://github.com/rust-lang/rust/issues/15287 supposed to be tagged T-lang?

pnkfelix (Dec 21 2018 at 15:43, on Zulip):

The heart of #45600 (as it currently stands) is that we reject this:

struct Foo(String, String);
fn x(f: Foo) {
    match f {
        Foo(a, ref b) => {}
    }
}

but there might not be a good motivation for rejecting it at this point.

pnkfelix (Dec 21 2018 at 15:44, on Zulip):

@pnkfelix btw; isn't https://github.com/rust-lang/rust/issues/15287 supposed to be tagged T-lang?

sure that sounds reasonable, given the current status.

centril (Dec 21 2018 at 15:44, on Zulip):

aight; adding

centril (Dec 21 2018 at 15:47, on Zulip):

@pnkfelix re. #15287 -- does it need to block on making NLL default on 2015 or could we stabilize to 2018 first and then backport?

pnkfelix (Dec 21 2018 at 15:49, on Zulip):

well one might claim it might be good to keep the set of features enabled by NLL somewhat contained until we've managed to release it more broadly

pnkfelix (Dec 21 2018 at 15:49, on Zulip):

(at least in migrate mode)

centril (Dec 21 2018 at 15:49, on Zulip):

@pnkfelix yeah that's a reasonable objection

pnkfelix (Dec 21 2018 at 15:49, on Zulip):

But I don't actually have much preference one way or another.

centril (Dec 21 2018 at 15:49, on Zulip):

same

pnkfelix (Dec 21 2018 at 15:50, on Zulip):

added note to the comment to try to capture that alternative

centril (Dec 21 2018 at 15:51, on Zulip):

@pnkfelix I'll nominate for lang.mtg.next to see what we want to do

Last update: Nov 21 2019 at 13:45UTC