stop taking references in Relate#73705
Conversation
|
@bors try @rust-timer queue |
|
Awaiting bors try build completion |
|
⌛ Trying commit 863ff8a61175b286206eace70e1cd174190cc520 with merge 962b50900727f0bf054bce5b61be7fd6dd43ab1b... |
|
☀️ Try build successful - checks-azure |
|
Queued 962b50900727f0bf054bce5b61be7fd6dd43ab1b with parent 67100f6, future comparison URL. |
|
Finished benchmarking try commit (962b50900727f0bf054bce5b61be7fd6dd43ab1b): comparison url. |
|
looks like a small perf improvement |
|
Yeah, or neutral. Which is fine. The compelling case here is more ergonomic (which is what I would expect, to be honest). |
|
@nikomatsakis fixed the merge conflict. Do you want to go ahead with merging this or is there still something I should do? |
|
@bors r+ |
|
📌 Commit acd4818 has been approved by |
stop taking references in Relate Adds a `Copy` bound to `Relate` and changes the type signatures to `T` from `&T`. While the `Copy` bound is not strictly necessary (i.e. the `Clone` bound of `TypeRelation` would be good enough), we don't need non `Copy` types and it simplifies the implementation. Removes the afaict unused impls for `Vec<ty::PolyExistentialProjection<'tcx>>`, `Rc<T>` and `Box<T>`. If they end up being relevant again the bound of `Relate` can be reduced to `T: Clone`. This also changes signature of `Binder::skip_binder` to `fn skip_binder(self) -> T`. `TypeError::ProjectionBoundsLength` was never used and is also removed in this PR. r? @nikomatsakis maybe 🤔 feel free to reassign
|
rebased, should be ready for merge again |
|
@bors r+ |
|
📌 Commit 69e4990 has been approved by |
stop taking references in Relate Adds a `Copy` bound to `Relate` and changes the type signatures to `T` from `&T`. While the `Copy` bound is not strictly necessary (i.e. the `Clone` bound of `TypeRelation` would be good enough), we don't need non `Copy` types and it simplifies the implementation. Removes the afaict unused impls for `Vec<ty::PolyExistentialProjection<'tcx>>`, `Rc<T>` and `Box<T>`. If they end up being relevant again the bound of `Relate` can be reduced to `T: Clone`. This also changes signature of `Binder::skip_binder` to `fn skip_binder(self) -> T`. `TypeError::ProjectionBoundsLength` was never used and is also removed in this PR. r? @nikomatsakis maybe 🤔 feel free to reassign
stop taking references in Relate Adds a `Copy` bound to `Relate` and changes the type signatures to `T` from `&T`. While the `Copy` bound is not strictly necessary (i.e. the `Clone` bound of `TypeRelation` would be good enough), we don't need non `Copy` types and it simplifies the implementation. Removes the afaict unused impls for `Vec<ty::PolyExistentialProjection<'tcx>>`, `Rc<T>` and `Box<T>`. If they end up being relevant again the bound of `Relate` can be reduced to `T: Clone`. This also changes signature of `Binder::skip_binder` to `fn skip_binder(self) -> T`. `TypeError::ProjectionBoundsLength` was never used and is also removed in this PR. r? @nikomatsakis maybe 🤔 feel free to reassign
…arth Rollup of 17 pull requests Successful merges: - rust-lang#72071 (Added detailed error code explanation for issue E0687 in Rust compiler.) - rust-lang#72369 (Bring net/parser.rs up to modern up to date with modern rust patterns) - rust-lang#72445 (Stabilize `#[track_caller]`.) - rust-lang#73466 (impl From<char> for String) - rust-lang#73548 (remove rustdoc warnings) - rust-lang#73649 (Fix sentence structure) - rust-lang#73678 (Update Box::from_raw example to generalize better) - rust-lang#73705 (stop taking references in Relate) - rust-lang#73716 (Document the static keyword) - rust-lang#73752 (Remap Windows ERROR_INVALID_PARAMETER to ErrorKind::InvalidInput from Other) - rust-lang#73776 (Move terminator to new module) - rust-lang#73778 (Make `likely` and `unlikely` const, gated by feature `const_unlikely`) - rust-lang#73805 (Document the type keyword) - rust-lang#73806 (Use an 'approximate' universal upper bound when reporting region errors) - rust-lang#73828 (Fix wording for anonymous parameter name help) - rust-lang#73846 (Fix comma in debug_assert! docs) - rust-lang#73847 (Edit cursor.prev() method docs in lexer) Failed merges: r? @ghost
Adds a
Copybound toRelateand changes the type signatures toTfrom&T. While theCopybound is not strictly necessary (i.e. theClonebound ofTypeRelationwould be good enough), we don't need nonCopytypes and it simplifies the implementation.Removes the afaict unused impls for
Vec<ty::PolyExistentialProjection<'tcx>>,Rc<T>andBox<T>. If they end up being relevant again the bound ofRelatecan be reduced toT: Clone.This also changes signature of
Binder::skip_bindertofn skip_binder(self) -> T.TypeError::ProjectionBoundsLengthwas never used and is also removed in this PR.r? @nikomatsakis maybe 🤔 feel free to reassign