Commit cf30759
committed
Auto merge of #46268 - arielb1:union-borrow, r=nikomatsakis
MIR borrowck: implement union-and-array-compatible semantics
Fixes #44831.
Fixes #44834.
Fixes #45537.
Fixes #45696 (by implementing DerefPure semantics, which is what we want going forward).
r? @nikomatsakis17 files changed
Lines changed: 608 additions & 176 deletions
File tree
- src
- libcore
- iter
- librustc_mir
- borrow_check
- build
- dataflow
- impls
- test
- compile-fail
- borrowck
- run-pass
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1084 | 1084 | | |
1085 | 1085 | | |
1086 | 1086 | | |
| 1087 | + | |
| 1088 | + | |
1087 | 1089 | | |
1088 | | - | |
1089 | | - | |
| 1090 | + | |
| 1091 | + | |
1090 | 1092 | | |
1091 | 1093 | | |
1092 | 1094 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1776 | 1776 | | |
1777 | 1777 | | |
1778 | 1778 | | |
1779 | | - | |
1780 | | - | |
1781 | | - | |
1782 | | - | |
1783 | | - | |
1784 | | - | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
1785 | 1791 | | |
1786 | 1792 | | |
1787 | 1793 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
54 | 65 | | |
55 | 66 | | |
56 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
| |||
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
| 33 | + | |
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
33 | 37 | | |
34 | 38 | | |
35 | 39 | | |
36 | 40 | | |
| 41 | + | |
| 42 | + | |
37 | 43 | | |
38 | 44 | | |
39 | 45 | | |
| 46 | + | |
40 | 47 | | |
41 | 48 | | |
42 | 49 | | |
| |||
69 | 76 | | |
70 | 77 | | |
71 | 78 | | |
72 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
73 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
74 | 87 | | |
75 | 88 | | |
76 | 89 | | |
77 | 90 | | |
78 | 91 | | |
79 | 92 | | |
| 93 | + | |
80 | 94 | | |
81 | 95 | | |
82 | 96 | | |
83 | 97 | | |
84 | 98 | | |
85 | 99 | | |
| 100 | + | |
| 101 | + | |
86 | 102 | | |
87 | 103 | | |
| 104 | + | |
88 | 105 | | |
89 | 106 | | |
90 | 107 | | |
| |||
94 | 111 | | |
95 | 112 | | |
96 | 113 | | |
| 114 | + | |
97 | 115 | | |
98 | 116 | | |
99 | 117 | | |
100 | 118 | | |
101 | 119 | | |
102 | 120 | | |
103 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
104 | 130 | | |
105 | 131 | | |
106 | 132 | | |
| |||
109 | 135 | | |
110 | 136 | | |
111 | 137 | | |
| 138 | + | |
112 | 139 | | |
113 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
114 | 146 | | |
115 | 147 | | |
116 | 148 | | |
| |||
199 | 231 | | |
200 | 232 | | |
201 | 233 | | |
202 | | - | |
| 234 | + | |
203 | 235 | | |
204 | 236 | | |
205 | 237 | | |
| |||
224 | 256 | | |
225 | 257 | | |
226 | 258 | | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
227 | 269 | | |
228 | 270 | | |
229 | 271 | | |
230 | | - | |
231 | 272 | | |
232 | 273 | | |
233 | 274 | | |
| |||
253 | 294 | | |
254 | 295 | | |
255 | 296 | | |
256 | | - | |
257 | | - | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
258 | 308 | | |
259 | 309 | | |
260 | 310 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | 17 | | |
19 | 18 | | |
20 | 19 | | |
| |||
504 | 503 | | |
505 | 504 | | |
506 | 505 | | |
507 | | - | |
508 | 506 | | |
509 | 507 | | |
510 | 508 | | |
| |||
515 | 513 | | |
516 | 514 | | |
517 | 515 | | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
524 | 520 | | |
525 | 521 | | |
526 | 522 | | |
527 | 523 | | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
| 524 | + | |
533 | 525 | | |
534 | 526 | | |
535 | 527 | | |
| |||
543 | 535 | | |
544 | 536 | | |
545 | 537 | | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
| 538 | + | |
551 | 539 | | |
552 | 540 | | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
| 541 | + | |
558 | 542 | | |
559 | 543 | | |
560 | 544 | | |
| |||
585 | 569 | | |
586 | 570 | | |
587 | 571 | | |
588 | | - | |
589 | | - | |
590 | | - | |
591 | | - | |
592 | | - | |
| 572 | + | |
593 | 573 | | |
594 | 574 | | |
595 | 575 | | |
| |||
599 | 579 | | |
600 | 580 | | |
601 | 581 | | |
602 | | - | |
603 | 582 | | |
604 | 583 | | |
605 | 584 | | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
| 585 | + | |
610 | 586 | | |
611 | 587 | | |
612 | | - | |
613 | | - | |
614 | | - | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
615 | 611 | | |
616 | 612 | | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
| 613 | + | |
| 614 | + | |
622 | 615 | | |
623 | 616 | | |
624 | 617 | | |
| |||
634 | 627 | | |
635 | 628 | | |
636 | 629 | | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
644 | 635 | | |
645 | 636 | | |
646 | 637 | | |
| |||
663 | 654 | | |
664 | 655 | | |
665 | 656 | | |
666 | | - | |
667 | | - | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | 657 | | |
672 | 658 | | |
673 | 659 | | |
| |||
0 commit comments