Stream: t-compiler/wg-prioritization/alerts

Topic: I-prioritize #79674 ICE with const generics: asked to assem…


triagebot (Dec 20 2020 at 19:28, on Zulip):

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

Procedure

Ryan Levick (Dec 21 2020 at 16:30, on Zulip):

Given this requires a nightly feature, is this a P-low?

Léo Lanteri Thauvin (Dec 21 2020 at 16:35, on Zulip):

If it requires nightly features it shouldn't be regression-from-stable-to-stable, and I think we don't prioritize them usually

Ryan Levick (Dec 21 2020 at 16:41, on Zulip):

The label was added by @matthiaskrgr . Shall we remove the regression-from-stable-to-stable label?

Léo Lanteri Thauvin (Dec 21 2020 at 16:42, on Zulip):

Yeah, I think so

triagebot (Dec 21 2020 at 16:42, on Zulip):

Issue #79674's prioritization request has been removed.

triagebot (Dec 21 2020 at 22:00, on Zulip):

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

Procedure

Léo Lanteri Thauvin (Dec 21 2020 at 22:00, on Zulip):

I think we can go with P-low here

Léo Lanteri Thauvin (Dec 21 2020 at 22:02, on Zulip):

Or maybe... Is this valid code with the features enabled?

Camelid (Dec 21 2020 at 22:03, on Zulip):

Perhaps we should wait for lcnr or someone else who knows const generics well enough to tell.

Camelid (Dec 21 2020 at 22:03, on Zulip):

I don't think we should really treat this as a stable-to-stable regression.

Camelid (Dec 21 2020 at 22:04, on Zulip):

The code doesn't work without nightly features, so it shouldn't be affecting anyone who's actually on stable.

Léo Lanteri Thauvin (Dec 21 2020 at 22:04, on Zulip):

Right, but you can reproduce it on stable

Léo Lanteri Thauvin (Dec 21 2020 at 22:05, on Zulip):

So it doesn't "require" a nightly compiler to reproduce

Camelid (Dec 21 2020 at 22:05, on Zulip):

Yes, but a lot of things can be reproduced on stable since the compiler will still try to compile something even if it requires features.

Léo Lanteri Thauvin (Dec 21 2020 at 22:05, on Zulip):

Anyway we're nitpicking on terminology here :D

Camelid (Dec 21 2020 at 22:05, on Zulip):

But in general we don't prioritize nightly code, right?

Camelid (Dec 21 2020 at 22:06, on Zulip):

And this code can't be used on stable even if it didn't ICE.

Léo Lanteri Thauvin (Dec 21 2020 at 22:06, on Zulip):

We do prioritize what's going to get to stable in 2 stable releases, i.e. stable-to-nightly-regressions

Camelid (Dec 21 2020 at 22:06, on Zulip):

Well, I forgot that const generics are going to be stabilized soon.

Léo Lanteri Thauvin (Dec 21 2020 at 22:07, on Zulip):

Camelid said:

Well, I forgot that const generics are going to be stabilized soon.

Only min_const_generics though

Léo Lanteri Thauvin (Dec 21 2020 at 22:07, on Zulip):

Just curious, can we repro with min_const_generics?

Camelid (Dec 21 2020 at 22:07, on Zulip):

Well, either way, better to err on the side of prioritization.

Camelid (Dec 21 2020 at 22:07, on Zulip):

What do you mean?

Léo Lanteri Thauvin (Dec 21 2020 at 22:08, on Zulip):

I mean replace the #![feature(const_generics)] in the repro with #![feature(min_const_generics)]

Léo Lanteri Thauvin (Dec 21 2020 at 22:08, on Zulip):

And it doesn't compile

Camelid (Dec 21 2020 at 22:09, on Zulip):

It errors but it doesn't ICE.

Léo Lanteri Thauvin (Dec 21 2020 at 22:09, on Zulip):

Right

Camelid (Dec 21 2020 at 22:12, on Zulip):

So P-medium?

Camelid (Dec 21 2020 at 22:12, on Zulip):

Or even P-low.

Léo Lanteri Thauvin (Dec 21 2020 at 22:12, on Zulip):

I'd lean more towards P-low because it gives errors before ICE'ing

Léo Lanteri Thauvin (Dec 21 2020 at 22:12, on Zulip):

But I'm OK with P-medium

Camelid (Dec 21 2020 at 22:12, on Zulip):

It does?

Camelid (Dec 21 2020 at 22:13, on Zulip):

It doesn't give errors.

Léo Lanteri Thauvin (Dec 21 2020 at 22:13, on Zulip):
   Compiling playground v0.0.1 (/playground)
error[E0554]: `#![feature]` may not be used on the stable release channel
 --> src/main.rs:1:1
  |
1 | #![feature(const_generics)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0554]: `#![feature]` may not be used on the stable release channel
 --> src/main.rs:2:1
  |
2 | #![feature(const_evaluatable_checked)]
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0554]: `#![feature]` may not be used on the stable release channel
 --> src/main.rs:3:1
  |
3 | #![feature(const_fn)]
  | ^^^^^^^^^^^^^^^^^^^^^

warning: the feature `const_generics` is incomplete and may not be safe to use and/or cause compiler crashes
 --> src/main.rs:1:12
  |
1 | #![feature(const_generics)]
  |            ^^^^^^^^^^^^^^
  |
  = note: `#[warn(incomplete_features)]` on by default
  = note: see issue #44580 <https://github.com/rust-lang/rust/issues/44580> for more information

warning: the feature `const_evaluatable_checked` is incomplete and may not be safe to use and/or cause compiler crashes
 --> src/main.rs:2:12
  |
2 | #![feature(const_evaluatable_checked)]
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #76560 <https://github.com/rust-lang/rust/issues/76560> for more information

error: internal compiler error: compiler/rustc_trait_selection/src/traits/select/mod.rs:1473:17: asked to assemble builtin bounds of unexpected type: Placeholder(Placeholder { universe: U1, name: 0 })

thread 'rustc' panicked at 'Box<Any>', compiler/rustc_errors/src/lib.rs:945:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.48.0 (7eac88abb 2020-11-16) running on x86_64-unknown-linux-gnu

note: compiler flags: -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --crate-type bin

note: some of the compiler flags provided by cargo are hidden

error: aborting due to 4 previous errors; 2 warnings emitted

For more information about this error, try `rustc --explain E0554`.
error: could not compile `playground`

To learn more, run the command again with --verbose.
Camelid (Dec 21 2020 at 22:13, on Zulip):

Yes, but that's expected.

Camelid (Dec 21 2020 at 22:13, on Zulip):

What's your point? :)

Léo Lanteri Thauvin (Dec 21 2020 at 22:13, on Zulip):

My point is, if you're a stable user, you won't get confused

Camelid (Dec 21 2020 at 22:13, on Zulip):

Ah, I see.

Camelid (Dec 21 2020 at 22:13, on Zulip):

So P-low it is.

triagebot (Dec 21 2020 at 22:14, on Zulip):

Issue #79674's prioritization request has been removed.

Camelid (Dec 21 2020 at 22:14, on Zulip):

Done!

Léo Lanteri Thauvin (Dec 21 2020 at 22:14, on Zulip):

I'll still ping @lcnr here, in case they want to take a look at the code and tell us if this is supposed to work or not

Camelid (Dec 21 2020 at 22:15, on Zulip):

Only 7 issues left to go!

lcnr (Dec 22 2020 at 10:56, on Zulip):

yeah, P-low seems correct to me here

Last update: Apr 11 2021 at 17:45UTC