Repository navigation
make RustaceansAreAwesome satisfy projection clauses - #164624
rust-bors[bot] merged 2 commits into
Conversation
|
there's some room for optimization at the expense of clarity, but hopefully this isn't enough of a perf bottleneck that it's needed. let's see: @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…te, r=<try> make `RustaceansAreAwesome` satisfy projection clauses
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (13ec746): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesResults (primary -1.2%, secondary -1.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 488.638s -> 489.098s (0.09%) |
|
r? oli-obk or reassign |
…uwer Rollup of 5 pull requests Successful merges: - #162395 (Make more float intrinsics generic) - #164636 (Remove `record_*` macros from the metadata encoder) - #164624 (make `RustaceansAreAwesome` satisfy projection clauses) - #164695 ([tiny] Include trait definition line when pointing at assoc function in E0308) - #164744 (some `Attribute`/`AttributeExt` cleanups)
Rollup merge of #164624 - dianne:fix-rustaceansareawesome-take-2-complete, r=oli-obk make `RustaceansAreAwesome` satisfy projection clauses Followup to #163958 that restores the functionality it removed it removed from #163200 and clarifies/fixes some of their comments. The following variant of #161621 is now accepted again: ```rust trait HasAssoc { type Assoc; } trait Parent<T> {} // We need to assume `<(RustaceansAreAwesome,) as HasAssoc>::Assoc == str` // in order to prove `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: ToOwned` trait NeedProjectionNotInExpansion where // The projection clause `<(Self,) as HasAssoc>::Assoc == str` isn't written // as part of a supertrait bound, so the expansion of `RustaceansAreAwesome: // NeedProjectionNotInExpansion` done by param-env normalization won't // include a version of it for `RustaceansAreAwesome`. (Self,): HasAssoc<Assoc = str>, Self: Parent<<<(Self,) as HasAssoc>::Assoc as ToOwned>::Owned>, { fn f(&self); } ``` It's unfortunate how tightly coupled this all is to particulars of param-env normalization. I'd love to remove these hacks eventually.
|
Note This PR was benchmarked as part of triage of its containing rollup: triage URL. Finished benchmarking commit (f98307f): comparison URL. Overall result: ❌ regressions - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -3.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Artifact size: 406.42 MiB -> 406.60 MiB (0.05%) |
…uwer Rollup of 5 pull requests Successful merges: - rust-lang/rust#162395 (Make more float intrinsics generic) - rust-lang/rust#164636 (Remove `record_*` macros from the metadata encoder) - rust-lang/rust#164624 (make `RustaceansAreAwesome` satisfy projection clauses) - rust-lang/rust#164695 ([tiny] Include trait definition line when pointing at assoc function in E0308) - rust-lang/rust#164744 (some `Attribute`/`AttributeExt` cleanups)
Followup to #163958 that restores the functionality it removed it removed from #163200 and clarifies/fixes some of their comments. The following variant of #161621 is now accepted again:
It's unfortunate how tightly coupled this all is to particulars of param-env normalization. I'd love to remove these hacks eventually.