builtin Fn-trait impls: instantiate binder before the return type Sized check#147152
builtin Fn-trait impls: instantiate binder before the return type Sized check#147152bors merged 3 commits intorust-lang:masterfrom
Fn-trait impls: instantiate binder before the return type Sized check#147152Conversation
| // input. | ||
| fn flat_map<T, F, I, G>(_: F, _: G) | ||
| where | ||
| F: FnOnce(T) -> I, |
There was a problem hiding this comment.
previously we had to prove for<'a> opaque<'a>: Sized here and each time we tried to prove it resulted in a new opaque<'!a_placeholderN> = ?unconstrained use of the opaque.
This then caused try_evaluate_added_goals to overflow
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
builtin `Fn`-trait impls: instantiate binder before the return type `Sized` check
This comment has been minimized.
This comment has been minimized.
to avoid overflow from proving `for<'a> opaque<'a>: Sized`
2801aa4 to
07806a1
Compare
This comment has been minimized.
This comment has been minimized.
|
r=me if perf good |
|
Finished benchmarking commit (00ddbc8): comparison URL. Overall result: no relevant changes - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary 2.7%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 470.851s -> 469.909s (-0.20%) |
|
@bors r=BoxyUwU rollup |
Rollup of 4 pull requests Successful merges: - #145883 (Make macOS dist build configuration match where reasonable) - #146457 (Skip cleanups on unsupported targets) - #147152 (builtin `Fn`-trait impls: instantiate binder before the return type `Sized` check) - #147153 ([rustdoc] Move doc cfg propagation pass before items stripping passes) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #147152 - lcnr:instantiate-pre-sized-check, r=BoxyUwU builtin `Fn`-trait impls: instantiate binder before the return type `Sized` check fixes - rust-lang/trait-system-refactor-initiative#220 - rust-lang/trait-system-refactor-initiative#204 r? `@BoxyUwU`
fixes
r? @BoxyUwU