Commit fc32303
committed
Auto merge of rust-lang#93671 - Kobzol:stable-hash-const, r=the8472
Use const generics in SipHasher128's short_write
This was proposed by `@michaelwoerister` [here](rust-lang#93615 (comment)).
A few comments:
1) I tried to pass `&[u8; LEN]` instead of `[u8; LEN]`. Locally, it resulted in small icount regressions (about 0.5 %). When passing by value, there were no regressions (and no improvements).
2) I wonder if we should use `to_ne_bytes()` in `SipHasher128` to keep it generic and only use `to_le_bytes()` in `StableHasher`. However, currently `SipHasher128` is only used in `StableHasher` and the `short_write` method was private, so I couldn't use it directly from `StableHasher`. Using `to_le()` in the `StableHasher` was breaking this abstraction boundary before slightly.
```rust
debug_assert!(LEN <= 8);
```
This could be done at compile time, but actually I think that now we can remove this assert altogether.
r? `@the8472`File tree
2 files changed
+39
-46
lines changed- compiler/rustc_data_structures/src
2 files changed
+39
-46
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | | - | |
206 | 205 | | |
207 | | - | |
208 | | - | |
| 206 | + | |
209 | 207 | | |
210 | | - | |
| 208 | + | |
211 | 209 | | |
212 | | - | |
| 210 | + | |
213 | 211 | | |
214 | | - | |
| 212 | + | |
215 | 213 | | |
216 | 214 | | |
217 | 215 | | |
218 | | - | |
| 216 | + | |
219 | 217 | | |
220 | 218 | | |
221 | | - | |
| 219 | + | |
222 | 220 | | |
223 | 221 | | |
224 | 222 | | |
225 | 223 | | |
226 | | - | |
| 224 | + | |
227 | 225 | | |
228 | 226 | | |
229 | 227 | | |
| |||
233 | 231 | | |
234 | 232 | | |
235 | 233 | | |
236 | | - | |
237 | | - | |
| 234 | + | |
238 | 235 | | |
239 | | - | |
| 236 | + | |
240 | 237 | | |
241 | | - | |
242 | | - | |
| 238 | + | |
| 239 | + | |
243 | 240 | | |
244 | 241 | | |
245 | 242 | | |
246 | 243 | | |
247 | | - | |
| 244 | + | |
248 | 245 | | |
249 | 246 | | |
250 | 247 | | |
| |||
254 | 251 | | |
255 | 252 | | |
256 | 253 | | |
257 | | - | |
258 | | - | |
| 254 | + | |
| 255 | + | |
259 | 256 | | |
260 | | - | |
| 257 | + | |
261 | 258 | | |
262 | | - | |
| 259 | + | |
263 | 260 | | |
264 | 261 | | |
265 | | - | |
266 | | - | |
267 | | - | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
268 | 265 | | |
269 | 266 | | |
270 | 267 | | |
| |||
412 | 409 | | |
413 | 410 | | |
414 | 411 | | |
415 | | - | |
| 412 | + | |
416 | 413 | | |
417 | 414 | | |
418 | 415 | | |
419 | 416 | | |
420 | | - | |
| 417 | + | |
421 | 418 | | |
422 | 419 | | |
423 | 420 | | |
424 | 421 | | |
425 | | - | |
| 422 | + | |
426 | 423 | | |
427 | 424 | | |
428 | 425 | | |
429 | 426 | | |
430 | | - | |
| 427 | + | |
431 | 428 | | |
432 | 429 | | |
433 | 430 | | |
434 | 431 | | |
435 | | - | |
| 432 | + | |
436 | 433 | | |
437 | 434 | | |
438 | 435 | | |
439 | 436 | | |
440 | | - | |
| 437 | + | |
441 | 438 | | |
442 | 439 | | |
443 | 440 | | |
444 | 441 | | |
445 | | - | |
| 442 | + | |
446 | 443 | | |
447 | 444 | | |
448 | 445 | | |
449 | 446 | | |
450 | | - | |
| 447 | + | |
451 | 448 | | |
452 | 449 | | |
453 | 450 | | |
454 | 451 | | |
455 | | - | |
| 452 | + | |
456 | 453 | | |
457 | 454 | | |
458 | 455 | | |
459 | 456 | | |
460 | | - | |
| 457 | + | |
461 | 458 | | |
462 | 459 | | |
463 | 460 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
| 83 | + | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
| 106 | + | |
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
116 | | - | |
| 116 | + | |
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
121 | | - | |
| 121 | + | |
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
| 126 | + | |
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
131 | | - | |
| 131 | + | |
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
| |||
144 | 144 | | |
145 | 145 | | |
146 | 146 | | |
147 | | - | |
| 147 | + | |
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | 164 | | |
169 | 165 | | |
170 | 166 | | |
| |||
0 commit comments