summary refs log tree commit diff stats
path: root/compiler/seminst.nim
Commit message (Collapse)AuthorAgeFilesLines
* make tests green againAraq2018-05-141-2/+2
|
* more modules compile againAndreas Rumpf2018-05-121-13/+14
|
* added toOpenArray builtin for zero-copy slices; syntax sugar yet to comeAraq2018-03-241-1/+3
|
* Static[T] fixes (#7333)zah2018-03-241-0/+30
| | | | | | | | | | | * fix the usage of unresolved static[T] parameters in proc signatures * fix tsametype and tmacrogenerics * Allow creating composite type classes with concepts and using them in type signatures * Allow integers to be used in ident concatenations * Support using imported C++ generic types in proc signatures * fixes #7230 * closes #7379 * re-enable some metatype tests
* fixes #6489Araq2017-11-231-0/+2
|
* deprecated unary '<'Andreas Rumpf2017-10-291-4/+4
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-1/+1
|
* Fix #5962Zahary Karadjov2017-06-201-3/+8
| | | | | | | | | | | | | | | During the instantiation of a generic type A, some other generic type B may be instantiated multiple times with different parameters. We can think about each instantiation as a function call that should temporary bind the parameter names to concrete types. The problem with the existing implementation in semtypinst was that it was performing this binding within a shared global table. In this sense, it was executing the code as a programming language featuring only global variables. In such a language, re-entrant functions cannot be defined properly and hence this was leading to problems with similar types. The solution is simple - just like we need to introduce stack frames to handle re-entrant functions, we introduce a stack of type bindings that are pushed and popped during the generic instantiations.
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-3/+3
| | | | | | | fixes #4982 fixes #3805 close #3414
* fixes tproctypecache_falsepositive.nim test caseAraq2017-06-081-1/+2
|
* Restore the Nim's 0.14 proper handling of generic aliasesZahary Karadjov2017-04-081-1/+2
| | | | | | | | | | | A more efficient implementation is possible by restoring the old lifting ot tyGenericInvocation to tyGenericInst in liftTypeParam, but this fix will suffice for now. fixes #5087 fixes #5602 fixes #5641 fixes #5570
* fix tgenericshardcasesZahary Karadjov2017-03-241-1/+2
|
* Fix generic forward declarations; fixes #4104; fixes #4908 (#5566)zah2017-03-231-3/+11
|
* fixes #5430Araq2017-02-261-1/+1
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-3/+3
|
* make tests green againAraq2017-02-161-1/+3
|
* fixes #5383Araq2017-02-161-3/+4
|
* fixes #5285Andreas Rumpf2017-02-041-2/+9
|
* remove remnants of tyIterJacek Sieka2016-10-241-1/+1
|
* fixes #4856Andreas Rumpf2016-10-201-1/+2
|
* fixes #4673Andreas Rumpf2016-09-011-1/+1
|
* Merge pull request #4592 from arnetheduck/compiler-cleanupAndreas Rumpf2016-08-251-30/+0
|\ | | | | Compiler cleanup
| * remove unused stuffJacek Sieka2016-08-091-30/+0
| |
* | side-effect computation now done in the proper pass; fixes #4254Andreas Rumpf2016-08-251-3/+4
|/
* fixes #3055Andreas Rumpf2016-07-081-1/+1
|
* fixes #4177Andreas Rumpf2016-05-281-2/+4
|
* fixes #4097Andreas Rumpf2016-04-191-7/+7
|
* added experimental .this pragmaAndreas Rumpf2016-02-281-1/+43
|
* fixes #3476Araq2015-10-271-2/+2
|
* fixes #3338Araq2015-10-221-1/+7
|
* renamed inCompilesContext to compilesContextId; added test case for #3313Araq2015-09-181-3/+3
|
* fixes #3313Araq2015-09-181-4/+7
|
* fixes #3329Araq2015-09-181-1/+1
|
* usage of NimNode triggers .compileTime context; fixes #1679Araq2015-09-141-0/+2
|
* fixes generic instantations in conceptsAraq2015-09-121-0/+3
|
* Merge pull request #3177 from zah/generic-types-in-macrosAndreas Rumpf2015-08-141-12/+13
|\ | | | | Generic types in macros
| * fix #1858 again; restores the support for static macro paramsZahary Karadjov2015-08-021-12/+13
| |
* | fixes #2752Araq2015-08-091-3/+4
|/
* fixes #2470, fixes #1354Araq2015-04-281-1/+3
|
* fixes #2509Araq2015-04-111-1/+4
|
* fixes #794Araq2015-03-071-16/+16
|
* fixes #2215Araq2015-02-251-10/+11
|
* fixes #2125Araq2015-02-181-8/+18
|
* Fix typosFederico Ceratto2015-02-151-1/+1
|
* fixes #2004Araq2015-02-081-4/+9
|
* Revert 5e4ae8dDustin Lacewell2015-01-071-13/+12
|
* fix #1858; Add support for generic templates and macrosZahary Karadjov2015-01-051-12/+13
| | | | | | | | | Implementation notes: Just after overload resolution, the resolved generic params will be added to the call expression to be later processed in evalTemplate and evalMacroCall. These procs have been modified to handle the increased number of parameters, but one remaining issue is that immediate templates and macros don't go through the same process. The next commit will outlaw the use of generic parameters with such macros.
* fix #1789 (binding to static params during generic proc sigmatch)Zahary Karadjov2014-12-311-1/+3
|
* fixes #1055Araq2014-11-161-3/+6
|
* Nimrod renamed to NimAraq2014-08-281-1/+1
|
' href='#n530'>530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759