Repository navigation
Offload safe mutable args with Region and PartitioningStrategy - #158076
Conversation
This comment has been minimized.
This comment has been minimized.
c075a56 to
2a627bf
Compare
This comment has been minimized.
This comment has been minimized.
Region and PartitioningStrategy
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
6a662ec to
400b615
Compare
This comment has been minimized.
This comment has been minimized.
|
Next round. I think we should actually refuse all cases (for now) where we have a Region within any ADT/struct/slice, etc. not just &Region. Most of them would be transfered incorrectly, and I don't think we gain much. The other direction is something like |
400b615 to
3b4f613
Compare
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
I left another round, mostly about comments and tightening the checks.
I feel like we'll need to restrict get and get_mut a bit further (or at least describe them better), but we can leave that for the last round (and discuss on Wednesday).
Now that it seems closer to the final version, can you add a description to
https://rustc-dev-guide.rust-lang.org/offload/internals.html ?
Probably best as a new subsection, so that we have one about the build pipeline, and one about the safety/region design?
3b4f613 to
0b50ea9
Compare
|
The rustc-dev-guide subtree was changed. If your future PRs only touch the subtree, consider submitting them directly to rust-lang/rustc-dev-guide, which is where the document is primarily maintained (and has faster CI). |
This comment has been minimized.
This comment has been minimized.
0b50ea9 to
5d12b6c
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
5d12b6c to
40b1bbe
Compare
40b1bbe to
fd0ae52
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
|
The intrinsic bypasses the safety checks but I think that's fine and actually good for experimenting. End-users shouldn't call our intrinsics anyway, and use the safe macro. The number of tests looks good now, real uses are in our rajaperf implementation. We should talk in the next PR about how many of those usages we want to upstream, and might need to iterate on this implementation if we find memory access patterns that we can't safely wrap. I also think we should generate noalias annotations for those NonNull pointers, but that's too tricky for this PR. It's also inconvenient that we have to error for the args are not a tuple literal, but stored in a variable. I think oli had a prototype that allowed type-checking macro args, so we might be able to use that in the future. @bors r+ rollup |
…uwer Rollup of 6 pull requests Successful merges: - #164383 (handle higher-ranked preds in imperfect derives diagnostic) - #164620 (Wrap expected_ty for cfi-{diag,recover} in with_no_trimmed_paths) - #164684 (Remove redundant `PartialOrd` chaining methods) - #158076 (Offload safe mutable args with `Region` and `PartitioningStrategy`) - #164680 (Add regression test for async fn declared with #[eii]) - #164696 (Add `#[default]` for `newtype_index!`)
View all comments
Now
Regionare lang items and mapped as slices.needs #156620 to workr? @ZuseZ4