-
Notifications
You must be signed in to change notification settings - Fork 84
Propose: Crate Slicing for Faster Fresh Builds (2026H1) #438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
yijunyu
wants to merge
9
commits into
rust-lang:main
Choose a base branch
from
yijunyu:crate-slicing-goal
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+320
−0
Open
Changes from 7 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
e05bbdb
analyse using pistar
PilotTesting 12a5bc7
resulting goal models
PilotTesting e434e84
Merge remote-tracking branch 'upstream/main'
yijunyu abb629a
Propose crate slicing goal for 2026H1
yijunyu cfb5e1f
Fix crate-slicing.md metadata and team asks format
yijunyu 50cdb2c
Revise crate slicing documentation and prototype results
yijunyu 3bb4727
Add references for precompilation and cargo-slicer
yijunyu 13427f8
cleanup
yijunyu 43ff4f2
Merge branch 'crate-slicing-goal' of https://github.com/yijunyu/rust-…
yijunyu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,198 @@ | ||
| 1 agent {@BoxyUwU} { } | ||
| 2 goal {Rust} & | ||
| 3 task {min generic const arguments} | ||
| 4 agent {@GuillaumeGomez} { } | ||
| 5 goal {Rust} & | ||
| 6 task {doc cfg} | ||
| 7 task {merged doctests} | ||
| 8 agent {@Nadrieril} { } | ||
| 9 goal {Rust} & | ||
| 10 task {Patterns of empty types} | ||
| 11 agent {@SparrowLii} { } | ||
| 12 goal {Rust} & | ||
| 13 task {parallel front end} | ||
| 14 agent {@ZuseZ4} { } | ||
| 15 goal {Rust} & | ||
| 16 task {Rust for SciComp} | ||
| 17 agent {@blyxyas} { } | ||
| 18 goal {Rust} & | ||
| 19 task {optimize clippy} | ||
| 20 agent {@celinval} { } | ||
| 21 goal {Rust} & | ||
| 22 task {std verification} | ||
| 23 agent {@eh2406} { } | ||
| 24 goal {Rust} & | ||
| 25 task {pubgrub in cargo} | ||
| 26 agent {@epage} { } | ||
| 27 goal {Rust} & | ||
| 28 task {cargo script} | ||
| 29 agent {@estebank} { } | ||
| 30 goal {Rust} & | ||
| 31 task {annotate snippets} | ||
| 32 agent {@fee1 dead} { } | ||
| 33 goal {Rust} & | ||
| 34 task {const traits} | ||
| 35 agent {@hi rustin} { } | ||
| 36 goal {Rust} & | ||
| 37 task {yank crates with a reason} | ||
| 38 agent {@jkelleyrtp} { } | ||
| 39 goal {Rust} & | ||
| 40 task {ergonomic rc} | ||
| 41 task {ergonomics initiative} | ||
| 42 task {faster iterative builds} | ||
| 43 agent {@lcnr} { } | ||
| 44 goal {Rust} & | ||
| 45 task {next solver} | ||
| 46 agent {@lqd} { } | ||
| 47 goal {Rust} & | ||
| 48 task {Polonius} | ||
| 49 agent {@nikomatsakis} { } | ||
| 50 goal {Rust} & | ||
| 51 task {Project goal slate} | ||
| 52 task {a mir formality} | ||
| 53 task {rfl stable} | ||
| 54 agent {@notriddle} { } | ||
| 55 goal {Rust} & | ||
| 56 task {rustdoc search} | ||
| 57 agent {@obi1kenobi} { } | ||
| 58 goal {Rust} & | ||
| 59 task {cargo semver checks} | ||
| 60 agent {@oli obk} { } | ||
| 61 goal {Rust} & | ||
| 62 task {ATPIT} | ||
| 63 agent {@pnkfelix} { } | ||
| 64 goal {Rust} & | ||
| 65 task {Contracts and invariants} | ||
| 66 agent {@tmandry} { } | ||
| 67 goal {Rust} & | ||
| 68 46FA48 task {async} & | ||
| 681 46FA48 task {async lib} ~>1592 | ||
| 69 agent {@traviscross} { } | ||
| 70 goal {Rust} & | ||
| 71 46FA48 task {Rust 2024 Edition} | ||
| 712 role {tool} | ||
| 72 role {clippy} in 712 | ||
| 73 goal {optimize clippy} ~>147 | ||
| 76 role {leadership council} | ||
| 77 goal {Project goal slate} ~>159 | ||
| 771 goal {project governance} ~>1591 | ||
| 78 role {lang} | ||
| 79 46FA48 goal {async} ~>141 | ||
| 80 goal {ATPIT} ~>152 | ||
| 81 goal {cargo script} ~>142 | ||
| 82 goal {const traits} ~>135 | ||
| 83 goal {Contracts and invariants} ~>132 | ||
| 84 goal {ergonomic rc} ~>131 | ||
| 85 goal {ergonomics initiative} ~>134 | ||
| 86 goal {faster iterative builds} ~>154 | ||
| 87 goal {Patterns of empty types} ~>145 | ||
| 88 FAA069 goal {Relaxing the Orphan Rule} ~>130 | ||
| 89 goal {rfl stable} ~>139 | ||
| 90 46FA48 goal {Rust 2024 Edition} ~>156 | ||
| 91 goal {Rust for SciComp} ~>157 | ||
| 911 46FA48 goal {Rust for Linux} ~>190 | ||
| 912 goal {specification} ~>193 | ||
| 913 goal {macros 2.0} ~>200 | ||
| 92 role {libs} | ||
| 93 46FA48 goal {async} ~>141 | ||
| 94 goal {Contracts and invariants} ~>132 | ||
| 95 goal {std verification} ~>144 | ||
| 962 goal {standard library evolution} ~>191 | ||
| 963 goal {binary size} ~>192 | ||
| 964 46FA48 goal {async lib} ~>1592 | ||
| 966 goal {binary size} ~>193 | ||
| 972 goal {registor allocation} ~>194 | ||
| 973 goal {crosscompilation} ~>195 | ||
| 974 task {btreemap} ~>196 | ||
| 976 goal {sve/sme support} ~>197 | ||
| 196 role {rustdoc} in 712 | ||
| 97 goal {doc cfg} ~>150 | ||
| 98 goal {merged doctests} ~>153 | ||
| 99 goal {rustdoc search} ~>146 | ||
| 100 role {libs api} in 92 | ||
| 101 46FA48 goal {async} ~>141 | ||
| 102 goal {ergonomic rc} ~>131 | ||
| 103 goal {rfl stable} ~>139 | ||
| 106 role {cargo} in 712 | ||
| 107 goal {cargo script} ~>142 | ||
| 108 goal {cargo semver checks} ~>155 | ||
| 109 goal {faster iterative builds} ~>154 | ||
| 110 goal {pubgrub in cargo} ~>148 | ||
| 111 goal {sandboxed build script} ~>151 | ||
| 112 goal {user wide cache} ~>158 | ||
| 113 goal {yank crates with a reason} ~>143 | ||
| 114 role {compiler} | ||
| 115 goal {annotate snippets} ~>149 | ||
| 116 goal {Contracts and invariants} ~>132 | ||
| 117 goal {faster iterative builds} ~>154 | ||
| 118 goal {parallel front end} ~>133 | ||
| 119 goal {rfl stable} ~>139 | ||
| 120 goal {Rust for SciComp} ~>138 | ||
| 121 role {types} in 114 | ||
| 122 goal {a mir formality} ~>137 | ||
| 123 goal {ATPIT} ~>152 | ||
| 124 goal {const traits} ~>135 | ||
| 125 goal {min generic const arguments} ~>136 | ||
| 126 goal {next solver} ~>157 | ||
| 127 goal {Polonius} ~>140 | ||
| 128 FAA069 goal {Relaxing the Orphan Rule} ~>130 | ||
| 129 46FA48 goal {Rust 2024 Edition} ~>156 | ||
| 130 FAA069 task {Relaxing the Orphan Rule} | ||
| 131 task {ergonomic rc} ~>38 | ||
| 132 task {Contracts and invariants} ~>63 | ||
| 133 task {parallel front end} ~>11 | ||
| 134 task {ergonomics initiative} ~>38 | ||
| 135 task {const traits} ~>32 | ||
| 136 task {min generic const arguments} ~>1 | ||
| 137 task {a mir formality} ~>49 | ||
| 138 task {Rust for SciComp} ~>14 | ||
| 139 task {rfl stable} ~>49 | ||
| 140 task {Polonius} ~>46 | ||
| 141 46FA48 task {async} ~>66 | ||
| 142 task {cargo script} ~>26 | ||
| 143 task {yank crates with a reason} ~>35 | ||
| 144 task {std verification} ~>20 | ||
| 145 task {Patterns of empty types} ~>8 | ||
| 146 task {rustdoc search} ~>54 | ||
| 147 task {optimize clippy} ~>17 | ||
| 148 task {pubgrub in cargo} ~>23 | ||
| 149 task {annotate snippets} ~>29 | ||
| 150 task {doc cfg} ~>4 | ||
| 151 task {sandboxed build script} | ||
| 152 task {ATPIT} ~>60 | ||
| 153 task {merged doctests} ~>4 | ||
| 154 task {faster iterative builds} ~>38 | ||
| 155 task {cargo semver checks} ~>57 | ||
| 156 46FA48 task {Rust 2024 Edition} ~>69 | ||
| 157 task {next solver} ~>43 | ||
| 158 task {user wide cache} | ||
| 159 task {Project goal slate} ~>49 | ||
| 160 agent {@m-ou-se} { } | ||
| 161 goal {Rust} & | ||
| 162 task {project governance} | ||
| 163 46FA48 task {Rust for Linux} | ||
| 164 46FA48 task {async lib} | ||
| 165 task {standard library evolution} | ||
| 166 task {binary size} | ||
| 167 task {specification} | ||
| 170 agent {@Amanieu} { } | ||
| 171 goal {Rust} & | ||
| 172 task {registor allocation} | ||
| 173 task {crosscompilation} | ||
| 174 task {btreemap} | ||
| 175 task {standard library evolution} | ||
| 176 task {sve/sme support} | ||
| 180 agent {@Vadim} { } | ||
| 181 goal {Rust} & | ||
| 182 task {macros 2.0} | ||
| 1591 task {project governance} ~>160 | ||
| 1592 46FA48 task {async lib} ~>160 | ||
| 190 46FA48 task {Rust for Linux} ~>160 | ||
| 191 task {standard library evolution} ~>160 ~>170 | ||
| 192 task {binary size} ~>160 | ||
| 193 task {specification} ~>160 | ||
| 194 task {registor allocation} ~>170 | ||
| 195 task {crosscompilation} ~>170 | ||
| 196 task {btreemap} ~>170 | ||
| 197 task {sve/sme support} ~>170 | ||
| 200 task {macros 2.0} ~>180 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,198 @@ | ||
| 1 agent {@BoxyUwU} { } | ||
| 2 goal {Rust} & | ||
| 3 task {min generic const arguments} | ||
| 4 agent {@GuillaumeGomez} { } | ||
| 5 goal {Rust} & | ||
| 6 task {doc cfg} | ||
| 7 task {merged doctests} | ||
| 8 agent {@Nadrieril} { } | ||
| 9 goal {Rust} & | ||
| 10 task {Patterns of empty types} | ||
| 11 agent {@SparrowLii} { } | ||
| 12 goal {Rust} & | ||
| 13 task {parallel front end} | ||
| 14 agent {@ZuseZ4} { } | ||
| 15 goal {Rust} & | ||
| 16 task {Rust for SciComp} | ||
| 17 agent {@blyxyas} { } | ||
| 18 goal {Rust} & | ||
| 19 task {optimize clippy} | ||
| 20 agent {@celinval} { } | ||
| 21 goal {Rust} & | ||
| 22 task {std verification} | ||
| 23 agent {@eh2406} { } | ||
| 24 goal {Rust} & | ||
| 25 task {pubgrub in cargo} | ||
| 26 agent {@epage} { } | ||
| 27 goal {Rust} & | ||
| 28 task {cargo script} | ||
| 29 agent {@estebank} { } | ||
| 30 goal {Rust} & | ||
| 31 task {annotate snippets} | ||
| 32 agent {@fee1 dead} { } | ||
| 33 goal {Rust} & | ||
| 34 task {const traits} | ||
| 35 agent {@hi rustin} { } | ||
| 36 goal {Rust} & | ||
| 37 task {yank crates with a reason} | ||
| 38 agent {@jkelleyrtp} { } | ||
| 39 goal {Rust} & | ||
| 40 task {ergonomic rc} | ||
| 41 task {ergonomics initiative} | ||
| 42 task {faster iterative builds} | ||
| 43 agent {@lcnr} { } | ||
| 44 goal {Rust} & | ||
| 45 task {next solver} | ||
| 46 agent {@lqd} { } | ||
| 47 goal {Rust} & | ||
| 48 task {Polonius} | ||
| 49 agent {@nikomatsakis} { } | ||
| 50 goal {Rust} & | ||
| 51 task {Project goal slate} | ||
| 52 task {a mir formality} | ||
| 53 task {rfl stable} | ||
| 54 agent {@notriddle} { } | ||
| 55 goal {Rust} & | ||
| 56 task {rustdoc search} | ||
| 57 agent {@obi1kenobi} { } | ||
| 58 goal {Rust} & | ||
| 59 task {cargo semver checks} | ||
| 60 agent {@oli obk} { } | ||
| 61 goal {Rust} & | ||
| 62 task {ATPIT} | ||
| 63 agent {@pnkfelix} { } | ||
| 64 goal {Rust} & | ||
| 65 task {Contracts and invariants} | ||
| 66 agent {@tmandry} { } | ||
| 67 goal {Rust} & | ||
| 68 46FA48 task {async} & | ||
| 681 46FA48 task {async lib} ~>1592 | ||
| 69 agent {@traviscross} { } | ||
| 70 goal {Rust} & | ||
| 71 46FA48 task {Rust 2024 Edition} | ||
| 712 role {tool} | ||
| 72 role {clippy} in 712 | ||
| 73 goal {optimize clippy} ~>147 | ||
| 76 role {leadership council} | ||
| 77 goal {Project goal slate} ~>159 | ||
| 771 goal {project governance} ~>1591 | ||
| 78 role {lang} | ||
| 79 46FA48 goal {async} ~>141 | ||
| 80 goal {ATPIT} ~>152 | ||
| 81 goal {cargo script} ~>142 | ||
| 82 goal {const traits} ~>135 | ||
| 83 goal {Contracts and invariants} ~>132 | ||
| 84 goal {ergonomic rc} ~>131 | ||
| 85 goal {ergonomics initiative} ~>134 | ||
| 86 goal {faster iterative builds} ~>154 | ||
| 87 goal {Patterns of empty types} ~>145 | ||
| 88 FAA069 goal {Relaxing the Orphan Rule} ~>130 | ||
| 89 goal {rfl stable} ~>139 | ||
| 90 46FA48 goal {Rust 2024 Edition} ~>156 | ||
| 91 goal {Rust for SciComp} ~>157 | ||
| 911 46FA48 goal {Rust for Linux} ~>190 | ||
| 912 goal {specification} ~>193 | ||
| 913 goal {macros 2.0} ~>200 | ||
| 92 role {libs} | ||
| 93 46FA48 goal {async} ~>141 | ||
| 94 goal {Contracts and invariants} ~>132 | ||
| 95 goal {std verification} ~>144 | ||
| 962 goal {standard library evolution} ~>191 | ||
| 963 goal {binary size} ~>192 | ||
| 964 46FA48 goal {async lib} ~>1592 | ||
| 966 goal {binary size} ~>193 | ||
| 972 goal {registor allocation} ~>194 | ||
| 973 goal {crosscompilation} ~>195 | ||
| 974 task {btreemap} ~>196 | ||
| 976 goal {sve/sme support} ~>197 | ||
| 196 role {rustdoc} in 712 | ||
| 97 goal {doc cfg} ~>150 | ||
| 98 goal {merged doctests} ~>153 | ||
| 99 goal {rustdoc search} ~>146 | ||
| 100 role {libs api} in 92 | ||
| 101 46FA48 goal {async} ~>141 | ||
| 102 goal {ergonomic rc} ~>131 | ||
| 103 goal {rfl stable} ~>139 | ||
| 106 role {cargo} in 712 | ||
| 107 goal {cargo script} ~>142 | ||
| 108 goal {cargo semver checks} ~>155 | ||
| 109 goal {faster iterative builds} ~>154 | ||
| 110 goal {pubgrub in cargo} ~>148 | ||
| 111 goal {sandboxed build script} ~>151 | ||
| 112 goal {user wide cache} ~>158 | ||
| 113 goal {yank crates with a reason} ~>143 | ||
| 114 role {compiler} | ||
| 115 goal {annotate snippets} ~>149 | ||
| 116 goal {Contracts and invariants} ~>132 | ||
| 117 goal {faster iterative builds} ~>154 | ||
| 118 goal {parallel front end} ~>133 | ||
| 119 goal {rfl stable} ~>139 | ||
| 120 goal {Rust for SciComp} ~>138 | ||
| 121 role {types} in 114 | ||
| 122 goal {a mir formality} ~>137 | ||
| 123 goal {ATPIT} ~>152 | ||
| 124 goal {const traits} ~>135 | ||
| 125 goal {min generic const arguments} ~>136 | ||
| 126 goal {next solver} ~>157 | ||
| 127 goal {Polonius} ~>140 | ||
| 128 FAA069 goal {Relaxing the Orphan Rule} ~>130 | ||
| 129 46FA48 goal {Rust 2024 Edition} ~>156 | ||
| 130 FAA069 task {Relaxing the Orphan Rule} | ||
| 131 task {ergonomic rc} ~>38 | ||
| 132 task {Contracts and invariants} ~>63 | ||
| 133 task {parallel front end} ~>11 | ||
| 134 task {ergonomics initiative} ~>38 | ||
| 135 task {const traits} ~>32 | ||
| 136 task {min generic const arguments} ~>1 | ||
| 137 task {a mir formality} ~>49 | ||
| 138 task {Rust for SciComp} ~>14 | ||
| 139 task {rfl stable} ~>49 | ||
| 140 task {Polonius} ~>46 | ||
| 141 46FA48 task {async} ~>66 | ||
| 142 task {cargo script} ~>26 | ||
| 143 task {yank crates with a reason} ~>35 | ||
| 144 task {std verification} ~>20 | ||
| 145 task {Patterns of empty types} ~>8 | ||
| 146 task {rustdoc search} ~>54 | ||
| 147 task {optimize clippy} ~>17 | ||
| 148 task {pubgrub in cargo} ~>23 | ||
| 149 task {annotate snippets} ~>29 | ||
| 150 task {doc cfg} ~>4 | ||
| 151 task {sandboxed build script} | ||
| 152 task {ATPIT} ~>60 | ||
| 153 task {merged doctests} ~>4 | ||
| 154 task {faster iterative builds} ~>38 | ||
| 155 task {cargo semver checks} ~>57 | ||
| 156 46FA48 task {Rust 2024 Edition} ~>69 | ||
| 157 task {next solver} ~>43 | ||
| 158 task {user wide cache} | ||
| 159 task {Project goal slate} ~>49 | ||
| 160 agent {@m-ou-se} { } | ||
| 161 goal {Rust} & | ||
| 162 task {project governance} | ||
| 163 46FA48 task {Rust for Linux} | ||
| 164 46FA48 task {async lib} | ||
| 165 task {standard library evolution} | ||
| 166 task {binary size} | ||
| 167 task {specification} | ||
| 170 agent {@Amanieu} { } | ||
| 171 goal {Rust} & | ||
| 172 task {registor allocation} | ||
| 173 task {crosscompilation} | ||
| 174 task {btreemap} | ||
| 175 task {standard library evolution} | ||
| 176 task {sve/sme support} | ||
| 180 agent {@Vadim} { } | ||
| 181 goal {Rust} & | ||
| 182 task {macros 2.0} | ||
| 1591 task {project governance} ~>160 | ||
| 1592 46FA48 task {async lib} ~>160 | ||
| 190 46FA48 task {Rust for Linux} ~>160 | ||
| 191 task {standard library evolution} ~>160 ~>170 | ||
| 192 task {binary size} ~>160 | ||
| 193 task {specification} ~>160 | ||
| 194 task {registor allocation} ~>170 | ||
| 195 task {crosscompilation} ~>170 | ||
| 196 task {btreemap} ~>170 | ||
| 197 task {sve/sme support} ~>170 | ||
| 200 task {macros 2.0} ~>180 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's up with all these random files?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, that was from my internal analysis of project goals for a separate project. Let me clean it up!