Commit d91e56e
committed
v3: address PR review batch 13 — unsigned shift in fixed-array lengths, copy generic method-value map to cgen workers
The const fixed-array-length evaluators now handle V's unsigned right shift `>>>`. The
string evaluator gains it as a three-char operator (matched before `>>`), and the cgen
fixed-array dimension (fixed_array_len_raw) folds any const expression to an integer
literal first — `>>>` has no C form, so a digit-leading expression like `[8 >>> 1]int`
must not pass through raw. The literal-length guard rejects a wrong element count and the
emitted C dimension is valid. (The AST evaluator already handled `.right_shift_unsigned`.)
clone_parallel_type_checker now copies generic_method_value_info into each parallel-cgen
worker checker. It is the read-only map cgen uses to recover substituted signatures for
generic-receiver method values (`Box[int].method` as a callback); without it a worker on
a large enough non-Windows build saw an empty map and gen_method_value_closure fell
through instead of emitting the wrapper/specialized call. (fn_d_parallel.v was also
brought to vfmt formatting.)1 parent 114a8b2 commit d91e56e
4 files changed
Lines changed: 90 additions & 58 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1555 | 1555 | | |
1556 | 1556 | | |
1557 | 1557 | | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
1558 | 1565 | | |
1559 | 1566 | | |
1560 | 1567 | | |
1561 | 1568 | | |
1562 | | - | |
1563 | | - | |
1564 | | - | |
1565 | | - | |
1566 | | - | |
1567 | 1569 | | |
1568 | 1570 | | |
1569 | 1571 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
381 | 381 | | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
401 | | - | |
402 | | - | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
403 | 403 | | |
404 | 404 | | |
405 | 405 | | |
| |||
461 | 461 | | |
462 | 462 | | |
463 | 463 | | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
464 | 468 | | |
465 | 469 | | |
466 | 470 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
643 | 643 | | |
644 | 644 | | |
645 | 645 | | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5370 | 5370 | | |
5371 | 5371 | | |
5372 | 5372 | | |
5373 | | - | |
5374 | | - | |
5375 | | - | |
5376 | | - | |
| 5373 | + | |
| 5374 | + | |
| 5375 | + | |
| 5376 | + | |
5377 | 5377 | | |
5378 | 5378 | | |
5379 | 5379 | | |
| |||
5391 | 5391 | | |
5392 | 5392 | | |
5393 | 5393 | | |
| 5394 | + | |
| 5395 | + | |
| 5396 | + | |
| 5397 | + | |
| 5398 | + | |
| 5399 | + | |
| 5400 | + | |
5394 | 5401 | | |
5395 | 5402 | | |
5396 | 5403 | | |
| |||
5418 | 5425 | | |
5419 | 5426 | | |
5420 | 5427 | | |
5421 | | - | |
| 5428 | + | |
5422 | 5429 | | |
5423 | 5430 | | |
5424 | 5431 | | |
| |||
5431 | 5438 | | |
5432 | 5439 | | |
5433 | 5440 | | |
5434 | | - | |
| 5441 | + | |
| 5442 | + | |
5435 | 5443 | | |
5436 | 5444 | | |
5437 | 5445 | | |
| |||
0 commit comments