Uh oh!
There was an error while loading. Please reload this page.
Create compilation target versions of ::alloc::Layout - #64299
Create compilation target versions of ::alloc::Layout#64299Dante-Broggi wants to merge 23 commits into
::alloc::Layout#64299Conversation
rust-highfive
commented
Sep 9, 2019
r? @estebank (rust_highfive has picked a reviewer for you, use r? to override) |
rust-highfive
commented
Sep 9, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
6520170 to
ed66767Comparerust-highfive
commented
Sep 9, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
estebank
commented
Sep 9, 2019
This doesn't seem like something I should be reviewing. r? @oli-obk I think you have better context for this? |
Dante-Broggi
commented
Sep 9, 2019
I think I found what I changed to cause those issues regarding |
ed66767 to
6392f3aComparerust-highfive
commented
Sep 9, 2019
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
Sep 14, 2019
☔ The latest upstream changes (presumably #64456) made this pull request unmergeable. Please resolve the merge conflicts. |
Uh oh!
There was an error while loading. Please reload this page.
oli-obk
commented
Sep 20, 2019
So I did a first shallow review, the general idea looks good to me. Wrt the test failures, I think the best way to figure out what causes them is to bisect your own PR. So take the middle commit, see if that passes tests, if it does, take the commit between the currently working commit and the last commit. Repeat until failure. Once you know which commit causes the failure, it will be much simpler to figure out the problem. |
Dante-Broggi
commented
Sep 20, 2019
Commenting this for the record: git bisect shows the first bad commit is I, still, have no idea what's causing this, the failure in CI, or why they are different. |
bjorn3
left a comment
There was a problem hiding this comment.
I spotted two cases of different behaviour, which may explain the problem.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Dante-Broggi
commented
Sep 22, 2019
So those changes weren't the cause of the local failures, but I did a rebase and finished up changing |
6392f3a to
b33f045Compareoli-obk
commented
Sep 22, 2019
Huh... you can test master without failures though, right? |
Dante-Broggi
commented
Sep 22, 2019
On master the only failure is "---- [codegen] codegen/issue-44056-macos-tls-align.rs stdout ----" |
bors
commented
Sep 26, 2019
☔ The latest upstream changes (presumably #64513) made this pull request unmergeable. Please resolve the merge conflicts. |
8270ea4 to
322df44CompareDante-Broggi
commented
Sep 28, 2019
So, I haven't found out what's causing the local failures, but I did do a full re-clone of this PR branch into a new directory, and in the new clone the only failures are "[debuginfo-gdb+lldb] debuginfo/*" tests. Therefore the "ui/*" local failures (which still occur in the original clone) are all due to peculiarities in my clone. |
bors
commented
Sep 28, 2019
☔ The latest upstream changes (presumably #64864) made this pull request unmergeable. Please resolve the merge conflicts. |
322df44 to
4779637Comparebors
commented
Sep 28, 2019
☔ The latest upstream changes (presumably #64419) made this pull request unmergeable. Please resolve the merge conflicts. |
4779637 to
4b61893Comparebors
commented
Sep 30, 2019
☔ The latest upstream changes (presumably #64673) made this pull request unmergeable. Please resolve the merge conflicts. |
b9e889b to
10946b7Compareoli-obk
commented
Nov 12, 2019
Hi @Dante-Broggi I am unsure how to proceed here. Even if we do this refactoring we are no step closer to the swift repr or to separating stride from size, because it would break all unsafe code relying on the current scheme. Without first resolving the language/stability I do not believe we can merge this PR or any other moving in this direction |
bors
commented
Nov 13, 2019
☔ The latest upstream changes (presumably #60026) made this pull request unmergeable. Please resolve the merge conflicts. |
JohnCSimon
commented
Nov 16, 2019
Ping from triage: |
Dylan-DPC-zz
commented
Nov 24, 2019
Marking this as blocked. |
Dylan-DPC-zz
commented
Mar 24, 2020
Given the fact this is blocked from long time and based on the comment #64299, it will take a while and the conflicts have accumulated enough to make this a mess when ready. Hence closing this and we can restart it later when ready if possible as it would be easier than rebasing this. Thanks for contributing :) |
This PR adds 2 types
LayoutPositionPrefandMemoryPositionwhich are like::alloc::Layoutbut uselayout::Sizeandlayout::{AbiAndPrefAlign, Align}, and replaces most pairs ofSizeand*Alignwith one of them.Most of the commits are semi-minimal changes after changing a single (group of) APIs, which is why there are so many of them. If desired they could be squashed.
Edit: also, each commit (in order) satisfies at least “./x.py check -i”.
Overall, other than API breakage, this is almost a pure refactoring, the only difference should be that I changed many places to be more correct for non-stride (
.size != .size.aligned_to(.align)) sizes, which IIRC Rust currently does not allow anyway.