Uh oh!
There was an error while loading. Please reload this page.
unwrap_usize should at least try to evaluate the underlying constant - #59369
Conversation
oli-obk
commented
Mar 23, 2019
cc @nikomatsakis this is related to lazy normalization. I could probably run the regular opportunistic normalization on the types (and thus the array lengths inside the array types) obtained in rust/src/librustc_typeck/check/_match.rs Line 396 in ad8a3eb |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
oli-obk
commented
Mar 28, 2019
@eddyb is 1650513 what you had in mind? |
eddyb
commented
Mar 28, 2019
Your error says this is what can't be lifted: ParamEnvAnd{ param_env:ParamEnv{
caller_bounds:[Binder(OutlivesPredicate('_#0r,'_#1r
))],
reveal:UserFacing,
def_id:None},
value: usize
}But this can't really exist? Ohhh, you need to convert it to a |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
bors
commented
Apr 2, 2019
☔ The latest upstream changes (presumably #59636) made this pull request unmergeable. Please resolve the merge conflicts. |
bors
commented
Apr 13, 2019
☔ The latest upstream changes (presumably #59612) made this pull request unmergeable. Please resolve the merge conflicts. |
Dylan-DPC-zz
commented
Apr 22, 2019
ping from triage @eddyb waiting for your review on this |
oli-obk
commented
Apr 23, 2019
Nope, I still have things to address, sorry about that |
eddyb
commented
Apr 24, 2019
This is also waiting on @nikomatsakis for a few questions. |
pnkfelix
commented
May 2, 2019
cc #60471 since this is "related to lazy normalization" |
Uh oh!
There was an error while loading. Please reload this page.
@nikomatsakis this is ready for review again. The big question related to lazy normalization is whether it's ok that this evalutes (some) constants at the point where someone is trying to act upon the actual value of the constant. Eager normalization happens in rust/src/librustc/traits/project.rs Line 401 in 999c1fc rust/src/librustc/traits/query/normalize.rs Line 191 in 5cd2806 EDIT for clarity: this PR does not change eager normalization. We just do lazy normalization of some constants that were never eagerly normalized. |
eddyb
commented
May 22, 2019
@oli-obk I would expect that for now eager normalization would still resolve at least everything which evaluates successfully, right? |
bors
commented
May 25, 2019
☔ The latest upstream changes (presumably #59276) made this pull request unmergeable. Please resolve the merge conflicts. |
wirelessringo
commented
Aug 2, 2019
oli-obk
commented
Aug 5, 2019
@bors r=eddyb,nikomatsakis |
bors
commented
Aug 5, 2019
📌 Commit bd57498 has been approved by |
bors
commented
Aug 5, 2019
bors
commented
Aug 5, 2019
☀️ Test successful - checks-azure |
Rustup rust-lang/rust#59369 Unblock rust-lang/rust#63280 changelog: none
r? @eddyb
fixes#59016
I know that I'm still using
ParamEnvwrongly, but that's a preexisting issue not amplified by this PR.