Stream: t-compiler/wg-prioritization/alerts

Topic: #82633 `fn() -> Out` is a valid type for unsized types `Out…


triagebot (Mar 02 2021 at 18:35, on Zulip):

@WG-prioritization/alerts issue #82633 has been requested for prioritization.

Procedure

Camelid (Mar 02 2021 at 18:36, on Zulip):

Seems P-high or P-critical based on a quick glance.

Joshua Nelson (Mar 02 2021 at 18:40, on Zulip):

I don't quite understand this - why is it unsound?

Joshua Nelson (Mar 02 2021 at 18:40, on Zulip):

oh oh I see Self: Sized is not upheld

Camelid (Mar 02 2021 at 18:45, on Zulip):

And the OP code fails at the linker stage, which is definitely not what we want.

Joshua Nelson (Mar 02 2021 at 18:45, on Zulip):

well sure but that doesn't scream unsoundness to me

Camelid (Mar 02 2021 at 18:45, on Zulip):

(And means the type-checker is unsound.)

Joshua Nelson (Mar 02 2021 at 18:46, on Zulip):

I think P-high is good - you have to break this intentionally

Léo Lanteri Thauvin (Mar 02 2021 at 18:46, on Zulip):

Is this not requires-nightly?

Joshua Nelson (Mar 02 2021 at 18:47, on Zulip):

I think it has to be nightly to be unsound. The root cause is on every channel though.

Léo Lanteri Thauvin (Mar 02 2021 at 18:47, on Zulip):

You do have to use a nightly compiler with a feature enabled to run into this

Camelid (Mar 02 2021 at 18:48, on Zulip):

Nope, OP posted this: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=7c35f539b04d1ea8c27cd6cb3957c616

Léo Lanteri Thauvin (Mar 02 2021 at 18:48, on Zulip):

Camelid said:

Nope, OP posted this: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=7c35f539b04d1ea8c27cd6cb3957c616

Ah thanks, that's what I wanted to know

Camelid (Mar 02 2021 at 18:48, on Zulip):

That code should have a compiler error.

Camelid (Mar 02 2021 at 18:49, on Zulip):

I think I'm okay with P-high, but this does seem relatively P-critical as well.

Camelid (Mar 02 2021 at 18:49, on Zulip):

Type-system unsoundness is a big deal.

Camelid (Mar 02 2021 at 18:49, on Zulip):

But since you can't trigger serious problems without nightly, I guess P-high is fine.

Camelid (Mar 02 2021 at 18:49, on Zulip):

idk, what do you think?

Joshua Nelson (Mar 02 2021 at 18:50, on Zulip):

Camelid said:

But since you can't trigger serious problems without nightly, I guess P-high is fine.

^ this is what I think, yeah

Léo Lanteri Thauvin (Mar 02 2021 at 18:50, on Zulip):

So it's visible on stable, but only truly unsound on nightly, is that correct?

Joshua Nelson (Mar 02 2021 at 18:50, on Zulip):

AFAIK

Léo Lanteri Thauvin (Mar 02 2021 at 18:50, on Zulip):

Right

Léo Lanteri Thauvin (Mar 02 2021 at 18:50, on Zulip):

Definitely worth monitoring then, I think

Joshua Nelson (Mar 02 2021 at 18:51, on Zulip):

but I don't think this is a release blocker, which is what P-critical means

Léo Lanteri Thauvin (Mar 02 2021 at 18:51, on Zulip):

Yeah, I think P-high, or maybe even not prioritizing is right as long as we can't find a way to have unsoundness on stable

Léo Lanteri Thauvin (Mar 02 2021 at 18:53, on Zulip):

Let's go for P-high?

Camelid (Mar 02 2021 at 18:54, on Zulip):

Yeah, that seems good enough I guess.

triagebot (Mar 02 2021 at 18:56, on Zulip):

Issue #82633's prioritization request has been removed.

Camelid (Mar 02 2021 at 19:09, on Zulip):

This regressed in 1.49, code on stable that used to error now compiles on stable. Should we reconsider the prioritization?

apiraino (Mar 03 2021 at 08:47, on Zulip):

I'm unclear on how to reconcile the bisection (that points to #73905) with the comments showing this unsoundness has always been there (therefore not a regression). Maybe #73905 just made it more apparent?

Anyway, given the context I /think/ P-high should be fine (next Rust release is on March, 25th). I wonder if we should anyone in particular? (I-nominate?)

Camelid (Mar 03 2021 at 18:13, on Zulip):

I-nominated might be nice.

Last update: Apr 15 2021 at 02:30UTC