Skip to content

Conversation

aliemjay
Copy link
Member

@aliemjay aliemjay commented Jan 27, 2023

Fixes #106567

r? @lcnr (feel free to reassign)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 27, 2023
@aliemjay aliemjay marked this pull request as draft January 27, 2023 16:43
@aliemjay
Copy link
Member Author

blocked on #105982

@rustbot label S-blocked -S-waiting-on-review

@rustbot rustbot added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 27, 2023
@rust-log-analyzer

This comment has been minimized.

@lcnr
Copy link
Contributor

lcnr commented Feb 1, 2023

is this still blocked on #105982 now?

@aliemjay
Copy link
Member Author

aliemjay commented Feb 1, 2023

Nope.
@rustbot label -S-blocked

@rustbot rustbot removed the S-blocked Status: Blocked on something else such as an RFC or other implementation work. label Feb 1, 2023
@aliemjay
Copy link
Member Author

aliemjay commented Feb 1, 2023

Fixes #106567

@rustbot review

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 1, 2023
@aliemjay aliemjay marked this pull request as ready for review February 1, 2023 11:58
Copy link
Contributor

@lcnr lcnr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me after dealing with the comments

also, this now fixes #106567 i think edit: as you've said in the previous comment. please add that to the description

// of *every* relationship that arises here,
// but presently we do not.)
if r_a.is_free_or_static() && r_b.is_free() {
self.region_relation.add(r_a, r_b)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you still make this an exhaustive match on r_a?

Comment on lines 92 to 98
match *r {
ty::ReVar(_) if self.resolve_to_universal => self
.infcx
.inner
.borrow_mut()
.unwrap_region_constraints()
.opportunistic_resolve_region(TypeFolder::tcx(self), r),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cna we always use opportunistic_resolve_region here?

@lcnr
Copy link
Contributor

lcnr commented Feb 15, 2023

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 15, 2023
@bors
Copy link
Collaborator

bors commented Feb 16, 2023

☔ The latest upstream changes (presumably #108096) made this pull request unmergeable. Please resolve the merge conflicts.

@aliemjay
Copy link
Member Author

aliemjay commented Feb 16, 2023

blocked on #108121
@rustbot label -S-waiting-on-author S-Blocked

@rustbot
Copy link
Collaborator

rustbot commented Feb 16, 2023

Error: Label Swaiting-on-author can only be set by Rust team members

Please file an issue on GitHub at triagebot if there's a problem with this bot, or reach out on #t-infra on Zulip.

@rustbot rustbot added S-blocked Status: Blocked on something else such as an RFC or other implementation work. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Feb 16, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 8, 2023
always resolve to universal regions if possible

`RegionConstraintCollector::opportunistic_resolve_var`, which is used in canonicalization and projection logic, doesn't resolve the region var to an equal universal region. So if we have equated `'static == '1 == '2`, it doesn't resolve `'1` or `'2` to `'static`. Now it does!

Addresses review comment rust-lang#107376 (comment).

r? `@lcnr`
@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Mar 14, 2023
@bors
Copy link
Collaborator

bors commented Mar 15, 2023

⌛ Testing commit 211fa45 with merge e84e5ff...

@bors
Copy link
Collaborator

bors commented Mar 15, 2023

☀️ Test successful - checks-actions
Approved by: lcnr
Pushing e84e5ff to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 15, 2023
@bors bors merged commit e84e5ff into rust-lang:master Mar 15, 2023
@rustbot rustbot added this to the 1.70.0 milestone Mar 15, 2023
@aliemjay aliemjay deleted the remove-givens branch March 15, 2023 09:07
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e84e5ff): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Warning ⚠: The following benchmark(s) failed to build:

  • webrender-2022

cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.6% [0.5%, 0.7%] 3
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.3%] 3
All ❌✅ (primary) 0.6% [0.5%, 0.7%] 3

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.6% [1.6%, 1.6%] 1
Improvements ✅
(primary)
-3.1% [-3.1%, -3.1%] 1
Improvements ✅
(secondary)
-3.4% [-3.8%, -3.1%] 2
All ❌✅ (primary) -3.1% [-3.1%, -3.1%] 1

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-4.1% [-4.7%, -3.5%] 4
All ❌✅ (primary) - - 0

@rustbot rustbot added the perf-regression Performance regression. label Mar 15, 2023
@@ -52,6 +53,10 @@ impl<'a, 'tcx: 'a> InferCtxtExt<'a, 'tcx> for InferCtxt<'tcx> {
body_id: LocalDefId,
ty: Ty<'tcx>,
) -> Vec<OutlivesBound<'tcx>> {
let ty = self.resolve_vars_if_possible(ty);
let ty = OpportunisticRegionResolver::new(self).fold_ty(ty);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it still needed to fold twice here?

@Kobzol
Copy link
Member

Kobzol commented Mar 15, 2023

This PR broke compilation of webrender-2022 in the perf. suite.
I got this stacktrace out of it:

error: internal compiler error: /rustc/e84e5ff04a647ce28540300244a26ba120642eea/compiler/rustc_infer/src/infer/outlives/env.rs:145:26: add_outlives_bounds: unexpected regions

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/e84e5ff04a647ce28540300244a26ba120642eea/compiler/rustc_errors/src/lib.rs:1644:9
stack backtrace:
   0:     0x7f5269f4151a - std::backtrace_rs::backtrace::libunwind::trace::hab17a96bd248950c
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f5269f4151a - std::backtrace_rs::backtrace::trace_unsynchronized::h2dd96cad48ba21dc
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f5269f4151a - std::sys_common::backtrace::_print_fmt::h38b10a2f9d2b2585
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f5269f4151a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h194193fb0b01617d
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f5269fa4c5e - core::fmt::write::hd9150a25fdbebf32
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/core/src/fmt/mod.rs:1232:17
   5:     0x7f5269f34275 - std::io::Write::write_fmt::h3837df0e41e13e0e
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/io/mod.rs:1684:15
   6:     0x7f5269f412e5 - std::sys_common::backtrace::_print::h8a5cae525f1be897
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7f5269f412e5 - std::sys_common::backtrace::print::h49b97caefe2bba8a
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7f5269f4405f - std::panicking::default_hook::{{closure}}::h2a3da047f4b2da03
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/panicking.rs:271:22
   9:     0x7f5269f43d9b - std::panicking::default_hook::hc971a327b2a9d145
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/panicking.rs:290:9
  10:     0x7f526d244045 - rustc_driver_impl[6fa38601416e453]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f5269f4489d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8520e136aebea51a
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/alloc/src/boxed.rs:2002:9
  12:     0x7f5269f4489d - std::panicking::rust_panic_with_hook::h93b4e29d3ec3eadc
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/panicking.rs:696:13
    Checking webrender_api v0.61.0 (/tmp/.tmp2jNQeL/webrender_api)
  13:     0x7f526d7a27a1 - std[45927792e1219606]::panicking::begin_panic::<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>::{closure#0}
  14:     0x7f526d79dc46 - std[45927792e1219606]::sys_common::backtrace::__rust_end_short_backtrace::<std[45927792e1219606]::panicking::begin_panic<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>::{closure#0}, !>
  15:     0x7f526d744536 - std[45927792e1219606]::panicking::begin_panic::<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>
  16:     0x7f526d7eeea6 - std[45927792e1219606]::panic::panic_any::<rustc_errors[d7b71bcef7ff042a]::ExplicitBug>
  17:     0x7f526d7eb726 - <rustc_errors[d7b71bcef7ff042a]::HandlerInner>::bug::<&alloc[f3ac33a76f945683]::string::String>
  18:     0x7f526d7eb3f0 - <rustc_errors[d7b71bcef7ff042a]::Handler>::bug::<&alloc[f3ac33a76f945683]::string::String>
  19:     0x7f526d7d77fb - rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt::<rustc_span[a2f01ea7f179d208]::span_encoding::Span>::{closure#0}
  20:     0x7f526d7d625a - rustc_middle[7f2c9dc76d3467a6]::ty::context::tls::with_opt::<rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt<rustc_span[a2f01ea7f179d208]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  21:     0x7f526d7d6226 - rustc_middle[7f2c9dc76d3467a6]::ty::context::tls::with_context_opt::<rustc_middle[7f2c9dc76d3467a6]::ty::context::tls::with_opt<rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt<rustc_span[a2f01ea7f179d208]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  22:     0x7f526d7d7746 - rustc_middle[7f2c9dc76d3467a6]::util::bug::opt_span_bug_fmt::<rustc_span[a2f01ea7f179d208]::span_encoding::Span>
  23:     0x7f526b9389f3 - rustc_middle[7f2c9dc76d3467a6]::util::bug::bug_fmt
  24:     0x7f526c14d855 - <rustc_infer[219913fda715446f]::infer::outlives::env::OutlivesEnvironment>::with_bounds::<core[33bcc9bae161e6d]::iter::adapters::flatten::Flatten<core[33bcc9bae161e6d]::iter::adapters::map::Map<indexmap[52bde976a34d3203]::set::IntoIter<rustc_middle[7f2c9dc76d3467a6]::ty::Ty>, <rustc_infer[219913fda715446f]::infer::InferCtxt as rustc_trait_selection[a330fa3a60fd254]::traits::outlives_bounds::InferCtxtExt>::implied_bounds_tys::{closure#0}>>>
  25:     0x7f526b3050e0 - rustc_hir_analysis[afd80bd0636fe849]::check::compare_impl_item::compare_method_predicate_entailment
  26:     0x7f526b2ff061 - rustc_hir_analysis[afd80bd0636fe849]::check::compare_impl_item::compare_impl_method
  27:     0x7f526b2f1a67 - rustc_hir_analysis[afd80bd0636fe849]::check::check::check_mod_item_types
  28:     0x7f526c88023e - rustc_query_system[c5524b2d21c39947]::query::plumbing::try_execute_query::<rustc_query_impl[79380581a3052c55]::queries::check_mod_item_types, rustc_query_impl[79380581a3052c55]::plumbing::QueryCtxt>
  29:     0x7f526c87fdc3 - <rustc_query_impl[79380581a3052c55]::Queries as rustc_middle[7f2c9dc76d3467a6]::ty::query::QueryEngine>::check_mod_item_types
  30:     0x7f526b5dacb4 - <rustc_session[63828082f6106403]::session::Session>::time::<(), rustc_hir_analysis[afd80bd0636fe849]::check_crate::{closure#6}>
  31:     0x7f526b5d7bf8 - rustc_hir_analysis[afd80bd0636fe849]::check_crate
  32:     0x7f526b5cf942 - rustc_interface[920696c1fd270c1b]::passes::analysis
  33:     0x7f526ca5cbec - rustc_query_system[c5524b2d21c39947]::query::plumbing::try_execute_query::<rustc_query_impl[79380581a3052c55]::queries::analysis, rustc_query_impl[79380581a3052c55]::plumbing::QueryCtxt>
  34:     0x7f526ca5c8e0 - <rustc_query_impl[79380581a3052c55]::Queries as rustc_middle[7f2c9dc76d3467a6]::ty::query::QueryEngine>::analysis
  35:     0x7f526c883a19 - <rustc_middle[7f2c9dc76d3467a6]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>
  36:     0x7f526c44baf8 - rustc_span[a2f01ea7f179d208]::with_source_map::<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_interface[920696c1fd270c1b]::interface::run_compiler<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  37:     0x7f526c442c5c - std[45927792e1219606]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[920696c1fd270c1b]::util::run_in_thread_pool_with_globals<rustc_interface[920696c1fd270c1b]::interface::run_compiler<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}>::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>
  38:     0x7f526c44268a - <<std[45927792e1219606]::thread::Builder>::spawn_unchecked_<rustc_interface[920696c1fd270c1b]::util::run_in_thread_pool_with_globals<rustc_interface[920696c1fd270c1b]::interface::run_compiler<core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>, rustc_driver_impl[6fa38601416e453]::run_compiler::{closure#1}>::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[33bcc9bae161e6d]::result::Result<(), rustc_span[a2f01ea7f179d208]::ErrorGuaranteed>>::{closure#1} as core[33bcc9bae161e6d]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  39:     0x7f5269f4e793 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h81703dda3203ac5a
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/alloc/src/boxed.rs:1988:9
  40:     0x7f5269f4e793 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30492a21713d5868
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/alloc/src/boxed.rs:1988:9
  41:     0x7f5269f4e793 - std::sys::unix::thread::Thread::new::thread_start::h834788d019271333
                               at /rustc/e84e5ff04a647ce28540300244a26ba120642eea/library/std/src/sys/unix/thread.rs:108:17
"/home/kobzol/.rustup/toolchains/e84e5ff04a647ce28540300244a26ba120642eea/bin/rustc" ["--crate-name", "webrender_api", "--edition=2018", "webrender_api/src/lib.rs", "--error-format=json", "--json=diagnostic-rendered-ansi,artifacts,future-incompat", "--crate-type", "lib", "--emit=dep-info,metadata", "-C", "panic=abort", "-C", "embed-bitcode=no", "-C", "debuginfo=2", "-C", "metadata=a06d87f097185725", "-C", "extra-filename=-a06d87f097185725", "--out-dir", "/tmp/.tmp2jNQeL/target/debug/deps", "-L", "dependency=/tmp/.tmp2jNQeL/target/debug/deps", "--extern", "app_units=/tmp/.tmp2jNQeL/target/debug/deps/libapp_units-e681452e9dd8cc1f.rmeta", "--extern", "bitflags=/tmp/.tmp2jNQeL/target/debug/deps/libbitflags-0c06b3de9eeaffca.rmeta", "--extern", "byteorder=/tmp/.tmp2jNQeL/target/debug/deps/libbyteorder-b12ea949ed394b3d.rmeta", "--extern", "crossbeam_channel=/tmp/.tmp2jNQeL/target/debug/deps/libcrossbeam_channel-5cb9c8316425f592.rmeta", "--extern", "derive_more=/tmp/.tmp2jNQeL/target/debug/deps/libderive_more-46e888cbbc3b0572.so", "--extern", "euclid=/tmp/.tmp2jNQeL/target/debug/deps/libeuclid-3dade91424e2ce9f.rmeta", "--extern", "malloc_size_of_derive=/tmp/.tmp2jNQeL/target/debug/deps/libmalloc_size_of_derive-21d38c919dfc4e5a.so", "--extern", "peek_poke=/tmp/.tmp2jNQeL/target/debug/deps/libpeek_poke-e342700e96f26c4f.rmeta", "--extern", "serde=/tmp/.tmp2jNQeL/target/debug/deps/libserde-f35afb1b090c7b1f.rmeta", "--extern", "serde_bytes=/tmp/.tmp2jNQeL/target/debug/deps/libserde_bytes-5ab9bd8ae188611f.rmeta", "--extern", "serde_derive=/tmp/.tmp2jNQeL/target/debug/deps/libserde_derive-f27ea7983d9d2a1c.so", "--extern", "time=/tmp/.tmp2jNQeL/target/debug/deps/libtime-2cd048cec9905c10.rmeta", "--extern", "malloc_size_of=/tmp/.tmp2jNQeL/target/debug/deps/libwr_malloc_size_of-c8cdd12f12e44948.rmeta", "-Adeprecated", "-Aunknown-lints", "-Zincremental-verify-ich"]
exiting -- non-wrapped rustc
  42:     0x7f5269c75b43 - start_thread
                               at ./nptl/./nptl/pthread_create.c:442:8
  43:     0x7f5269d07a00 - clone3
                               at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
  44:                0x0 - <unknown>

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.70.0-nightly (e84e5ff04 2023-03-15) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C panic=abort -C embed-bitcode=no -C debuginfo=2 -Z incremental-verify-ich

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

query stack during panic:
#0 [check_mod_item_types] checking item types in module `de`
#1 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `bincode` (lib)

@lcnr
Copy link
Contributor

lcnr commented Mar 15, 2023

@aliemjay can you look into that breakage and whether that's something we can quickly fix? otherwise we should probably revert this 🤔

lqd added a commit to lqd/rust that referenced this pull request Mar 15, 2023
@lqd
Copy link
Member

lqd commented Mar 15, 2023

I've prepared a draft revert just in case in #109183, and the bincode ICE in the webrender benchmark looks like this:

pub trait MapAccess {
    type Error;
    fn next_key_seed(&mut self) -> Option<Self::Error>;
}

struct Access<'a> {
    _marker: std::marker::PhantomData<&'a ()>,
}

impl<'a, 'b: 'a> MapAccess for Access<'a> {
    type Error = ();
    fn next_key_seed(&mut self) -> Option<Self::Error> {
        unimplemented!()
    }
}

Feel free to close the revert PR if we can land the fix soon.

It may be a simple fix since the 'b: 'a in the header seems to be key to the ICE, but it'd probably be safer to just revert and run this PR on crater anyways ?


update: the revert is now in the bors queue.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Mar 15, 2023
Revert rust-lang#107376 to fix potential `bincode` breakage and `rustc-perf` benchmark.

rust-lang#107376 caused `rustc-perf`'s `webrender` benchmark to break, by regressing on the `bincode-1.3.3` crate.

~~This PR is a draft revert in case we can't land a fix soon enough, and we'd like to land the revert instead~~

(Though I myself think it'd be safer to do the revert, and run crater when relanding rust-lang#107376.)

cc `@aliemjay`
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 16, 2023
Revert rust-lang#107376 to fix potential `bincode` breakage and `rustc-perf` benchmark.

rust-lang#107376 caused `rustc-perf`'s `webrender` benchmark to break, by regressing on the `bincode-1.3.3` crate.

~~This PR is a draft revert in case we can't land a fix soon enough, and we'd like to land the revert instead~~

(Though I myself think it'd be safer to do the revert, and run crater when relanding rust-lang#107376.)

cc `@aliemjay`
@pnkfelix
Copy link
Contributor

  • primary benchmark regressions were to bitmaps incr-full { check, debug, opt }
  • This was reverted in PR #109183; but the revert PR didn't register analogous reversal of the performance impact here.
  • The performance regression to bitmaps incr-full was swallowed by big gains registered by PR #109035
  • Marking as triaged.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Mar 21, 2023
Noratrieb added a commit to Noratrieb/rust that referenced this pull request Mar 28, 2023
remove obsolete `givens` from regionck

Revives rust-lang#107376. The only change is the last commit (rust-lang@2a3177a) which should fix the regression.

Fixes rust-lang#106567

r? `@lcnr`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

loss of implied bounds after normalization
9 participants