Commit ff1a18f
authored
An error was seen with `PtrToPtr` casts in mir-semantics when there is
an array of arrays being cast to change mutability. The current model
incorrectly assumes it wants to point to an interior element, but this
case needs to be distinguished from the case that is purely changing
mutability. Therefore the mutability of the pointer needs to be
accessible in the `TypeInfo`
1 parent cab07e2 commit ff1a18f
30 files changed
Lines changed: 335 additions & 9 deletions
File tree
- src
- mk_graph
- tests/integration/programs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
61 | 78 | | |
62 | 79 | | |
63 | 80 | | |
| |||
365 | 382 | | |
366 | 383 | | |
367 | 384 | | |
| 385 | + | |
368 | 386 | | |
369 | 387 | | |
370 | 388 | | |
371 | 389 | | |
372 | 390 | | |
373 | 391 | | |
| 392 | + | |
374 | 393 | | |
375 | 394 | | |
376 | 395 | | |
377 | 396 | | |
378 | 397 | | |
379 | 398 | | |
380 | 399 | | |
| 400 | + | |
381 | 401 | | |
382 | 402 | | |
383 | 403 | | |
384 | 404 | | |
385 | 405 | | |
386 | 406 | | |
| 407 | + | |
387 | 408 | | |
388 | 409 | | |
389 | 410 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1338 | 1338 | | |
1339 | 1339 | | |
1340 | 1340 | | |
| 1341 | + | |
1341 | 1342 | | |
1342 | 1343 | | |
1343 | 1344 | | |
1344 | 1345 | | |
| 1346 | + | |
1345 | 1347 | | |
1346 | 1348 | | |
1347 | 1349 | | |
| |||
1459 | 1461 | | |
1460 | 1462 | | |
1461 | 1463 | | |
1462 | | - | |
| 1464 | + | |
1463 | 1465 | | |
1464 | 1466 | | |
1465 | 1467 | | |
1466 | 1468 | | |
| 1469 | + | |
1467 | 1470 | | |
1468 | 1471 | | |
1469 | | - | |
| 1472 | + | |
1470 | 1473 | | |
1471 | 1474 | | |
1472 | 1475 | | |
1473 | 1476 | | |
| 1477 | + | |
1474 | 1478 | | |
1475 | 1479 | | |
1476 | 1480 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4934 | 4934 | | |
4935 | 4935 | | |
4936 | 4936 | | |
| 4937 | + | |
4937 | 4938 | | |
4938 | 4939 | | |
4939 | 4940 | | |
| |||
4966 | 4967 | | |
4967 | 4968 | | |
4968 | 4969 | | |
| 4970 | + | |
4969 | 4971 | | |
4970 | 4972 | | |
4971 | 4973 | | |
| |||
4998 | 5000 | | |
4999 | 5001 | | |
5000 | 5002 | | |
| 5003 | + | |
5001 | 5004 | | |
5002 | 5005 | | |
5003 | 5006 | | |
| |||
5030 | 5033 | | |
5031 | 5034 | | |
5032 | 5035 | | |
| 5036 | + | |
5033 | 5037 | | |
5034 | 5038 | | |
5035 | 5039 | | |
| |||
5062 | 5066 | | |
5063 | 5067 | | |
5064 | 5068 | | |
| 5069 | + | |
5065 | 5070 | | |
5066 | 5071 | | |
5067 | 5072 | | |
| |||
5094 | 5099 | | |
5095 | 5100 | | |
5096 | 5101 | | |
| 5102 | + | |
5097 | 5103 | | |
5098 | 5104 | | |
5099 | 5105 | | |
| |||
5126 | 5132 | | |
5127 | 5133 | | |
5128 | 5134 | | |
| 5135 | + | |
5129 | 5136 | | |
5130 | 5137 | | |
5131 | 5138 | | |
| |||
5158 | 5165 | | |
5159 | 5166 | | |
5160 | 5167 | | |
| 5168 | + | |
5161 | 5169 | | |
5162 | 5170 | | |
5163 | 5171 | | |
| |||
5190 | 5198 | | |
5191 | 5199 | | |
5192 | 5200 | | |
| 5201 | + | |
5193 | 5202 | | |
5194 | 5203 | | |
5195 | 5204 | | |
| |||
5222 | 5231 | | |
5223 | 5232 | | |
5224 | 5233 | | |
| 5234 | + | |
5225 | 5235 | | |
5226 | 5236 | | |
5227 | 5237 | | |
| |||
5254 | 5264 | | |
5255 | 5265 | | |
5256 | 5266 | | |
| 5267 | + | |
5257 | 5268 | | |
5258 | 5269 | | |
5259 | 5270 | | |
| |||
5286 | 5297 | | |
5287 | 5298 | | |
5288 | 5299 | | |
| 5300 | + | |
5289 | 5301 | | |
5290 | 5302 | | |
5291 | 5303 | | |
| |||
5318 | 5330 | | |
5319 | 5331 | | |
5320 | 5332 | | |
| 5333 | + | |
5321 | 5334 | | |
5322 | 5335 | | |
5323 | 5336 | | |
| |||
5377 | 5390 | | |
5378 | 5391 | | |
5379 | 5392 | | |
| 5393 | + | |
5380 | 5394 | | |
5381 | 5395 | | |
5382 | 5396 | | |
| |||
5436 | 5450 | | |
5437 | 5451 | | |
5438 | 5452 | | |
| 5453 | + | |
5439 | 5454 | | |
5440 | 5455 | | |
5441 | 5456 | | |
| |||
5495 | 5510 | | |
5496 | 5511 | | |
5497 | 5512 | | |
| 5513 | + | |
5498 | 5514 | | |
5499 | 5515 | | |
5500 | 5516 | | |
| |||
5554 | 5570 | | |
5555 | 5571 | | |
5556 | 5572 | | |
| 5573 | + | |
5557 | 5574 | | |
5558 | 5575 | | |
5559 | 5576 | | |
| |||
5610 | 5627 | | |
5611 | 5628 | | |
5612 | 5629 | | |
| 5630 | + | |
5613 | 5631 | | |
5614 | 5632 | | |
5615 | 5633 | | |
| |||
5666 | 5684 | | |
5667 | 5685 | | |
5668 | 5686 | | |
| 5687 | + | |
5669 | 5688 | | |
5670 | 5689 | | |
5671 | 5690 | | |
| |||
5722 | 5741 | | |
5723 | 5742 | | |
5724 | 5743 | | |
| 5744 | + | |
5725 | 5745 | | |
5726 | 5746 | | |
5727 | 5747 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9794 | 9794 | | |
9795 | 9795 | | |
9796 | 9796 | | |
| 9797 | + | |
9797 | 9798 | | |
9798 | 9799 | | |
9799 | 9800 | | |
| |||
9826 | 9827 | | |
9827 | 9828 | | |
9828 | 9829 | | |
| 9830 | + | |
9829 | 9831 | | |
9830 | 9832 | | |
9831 | 9833 | | |
| |||
9858 | 9860 | | |
9859 | 9861 | | |
9860 | 9862 | | |
| 9863 | + | |
9861 | 9864 | | |
9862 | 9865 | | |
9863 | 9866 | | |
| |||
9890 | 9893 | | |
9891 | 9894 | | |
9892 | 9895 | | |
| 9896 | + | |
9893 | 9897 | | |
9894 | 9898 | | |
9895 | 9899 | | |
| |||
9922 | 9926 | | |
9923 | 9927 | | |
9924 | 9928 | | |
| 9929 | + | |
9925 | 9930 | | |
9926 | 9931 | | |
9927 | 9932 | | |
| |||
9954 | 9959 | | |
9955 | 9960 | | |
9956 | 9961 | | |
| 9962 | + | |
9957 | 9963 | | |
9958 | 9964 | | |
9959 | 9965 | | |
| |||
9986 | 9992 | | |
9987 | 9993 | | |
9988 | 9994 | | |
| 9995 | + | |
9989 | 9996 | | |
9990 | 9997 | | |
9991 | 9998 | | |
| |||
10045 | 10052 | | |
10046 | 10053 | | |
10047 | 10054 | | |
| 10055 | + | |
10048 | 10056 | | |
10049 | 10057 | | |
10050 | 10058 | | |
| |||
10101 | 10109 | | |
10102 | 10110 | | |
10103 | 10111 | | |
| 10112 | + | |
10104 | 10113 | | |
10105 | 10114 | | |
10106 | 10115 | | |
| |||
0 commit comments