source: src/Tests/Expect-r/Rank2.txt@ f6d7e0f

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since f6d7e0f was b1d6dd5, checked in by Peter A. Buhr <pabuhr@…>, 10 years ago

fix parsing error for EOF message, change cfa-ccp -x flag to -v, regression testing third attempt: consolidate example programs

  • Property mode set to 100644
File size: 108.4 KB
Line 
1nameExpr is g
2decl is g: function
3 with parameters
4 p: pointer to forall
5 U: type
6 with assertions
7 ?=?: pointer to function
8 with parameters
9 pointer to instance of type U (not function type)
10 instance of type U (not function type)
11 returning
12 instance of type U (not function type)
13
14
15 function
16 with parameters
17 instance of type U (not function type)
18 returning
19 nothing
20
21 returning
22 nothing
23
24newExpr is Variable Expression: g: function
25 with parameters
26 p: pointer to forall
27 U: type
28 with assertions
29 ?=?: pointer to function
30 with parameters
31 pointer to instance of type U (not function type)
32 instance of type U (not function type)
33 returning
34 instance of type U (not function type)
35
36
37 function
38 with parameters
39 instance of type U (not function type)
40 returning
41 nothing
42
43 returning
44 nothing
45
46
47alternatives before prune:
48Cost ( 0, 0, 0 ): Variable Expression: g: function
49 with parameters
50 p: pointer to forall
51 U: type
52 with assertions
53 ?=?: pointer to function
54 with parameters
55 pointer to instance of type U (not function type)
56 instance of type U (not function type)
57 returning
58 instance of type U (not function type)
59
60
61 function
62 with parameters
63 instance of type U (not function type)
64 returning
65 nothing
66
67 returning
68 nothing
69
70(types:
71 pointer to function
72 with parameters
73 p: pointer to forall
74 _0_U: type
75 with assertions
76 ?=?: pointer to function
77 with parameters
78 pointer to instance of type _0_U (not function type)
79 instance of type _0_U (not function type)
80 returning
81 instance of type _0_U (not function type)
82
83
84 function
85 with parameters
86 instance of type _0_U (not function type)
87 returning
88 nothing
89
90 returning
91 nothing
92
93)
94Environment:
95
96there are 1 alternatives before elimination
97there are 1 alternatives after elimination
98nameExpr is f
99decl is f: forall
100 T: type
101 with assertions
102 ?=?: pointer to function
103 with parameters
104 pointer to instance of type T (not function type)
105 instance of type T (not function type)
106 returning
107 instance of type T (not function type)
108
109
110 function
111 with parameters
112 instance of type T (not function type)
113 returning
114 nothing
115
116newExpr is Variable Expression: f: forall
117 T: type
118 with assertions
119 ?=?: pointer to function
120 with parameters
121 pointer to instance of type T (not function type)
122 instance of type T (not function type)
123 returning
124 instance of type T (not function type)
125
126
127 function
128 with parameters
129 instance of type T (not function type)
130 returning
131 nothing
132
133
134alternatives before prune:
135Cost ( 0, 0, 0 ): Variable Expression: f: forall
136 T: type
137 with assertions
138 ?=?: pointer to function
139 with parameters
140 pointer to instance of type T (not function type)
141 instance of type T (not function type)
142 returning
143 instance of type T (not function type)
144
145
146 function
147 with parameters
148 instance of type T (not function type)
149 returning
150 nothing
151
152(types:
153 pointer to forall
154 _1_T: type
155 with assertions
156 ?=?: pointer to function
157 with parameters
158 pointer to instance of type _1_T (not function type)
159 instance of type _1_T (not function type)
160 returning
161 instance of type _1_T (not function type)
162
163
164 function
165 with parameters
166 instance of type _1_T (not function type)
167 returning
168 nothing
169
170)
171Environment:
172
173there are 1 alternatives before elimination
174there are 1 alternatives after elimination
175findSubExprs
176Cost ( 0, 0, 0 ): Variable Expression: f: forall
177 T: type
178 with assertions
179 ?=?: pointer to function
180 with parameters
181 pointer to instance of type T (not function type)
182 instance of type T (not function type)
183 returning
184 instance of type T (not function type)
185
186
187 function
188 with parameters
189 instance of type T (not function type)
190 returning
191 nothing
192
193(types:
194 pointer to forall
195 _1_T: type
196 with assertions
197 ?=?: pointer to function
198 with parameters
199 pointer to instance of type _1_T (not function type)
200 instance of type _1_T (not function type)
201 returning
202 instance of type _1_T (not function type)
203
204
205 function
206 with parameters
207 instance of type _1_T (not function type)
208 returning
209 nothing
210
211)
212Environment:
213
214working on alternative:
215 Cost ( 0, 0, 0 ): Variable Expression: g: function
216 with parameters
217 p: pointer to forall
218 U: type
219 with assertions
220 ?=?: pointer to function
221 with parameters
222 pointer to instance of type U (not function type)
223 instance of type U (not function type)
224 returning
225 instance of type U (not function type)
226
227
228 function
229 with parameters
230 instance of type U (not function type)
231 returning
232 nothing
233
234 returning
235 nothing
236
237(types:
238 pointer to function
239 with parameters
240 p: pointer to forall
241 _0_U: type
242 with assertions
243 ?=?: pointer to function
244 with parameters
245 pointer to instance of type _0_U (not function type)
246 instance of type _0_U (not function type)
247 returning
248 instance of type _0_U (not function type)
249
250
251 function
252 with parameters
253 instance of type _0_U (not function type)
254 returning
255 nothing
256
257 returning
258 nothing
259
260)
261 Environment:
262formal type is pointer to forall
263 _0_U: type
264 with assertions
265 ?=?: pointer to function
266 with parameters
267 pointer to instance of type _0_U (not function type)
268 instance of type _0_U (not function type)
269 returning
270 instance of type _0_U (not function type)
271
272
273 function
274 with parameters
275 instance of type _0_U (not function type)
276 returning
277 nothing
278
279actual type is pointer to forall
280 _1_T: type
281 with assertions
282 ?=?: pointer to function
283 with parameters
284 pointer to instance of type _1_T (not function type)
285 instance of type _1_T (not function type)
286 returning
287 instance of type _1_T (not function type)
288
289
290 function
291 with parameters
292 instance of type _1_T (not function type)
293 returning
294 nothing
295
296need assertions:
297?=?: pointer to function
298 with parameters
299 pointer to instance of type _1_T (not function type)
300 instance of type _1_T (not function type)
301 returning
302 instance of type _1_T (not function type)
303(used)============= original indexer
304===idTable===
305===typeTable===
306===structTable===
307===enumTable===
308===unionTable===
309===contextTable===
310============= new indexer
311===idTable===
312===typeTable===
313===structTable===
314===enumTable===
315===unionTable===
316===contextTable===
317inferRecursive: assertion is ?=?: pointer to function
318 with parameters
319 pointer to instance of type _1_T (not function type)
320 instance of type _1_T (not function type)
321 returning
322 instance of type _1_T (not function type)
323
324inferRecursive: candidate is ?=?: forall
325 DT: incomplete type
326 function
327 with parameters
328 pointer to pointer to instance of type DT (not function type)
329 pointer to instance of type DT (not function type)
330 returning
331 pointer to instance of type DT (not function type)
332
333unifying pointer to function
334 with parameters
335 pointer to instance of type _1_T (not function type)
336 instance of type _1_T (not function type)
337 returning
338 instance of type _1_T (not function type)
339 with pointer to forall
340 _2_DT: incomplete type
341 function
342 with parameters
343 pointer to pointer to instance of type _2_DT (not function type)
344 pointer to instance of type _2_DT (not function type)
345 returning
346 pointer to instance of type _2_DT (not function type)
347
348inferRecursive: candidate is ?=?: function
349 with parameters
350 pointer to signed int
351 signed int
352 returning
353 signed int
354
355unifying pointer to function
356 with parameters
357 pointer to instance of type _1_T (not function type)
358 instance of type _1_T (not function type)
359 returning
360 instance of type _1_T (not function type)
361 with pointer to function
362 with parameters
363 pointer to signed int
364 signed int
365 returning
366 signed int
367
368inferRecursive: candidate is ?=?: pointer to function
369 with parameters
370 pointer to instance of type _0_U (not function type)
371 instance of type _0_U (not function type)
372 returning
373 instance of type _0_U (not function type)
374
375unifying pointer to function
376 with parameters
377 pointer to instance of type _1_T (not function type)
378 instance of type _1_T (not function type)
379 returning
380 instance of type _1_T (not function type)
381 with pointer to function
382 with parameters
383 pointer to instance of type _0_U (not function type)
384 instance of type _0_U (not function type)
385 returning
386 instance of type _0_U (not function type)
387
388success!
389satisfying assertion 12 ?=?: pointer to function
390 with parameters
391 pointer to instance of type _1_T (not function type)
392 instance of type _1_T (not function type)
393 returning
394 instance of type _1_T (not function type)
395 with declaration 18 ?=?: pointer to function
396 with parameters
397 pointer to instance of type _0_U (not function type)
398 instance of type _0_U (not function type)
399 returning
400 instance of type _0_U (not function type)
401
402actual expression:
403 Variable Expression: f: forall
404 T: type
405 with assertions
406 ?=?: pointer to function
407 with parameters
408 pointer to instance of type T (not function type)
409 instance of type T (not function type)
410 returning
411 instance of type T (not function type)
412
413
414 function
415 with parameters
416 instance of type T (not function type)
417 returning
418 nothing
419
420--- results are
421 pointer to forall
422 _1_T: type
423 with assertions
424 ?=?: pointer to function
425 with parameters
426 pointer to instance of type _1_T (not function type)
427 instance of type _1_T (not function type)
428 returning
429 instance of type _1_T (not function type)
430
431
432 function
433 with parameters
434 instance of type _1_T (not function type)
435 returning
436 nothing
437
438
439converting pointer to forall
440 _1_T: type
441 with assertions
442 ?=?: pointer to function
443 with parameters
444 pointer to instance of type _1_T (not function type)
445 instance of type _1_T (not function type)
446 returning
447 instance of type _1_T (not function type)
448
449
450 function
451 with parameters
452 instance of type _1_T (not function type)
453 returning
454 nothing
455
456 to pointer to forall
457 _0_U: type
458 with assertions
459 ?=?: pointer to function
460 with parameters
461 pointer to instance of type _0_U (not function type)
462 instance of type _0_U (not function type)
463 returning
464 instance of type _0_U (not function type)
465
466
467 function
468 with parameters
469 instance of type _0_U (not function type)
470 returning
471 nothing
472
473cost is( 0, 0, 0 )
474
475converting pointer to function
476 with parameters
477 pointer to instance of type _0_U (not function type)
478 instance of type _0_U (not function type)
479 returning
480 instance of type _0_U (not function type)
481
482 to pointer to function
483 with parameters
484 pointer to instance of type _1_T (not function type)
485 instance of type _1_T (not function type)
486 returning
487 instance of type _1_T (not function type)
488
489cost of conversion is ( 0, 0, 0 )
490Case +++++++++++++
491formals are:
492 p: pointer to forall
493 _0_U: type
494 with assertions
495 ?=?: pointer to function
496 with parameters
497 pointer to instance of type _0_U (not function type)
498 instance of type _0_U (not function type)
499 returning
500 instance of type _0_U (not function type)
501
502
503 function
504 with parameters
505 instance of type _0_U (not function type)
506 returning
507 nothing
508
509actuals are:
510 Variable Expression: f: forall
511 T: type
512 with assertions
513 ?=?: pointer to function
514 with parameters
515 pointer to instance of type T (not function type)
516 instance of type T (not function type)
517 returning
518 instance of type T (not function type)
519
520
521 function
522 with parameters
523 instance of type T (not function type)
524 returning
525 nothing
526
527
528bindings are:
529 ( _1_T ) -> instance of type _0_U (not function type) (no widening)
530cost of conversion is:( 0, 0, 0 )
531alternatives before prune:
532Cost ( 0, 0, 0 ): Application of
533 Variable Expression: g: function
534 with parameters
535 p: pointer to forall
536 U: type
537 with assertions
538 ?=?: pointer to function
539 with parameters
540 pointer to instance of type U (not function type)
541 instance of type U (not function type)
542 returning
543 instance of type U (not function type)
544
545
546 function
547 with parameters
548 instance of type U (not function type)
549 returning
550 nothing
551
552 returning
553 nothing
554
555to arguments
556 Variable Expression: f: forall
557 T: type
558 with assertions
559 ?=?: pointer to function
560 with parameters
561 pointer to instance of type T (not function type)
562 instance of type T (not function type)
563 returning
564 instance of type T (not function type)
565
566
567 function
568 with parameters
569 instance of type T (not function type)
570 returning
571 nothing
572
573
574with inferred parameters:
575 ?=?: pointer to function
576 with parameters
577 pointer to instance of type U (not function type)
578 instance of type U (not function type)
579 returning
580 instance of type U (not function type)
581
582(types:
583)
584Environment: ( _1_T ) -> instance of type _0_U (not function type) (no widening)
585
586
587there are 1 alternatives before elimination
588there are 1 alternatives after elimination
589alternatives before prune:
590Cost ( 0, 0, 0 ): Cast of:
591 Application of
592 Variable Expression: g: function
593 with parameters
594 p: pointer to forall
595 U: type
596 with assertions
597 ?=?: pointer to function
598 with parameters
599 pointer to instance of type U (not function type)
600 instance of type U (not function type)
601 returning
602 instance of type U (not function type)
603
604
605 function
606 with parameters
607 instance of type U (not function type)
608 returning
609 nothing
610
611 returning
612 nothing
613
614 to arguments
615 Variable Expression: f: forall
616 T: type
617 with assertions
618 ?=?: pointer to function
619 with parameters
620 pointer to instance of type T (not function type)
621 instance of type T (not function type)
622 returning
623 instance of type T (not function type)
624
625
626 function
627 with parameters
628 instance of type T (not function type)
629 returning
630 nothing
631
632
633 with inferred parameters:
634 ?=?: pointer to function
635 with parameters
636 pointer to instance of type U (not function type)
637 instance of type U (not function type)
638 returning
639 instance of type U (not function type)
640
641
642to:
643 nothing
644(types:
645)
646Environment: ( _1_T ) -> instance of type _0_U (not function type) (no widening)
647
648
649there are 1 alternatives before elimination
650there are 1 alternatives after elimination
651nameExpr is h
652decl is h: function
653 with parameters
654 null: pointer to signed int
655 returning
656 nothing
657
658newExpr is Variable Expression: h: function
659 with parameters
660 null: pointer to signed int
661 returning
662 nothing
663
664
665alternatives before prune:
666Cost ( 0, 0, 0 ): Variable Expression: h: function
667 with parameters
668 null: pointer to signed int
669 returning
670 nothing
671
672(types:
673 pointer to function
674 with parameters
675 null: pointer to signed int
676 returning
677 nothing
678
679)
680Environment:
681
682there are 1 alternatives before elimination
683there are 1 alternatives after elimination
684nameExpr is id
685decl is id: forall
686 T: type
687 with assertions
688 ?=?: pointer to function
689 with parameters
690 pointer to instance of type T (not function type)
691 instance of type T (not function type)
692 returning
693 instance of type T (not function type)
694
695
696 function
697 with parameters
698 instance of type T (not function type)
699 returning
700 instance of type T (not function type)
701
702newExpr is Variable Expression: id: forall
703 T: type
704 with assertions
705 ?=?: pointer to function
706 with parameters
707 pointer to instance of type T (not function type)
708 instance of type T (not function type)
709 returning
710 instance of type T (not function type)
711
712
713 function
714 with parameters
715 instance of type T (not function type)
716 returning
717 instance of type T (not function type)
718
719
720alternatives before prune:
721Cost ( 0, 0, 0 ): Variable Expression: id: forall
722 T: type
723 with assertions
724 ?=?: pointer to function
725 with parameters
726 pointer to instance of type T (not function type)
727 instance of type T (not function type)
728 returning
729 instance of type T (not function type)
730
731
732 function
733 with parameters
734 instance of type T (not function type)
735 returning
736 instance of type T (not function type)
737
738(types:
739 pointer to forall
740 _0_T: type
741 with assertions
742 ?=?: pointer to function
743 with parameters
744 pointer to instance of type _0_T (not function type)
745 instance of type _0_T (not function type)
746 returning
747 instance of type _0_T (not function type)
748
749
750 function
751 with parameters
752 instance of type _0_T (not function type)
753 returning
754 instance of type _0_T (not function type)
755
756)
757Environment:
758
759there are 1 alternatives before elimination
760there are 1 alternatives after elimination
761nameExpr is id
762decl is id: forall
763 T: type
764 with assertions
765 ?=?: pointer to function
766 with parameters
767 pointer to instance of type T (not function type)
768 instance of type T (not function type)
769 returning
770 instance of type T (not function type)
771
772
773 function
774 with parameters
775 instance of type T (not function type)
776 returning
777 instance of type T (not function type)
778
779newExpr is Variable Expression: id: forall
780 T: type
781 with assertions
782 ?=?: pointer to function
783 with parameters
784 pointer to instance of type T (not function type)
785 instance of type T (not function type)
786 returning
787 instance of type T (not function type)
788
789
790 function
791 with parameters
792 instance of type T (not function type)
793 returning
794 instance of type T (not function type)
795
796
797alternatives before prune:
798Cost ( 0, 0, 0 ): Variable Expression: id: forall
799 T: type
800 with assertions
801 ?=?: pointer to function
802 with parameters
803 pointer to instance of type T (not function type)
804 instance of type T (not function type)
805 returning
806 instance of type T (not function type)
807
808
809 function
810 with parameters
811 instance of type T (not function type)
812 returning
813 instance of type T (not function type)
814
815(types:
816 pointer to forall
817 _1_T: type
818 with assertions
819 ?=?: pointer to function
820 with parameters
821 pointer to instance of type _1_T (not function type)
822 instance of type _1_T (not function type)
823 returning
824 instance of type _1_T (not function type)
825
826
827 function
828 with parameters
829 instance of type _1_T (not function type)
830 returning
831 instance of type _1_T (not function type)
832
833)
834Environment:
835
836there are 1 alternatives before elimination
837there are 1 alternatives after elimination
838nameExpr is id
839decl is id: forall
840 T: type
841 with assertions
842 ?=?: pointer to function
843 with parameters
844 pointer to instance of type T (not function type)
845 instance of type T (not function type)
846 returning
847 instance of type T (not function type)
848
849
850 function
851 with parameters
852 instance of type T (not function type)
853 returning
854 instance of type T (not function type)
855
856newExpr is Variable Expression: id: forall
857 T: type
858 with assertions
859 ?=?: pointer to function
860 with parameters
861 pointer to instance of type T (not function type)
862 instance of type T (not function type)
863 returning
864 instance of type T (not function type)
865
866
867 function
868 with parameters
869 instance of type T (not function type)
870 returning
871 instance of type T (not function type)
872
873
874alternatives before prune:
875Cost ( 0, 0, 0 ): Variable Expression: id: forall
876 T: type
877 with assertions
878 ?=?: pointer to function
879 with parameters
880 pointer to instance of type T (not function type)
881 instance of type T (not function type)
882 returning
883 instance of type T (not function type)
884
885
886 function
887 with parameters
888 instance of type T (not function type)
889 returning
890 instance of type T (not function type)
891
892(types:
893 pointer to forall
894 _2_T: type
895 with assertions
896 ?=?: pointer to function
897 with parameters
898 pointer to instance of type _2_T (not function type)
899 instance of type _2_T (not function type)
900 returning
901 instance of type _2_T (not function type)
902
903
904 function
905 with parameters
906 instance of type _2_T (not function type)
907 returning
908 instance of type _2_T (not function type)
909
910)
911Environment:
912
913there are 1 alternatives before elimination
914there are 1 alternatives after elimination
915nameExpr is 0
916decl is 0: forall
917 T: incomplete type
918 pointer to instance of type T (not function type)
919newExpr is Variable Expression: 0: forall
920 T: incomplete type
921 pointer to instance of type T (not function type)
922
923decl is 0: signed int
924newExpr is Variable Expression: 0: signed int
925
926alternatives before prune:
927Cost ( 0, 0, 0 ): Variable Expression: 0: forall
928 T: incomplete type
929 pointer to instance of type T (not function type)
930(types:
931 forall
932 _3_T: incomplete type
933 lvalue pointer to instance of type _3_T (not function type)
934)
935Environment:
936
937Cost ( 0, 0, 0 ): Variable Expression: 0: signed int
938(types:
939 lvalue signed int
940)
941Environment:
942
943there are 2 alternatives before elimination
944there are 2 alternatives after elimination
945findSubExprs
946Cost ( 0, 0, 0 ): Variable Expression: 0: signed int
947(types:
948 lvalue signed int
949)
950Environment:
951
952Cost ( 0, 0, 0 ): Variable Expression: 0: forall
953 T: incomplete type
954 pointer to instance of type T (not function type)
955(types:
956 forall
957 _3_T: incomplete type
958 lvalue pointer to instance of type _3_T (not function type)
959)
960Environment:
961
962working on alternative:
963 Cost ( 0, 0, 0 ): Variable Expression: id: forall
964 T: type
965 with assertions
966 ?=?: pointer to function
967 with parameters
968 pointer to instance of type T (not function type)
969 instance of type T (not function type)
970 returning
971 instance of type T (not function type)
972
973
974 function
975 with parameters
976 instance of type T (not function type)
977 returning
978 instance of type T (not function type)
979
980(types:
981 pointer to forall
982 _2_T: type
983 with assertions
984 ?=?: pointer to function
985 with parameters
986 pointer to instance of type _2_T (not function type)
987 instance of type _2_T (not function type)
988 returning
989 instance of type _2_T (not function type)
990
991
992 function
993 with parameters
994 instance of type _2_T (not function type)
995 returning
996 instance of type _2_T (not function type)
997
998)
999 Environment:
1000formal type is instance of type _2_T (not function type)
1001actual type is lvalue signed int
1002need assertions:
1003?=?: pointer to function
1004 with parameters
1005 pointer to instance of type _2_T (not function type)
1006 instance of type _2_T (not function type)
1007 returning
1008 instance of type _2_T (not function type)
1009(used)============= original indexer
1010===idTable===
1011===typeTable===
1012T
1013===structTable===
1014===enumTable===
1015===unionTable===
1016===contextTable===
1017============= new indexer
1018===idTable===
1019===typeTable===
1020T
1021===structTable===
1022===enumTable===
1023===unionTable===
1024===contextTable===
1025inferRecursive: assertion is ?=?: pointer to function
1026 with parameters
1027 pointer to instance of type _2_T (not function type)
1028 instance of type _2_T (not function type)
1029 returning
1030 instance of type _2_T (not function type)
1031
1032inferRecursive: candidate is ?=?: forall
1033 DT: incomplete type
1034 function
1035 with parameters
1036 pointer to pointer to instance of type DT (not function type)
1037 pointer to instance of type DT (not function type)
1038 returning
1039 pointer to instance of type DT (not function type)
1040
1041unifying pointer to function
1042 with parameters
1043 pointer to instance of type _2_T (not function type)
1044 instance of type _2_T (not function type)
1045 returning
1046 instance of type _2_T (not function type)
1047 with pointer to forall
1048 _4_DT: incomplete type
1049 function
1050 with parameters
1051 pointer to pointer to instance of type _4_DT (not function type)
1052 pointer to instance of type _4_DT (not function type)
1053 returning
1054 pointer to instance of type _4_DT (not function type)
1055
1056inferRecursive: candidate is ?=?: function
1057 with parameters
1058 pointer to signed int
1059 signed int
1060 returning
1061 signed int
1062
1063unifying pointer to function
1064 with parameters
1065 pointer to instance of type _2_T (not function type)
1066 instance of type _2_T (not function type)
1067 returning
1068 instance of type _2_T (not function type)
1069 with pointer to function
1070 with parameters
1071 pointer to signed int
1072 signed int
1073 returning
1074 signed int
1075
1076success!
1077satisfying assertion 28 ?=?: pointer to function
1078 with parameters
1079 pointer to instance of type _2_T (not function type)
1080 instance of type _2_T (not function type)
1081 returning
1082 instance of type _2_T (not function type)
1083 with declaration 4 ?=?: function
1084 with parameters
1085 pointer to signed int
1086 signed int
1087 returning
1088 signed int
1089
1090formal type is instance of type _2_T (not function type)
1091actual type is forall
1092 _3_T: incomplete type
1093 lvalue pointer to instance of type _3_T (not function type)
1094need assertions:
1095?=?: pointer to function
1096 with parameters
1097 pointer to instance of type _2_T (not function type)
1098 instance of type _2_T (not function type)
1099 returning
1100 instance of type _2_T (not function type)
1101(used)============= original indexer
1102===idTable===
1103===typeTable===
1104T
1105===structTable===
1106===enumTable===
1107===unionTable===
1108===contextTable===
1109============= new indexer
1110===idTable===
1111===typeTable===
1112T
1113===structTable===
1114===enumTable===
1115===unionTable===
1116===contextTable===
1117inferRecursive: assertion is ?=?: pointer to function
1118 with parameters
1119 pointer to instance of type _2_T (not function type)
1120 instance of type _2_T (not function type)
1121 returning
1122 instance of type _2_T (not function type)
1123
1124inferRecursive: candidate is ?=?: forall
1125 DT: incomplete type
1126 function
1127 with parameters
1128 pointer to pointer to instance of type DT (not function type)
1129 pointer to instance of type DT (not function type)
1130 returning
1131 pointer to instance of type DT (not function type)
1132
1133unifying pointer to function
1134 with parameters
1135 pointer to instance of type _2_T (not function type)
1136 instance of type _2_T (not function type)
1137 returning
1138 instance of type _2_T (not function type)
1139 with pointer to forall
1140 _5_DT: incomplete type
1141 function
1142 with parameters
1143 pointer to pointer to instance of type _5_DT (not function type)
1144 pointer to instance of type _5_DT (not function type)
1145 returning
1146 pointer to instance of type _5_DT (not function type)
1147
1148success!
1149satisfying assertion 28 ?=?: pointer to function
1150 with parameters
1151 pointer to instance of type _2_T (not function type)
1152 instance of type _2_T (not function type)
1153 returning
1154 instance of type _2_T (not function type)
1155 with declaration 8 ?=?: forall
1156 DT: incomplete type
1157 function
1158 with parameters
1159 pointer to pointer to instance of type DT (not function type)
1160 pointer to instance of type DT (not function type)
1161 returning
1162 pointer to instance of type DT (not function type)
1163
1164inferRecursive: candidate is ?=?: function
1165 with parameters
1166 pointer to signed int
1167 signed int
1168 returning
1169 signed int
1170
1171unifying pointer to function
1172 with parameters
1173 pointer to instance of type _2_T (not function type)
1174 instance of type _2_T (not function type)
1175 returning
1176 instance of type _2_T (not function type)
1177 with pointer to function
1178 with parameters
1179 pointer to signed int
1180 signed int
1181 returning
1182 signed int
1183
1184actual expression:
1185 Variable Expression: 0: signed int
1186--- results are
1187 lvalue signed int
1188
1189converting lvalue signed int
1190 to instance of type _2_T (not function type)
1191cost is( 0, 0, 0 )
1192
1193converting pointer to function
1194 with parameters
1195 pointer to signed int
1196 signed int
1197 returning
1198 signed int
1199
1200 to pointer to function
1201 with parameters
1202 pointer to instance of type _2_T (not function type)
1203 instance of type _2_T (not function type)
1204 returning
1205 instance of type _2_T (not function type)
1206
1207cost of conversion is ( 0, 0, 0 )
1208Case +++++++++++++
1209formals are:
1210 instance of type _2_T (not function type)
1211actuals are:
1212 Variable Expression: 0: signed int
1213
1214bindings are:
1215 ( _2_T ) -> signed int
1216cost of conversion is:( 0, 4, 0 )
1217actual expression:
1218 Variable Expression: 0: forall
1219 T: incomplete type
1220 pointer to instance of type T (not function type)
1221--- results are
1222 forall
1223 _3_T: incomplete type
1224 lvalue pointer to instance of type _3_T (not function type)
1225
1226converting forall
1227 _3_T: incomplete type
1228 lvalue pointer to instance of type _3_T (not function type)
1229 to instance of type _2_T (not function type)
1230cost is( 0, 0, 0 )
1231
1232converting pointer to forall
1233 _5_DT: incomplete type
1234 function
1235 with parameters
1236 pointer to pointer to instance of type _5_DT (not function type)
1237 pointer to instance of type _5_DT (not function type)
1238 returning
1239 pointer to instance of type _5_DT (not function type)
1240
1241 to pointer to function
1242 with parameters
1243 pointer to instance of type _2_T (not function type)
1244 instance of type _2_T (not function type)
1245 returning
1246 instance of type _2_T (not function type)
1247
1248cost of conversion is ( 0, 0, 0 )
1249Case +++++++++++++
1250formals are:
1251 instance of type _2_T (not function type)
1252actuals are:
1253 Variable Expression: 0: forall
1254 T: incomplete type
1255 pointer to instance of type T (not function type)
1256
1257bindings are:
1258 ( _2_T ) -> forall
1259 _3_T: incomplete type
1260 pointer to instance of type _3_T (not function type)
1261 ( _3_T _5_DT ) (no widening)
1262cost of conversion is:( 0, 4, 0 )
1263alternatives before prune:
1264Cost ( 0, 4, 0 ): Application of
1265 Variable Expression: id: forall
1266 T: type
1267 with assertions
1268 ?=?: pointer to function
1269 with parameters
1270 pointer to instance of type T (not function type)
1271 instance of type T (not function type)
1272 returning
1273 instance of type T (not function type)
1274
1275
1276 function
1277 with parameters
1278 instance of type T (not function type)
1279 returning
1280 instance of type T (not function type)
1281
1282to arguments
1283 Variable Expression: 0: signed int
1284
1285with inferred parameters:
1286 ?=?: function
1287 with parameters
1288 pointer to signed int
1289 signed int
1290 returning
1291 signed int
1292
1293(types:
1294 instance of type _2_T (not function type)
1295)
1296Environment: ( _2_T ) -> signed int
1297
1298
1299Cost ( 0, 4, 0 ): Application of
1300 Variable Expression: id: forall
1301 T: type
1302 with assertions
1303 ?=?: pointer to function
1304 with parameters
1305 pointer to instance of type T (not function type)
1306 instance of type T (not function type)
1307 returning
1308 instance of type T (not function type)
1309
1310
1311 function
1312 with parameters
1313 instance of type T (not function type)
1314 returning
1315 instance of type T (not function type)
1316
1317to arguments
1318 Variable Expression: 0: forall
1319 T: incomplete type
1320 pointer to instance of type T (not function type)
1321
1322with inferred parameters:
1323 ?=?: forall
1324 DT: incomplete type
1325 function
1326 with parameters
1327 pointer to pointer to instance of type DT (not function type)
1328 pointer to instance of type DT (not function type)
1329 returning
1330 pointer to instance of type DT (not function type)
1331
1332(types:
1333 instance of type _2_T (not function type)
1334)
1335Environment: ( _2_T ) -> forall
1336 _3_T: incomplete type
1337 pointer to instance of type _3_T (not function type)
1338 ( _3_T _5_DT ) (no widening)
1339
1340
1341there are 2 alternatives before elimination
1342there are 2 alternatives after elimination
1343findSubExprs
1344Cost ( 0, 4, 0 ): Application of
1345 Variable Expression: id: forall
1346 T: type
1347 with assertions
1348 ?=?: pointer to function
1349 with parameters
1350 pointer to instance of type T (not function type)
1351 instance of type T (not function type)
1352 returning
1353 instance of type T (not function type)
1354
1355
1356 function
1357 with parameters
1358 instance of type T (not function type)
1359 returning
1360 instance of type T (not function type)
1361
1362to arguments
1363 Variable Expression: 0: signed int
1364
1365with inferred parameters:
1366 ?=?: function
1367 with parameters
1368 pointer to signed int
1369 signed int
1370 returning
1371 signed int
1372
1373(types:
1374 signed int
1375)
1376Environment: ( _2_T ) -> signed int
1377
1378
1379Cost ( 0, 4, 0 ): Application of
1380 Variable Expression: id: forall
1381 T: type
1382 with assertions
1383 ?=?: pointer to function
1384 with parameters
1385 pointer to instance of type T (not function type)
1386 instance of type T (not function type)
1387 returning
1388 instance of type T (not function type)
1389
1390
1391 function
1392 with parameters
1393 instance of type T (not function type)
1394 returning
1395 instance of type T (not function type)
1396
1397to arguments
1398 Variable Expression: 0: forall
1399 T: incomplete type
1400 pointer to instance of type T (not function type)
1401
1402with inferred parameters:
1403 ?=?: forall
1404 DT: incomplete type
1405 function
1406 with parameters
1407 pointer to pointer to instance of type DT (not function type)
1408 pointer to instance of type DT (not function type)
1409 returning
1410 pointer to instance of type DT (not function type)
1411
1412(types:
1413 forall
1414 _3_T: incomplete type
1415 pointer to instance of type _3_T (not function type)
1416)
1417Environment: ( _2_T ) -> forall
1418 _3_T: incomplete type
1419 pointer to instance of type _3_T (not function type)
1420 ( _3_T _5_DT ) (no widening)
1421
1422
1423working on alternative:
1424 Cost ( 0, 0, 0 ): Variable Expression: id: forall
1425 T: type
1426 with assertions
1427 ?=?: pointer to function
1428 with parameters
1429 pointer to instance of type T (not function type)
1430 instance of type T (not function type)
1431 returning
1432 instance of type T (not function type)
1433
1434
1435 function
1436 with parameters
1437 instance of type T (not function type)
1438 returning
1439 instance of type T (not function type)
1440
1441(types:
1442 pointer to forall
1443 _1_T: type
1444 with assertions
1445 ?=?: pointer to function
1446 with parameters
1447 pointer to instance of type _1_T (not function type)
1448 instance of type _1_T (not function type)
1449 returning
1450 instance of type _1_T (not function type)
1451
1452
1453 function
1454 with parameters
1455 instance of type _1_T (not function type)
1456 returning
1457 instance of type _1_T (not function type)
1458
1459)
1460 Environment:
1461formal type is instance of type _1_T (not function type)
1462actual type is signed int
1463need assertions:
1464?=?: pointer to function
1465 with parameters
1466 pointer to instance of type _1_T (not function type)
1467 instance of type _1_T (not function type)
1468 returning
1469 instance of type _1_T (not function type)
1470(used)============= original indexer
1471===idTable===
1472===typeTable===
1473T
1474===structTable===
1475===enumTable===
1476===unionTable===
1477===contextTable===
1478============= new indexer
1479===idTable===
1480===typeTable===
1481T
1482===structTable===
1483===enumTable===
1484===unionTable===
1485===contextTable===
1486inferRecursive: assertion is ?=?: pointer to function
1487 with parameters
1488 pointer to instance of type _1_T (not function type)
1489 instance of type _1_T (not function type)
1490 returning
1491 instance of type _1_T (not function type)
1492
1493inferRecursive: candidate is ?=?: forall
1494 DT: incomplete type
1495 function
1496 with parameters
1497 pointer to pointer to instance of type DT (not function type)
1498 pointer to instance of type DT (not function type)
1499 returning
1500 pointer to instance of type DT (not function type)
1501
1502unifying pointer to function
1503 with parameters
1504 pointer to instance of type _1_T (not function type)
1505 instance of type _1_T (not function type)
1506 returning
1507 instance of type _1_T (not function type)
1508 with pointer to forall
1509 _6_DT: incomplete type
1510 function
1511 with parameters
1512 pointer to pointer to instance of type _6_DT (not function type)
1513 pointer to instance of type _6_DT (not function type)
1514 returning
1515 pointer to instance of type _6_DT (not function type)
1516
1517inferRecursive: candidate is ?=?: function
1518 with parameters
1519 pointer to signed int
1520 signed int
1521 returning
1522 signed int
1523
1524unifying pointer to function
1525 with parameters
1526 pointer to instance of type _1_T (not function type)
1527 instance of type _1_T (not function type)
1528 returning
1529 instance of type _1_T (not function type)
1530 with pointer to function
1531 with parameters
1532 pointer to signed int
1533 signed int
1534 returning
1535 signed int
1536
1537success!
1538satisfying assertion 28 ?=?: pointer to function
1539 with parameters
1540 pointer to instance of type _1_T (not function type)
1541 instance of type _1_T (not function type)
1542 returning
1543 instance of type _1_T (not function type)
1544 with declaration 4 ?=?: function
1545 with parameters
1546 pointer to signed int
1547 signed int
1548 returning
1549 signed int
1550
1551formal type is instance of type _1_T (not function type)
1552actual type is forall
1553 _3_T: incomplete type
1554 pointer to instance of type _3_T (not function type)
1555need assertions:
1556?=?: pointer to function
1557 with parameters
1558 pointer to instance of type _1_T (not function type)
1559 instance of type _1_T (not function type)
1560 returning
1561 instance of type _1_T (not function type)
1562(used)============= original indexer
1563===idTable===
1564===typeTable===
1565T
1566===structTable===
1567===enumTable===
1568===unionTable===
1569===contextTable===
1570============= new indexer
1571===idTable===
1572===typeTable===
1573T
1574===structTable===
1575===enumTable===
1576===unionTable===
1577===contextTable===
1578inferRecursive: assertion is ?=?: pointer to function
1579 with parameters
1580 pointer to instance of type _1_T (not function type)
1581 instance of type _1_T (not function type)
1582 returning
1583 instance of type _1_T (not function type)
1584
1585inferRecursive: candidate is ?=?: forall
1586 DT: incomplete type
1587 function
1588 with parameters
1589 pointer to pointer to instance of type DT (not function type)
1590 pointer to instance of type DT (not function type)
1591 returning
1592 pointer to instance of type DT (not function type)
1593
1594unifying pointer to function
1595 with parameters
1596 pointer to instance of type _1_T (not function type)
1597 instance of type _1_T (not function type)
1598 returning
1599 instance of type _1_T (not function type)
1600 with pointer to forall
1601 _7_DT: incomplete type
1602 function
1603 with parameters
1604 pointer to pointer to instance of type _7_DT (not function type)
1605 pointer to instance of type _7_DT (not function type)
1606 returning
1607 pointer to instance of type _7_DT (not function type)
1608
1609success!
1610satisfying assertion 28 ?=?: pointer to function
1611 with parameters
1612 pointer to instance of type _1_T (not function type)
1613 instance of type _1_T (not function type)
1614 returning
1615 instance of type _1_T (not function type)
1616 with declaration 8 ?=?: forall
1617 DT: incomplete type
1618 function
1619 with parameters
1620 pointer to pointer to instance of type DT (not function type)
1621 pointer to instance of type DT (not function type)
1622 returning
1623 pointer to instance of type DT (not function type)
1624
1625inferRecursive: candidate is ?=?: function
1626 with parameters
1627 pointer to signed int
1628 signed int
1629 returning
1630 signed int
1631
1632unifying pointer to function
1633 with parameters
1634 pointer to instance of type _1_T (not function type)
1635 instance of type _1_T (not function type)
1636 returning
1637 instance of type _1_T (not function type)
1638 with pointer to function
1639 with parameters
1640 pointer to signed int
1641 signed int
1642 returning
1643 signed int
1644
1645actual expression:
1646 Application of
1647 Variable Expression: id: forall
1648 T: type
1649 with assertions
1650 ?=?: pointer to function
1651 with parameters
1652 pointer to instance of type T (not function type)
1653 instance of type T (not function type)
1654 returning
1655 instance of type T (not function type)
1656
1657
1658 function
1659 with parameters
1660 instance of type T (not function type)
1661 returning
1662 instance of type T (not function type)
1663
1664 to arguments
1665 Variable Expression: 0: signed int
1666
1667 with inferred parameters:
1668 ?=?: function
1669 with parameters
1670 pointer to signed int
1671 signed int
1672 returning
1673 signed int
1674
1675--- results are
1676 signed int
1677
1678converting signed int
1679 to instance of type _1_T (not function type)
1680cost is( 0, 0, 0 )
1681
1682converting pointer to function
1683 with parameters
1684 pointer to signed int
1685 signed int
1686 returning
1687 signed int
1688
1689 to pointer to function
1690 with parameters
1691 pointer to instance of type _1_T (not function type)
1692 instance of type _1_T (not function type)
1693 returning
1694 instance of type _1_T (not function type)
1695
1696cost of conversion is ( 0, 0, 0 )
1697Case +++++++++++++
1698formals are:
1699 instance of type _1_T (not function type)
1700actuals are:
1701 Application of
1702 Variable Expression: id: forall
1703 T: type
1704 with assertions
1705 ?=?: pointer to function
1706 with parameters
1707 pointer to instance of type T (not function type)
1708 instance of type T (not function type)
1709 returning
1710 instance of type T (not function type)
1711
1712
1713 function
1714 with parameters
1715 instance of type T (not function type)
1716 returning
1717 instance of type T (not function type)
1718
1719 to arguments
1720 Variable Expression: 0: signed int
1721
1722 with inferred parameters:
1723 ?=?: function
1724 with parameters
1725 pointer to signed int
1726 signed int
1727 returning
1728 signed int
1729
1730
1731bindings are:
1732 ( _2_T ) -> signed int (no widening)
1733 ( _1_T ) -> signed int
1734cost of conversion is:( 0, 4, 0 )
1735actual expression:
1736 Application of
1737 Variable Expression: id: forall
1738 T: type
1739 with assertions
1740 ?=?: pointer to function
1741 with parameters
1742 pointer to instance of type T (not function type)
1743 instance of type T (not function type)
1744 returning
1745 instance of type T (not function type)
1746
1747
1748 function
1749 with parameters
1750 instance of type T (not function type)
1751 returning
1752 instance of type T (not function type)
1753
1754 to arguments
1755 Variable Expression: 0: forall
1756 T: incomplete type
1757 pointer to instance of type T (not function type)
1758
1759 with inferred parameters:
1760 ?=?: forall
1761 DT: incomplete type
1762 function
1763 with parameters
1764 pointer to pointer to instance of type DT (not function type)
1765 pointer to instance of type DT (not function type)
1766 returning
1767 pointer to instance of type DT (not function type)
1768
1769--- results are
1770 forall
1771 _3_T: incomplete type
1772 pointer to instance of type _3_T (not function type)
1773
1774converting forall
1775 _3_T: incomplete type
1776 pointer to instance of type _3_T (not function type)
1777 to instance of type _1_T (not function type)
1778cost is( 0, 0, 0 )
1779
1780converting pointer to forall
1781 _7_DT: incomplete type
1782 function
1783 with parameters
1784 pointer to pointer to instance of type _7_DT (not function type)
1785 pointer to instance of type _7_DT (not function type)
1786 returning
1787 pointer to instance of type _7_DT (not function type)
1788
1789 to pointer to function
1790 with parameters
1791 pointer to instance of type _1_T (not function type)
1792 instance of type _1_T (not function type)
1793 returning
1794 instance of type _1_T (not function type)
1795
1796cost of conversion is ( 0, 0, 0 )
1797Case +++++++++++++
1798formals are:
1799 instance of type _1_T (not function type)
1800actuals are:
1801 Application of
1802 Variable Expression: id: forall
1803 T: type
1804 with assertions
1805 ?=?: pointer to function
1806 with parameters
1807 pointer to instance of type T (not function type)
1808 instance of type T (not function type)
1809 returning
1810 instance of type T (not function type)
1811
1812
1813 function
1814 with parameters
1815 instance of type T (not function type)
1816 returning
1817 instance of type T (not function type)
1818
1819 to arguments
1820 Variable Expression: 0: forall
1821 T: incomplete type
1822 pointer to instance of type T (not function type)
1823
1824 with inferred parameters:
1825 ?=?: forall
1826 DT: incomplete type
1827 function
1828 with parameters
1829 pointer to pointer to instance of type DT (not function type)
1830 pointer to instance of type DT (not function type)
1831 returning
1832 pointer to instance of type DT (not function type)
1833
1834
1835bindings are:
1836 ( _2_T ) -> forall
1837 _3_T: incomplete type
1838 pointer to instance of type _3_T (not function type) (no widening)
1839 ( _1_T ) -> forall
1840 _3_T: incomplete type
1841 pointer to instance of type _3_T (not function type)
1842 ( _3_T _5_DT _7_DT ) (no widening)
1843cost of conversion is:( 0, 4, 0 )
1844alternatives before prune:
1845Cost ( 0, 4, 0 ): Application of
1846 Variable Expression: id: forall
1847 T: type
1848 with assertions
1849 ?=?: pointer to function
1850 with parameters
1851 pointer to instance of type T (not function type)
1852 instance of type T (not function type)
1853 returning
1854 instance of type T (not function type)
1855
1856
1857 function
1858 with parameters
1859 instance of type T (not function type)
1860 returning
1861 instance of type T (not function type)
1862
1863to arguments
1864 Application of
1865 Variable Expression: id: forall
1866 T: type
1867 with assertions
1868 ?=?: pointer to function
1869 with parameters
1870 pointer to instance of type T (not function type)
1871 instance of type T (not function type)
1872 returning
1873 instance of type T (not function type)
1874
1875
1876 function
1877 with parameters
1878 instance of type T (not function type)
1879 returning
1880 instance of type T (not function type)
1881
1882 to arguments
1883 Variable Expression: 0: signed int
1884
1885 with inferred parameters:
1886 ?=?: function
1887 with parameters
1888 pointer to signed int
1889 signed int
1890 returning
1891 signed int
1892
1893
1894with inferred parameters:
1895 ?=?: function
1896 with parameters
1897 pointer to signed int
1898 signed int
1899 returning
1900 signed int
1901
1902(types:
1903 instance of type _1_T (not function type)
1904)
1905Environment: ( _2_T ) -> signed int (no widening)
1906 ( _1_T ) -> signed int
1907
1908
1909Cost ( 0, 4, 0 ): Application of
1910 Variable Expression: id: forall
1911 T: type
1912 with assertions
1913 ?=?: pointer to function
1914 with parameters
1915 pointer to instance of type T (not function type)
1916 instance of type T (not function type)
1917 returning
1918 instance of type T (not function type)
1919
1920
1921 function
1922 with parameters
1923 instance of type T (not function type)
1924 returning
1925 instance of type T (not function type)
1926
1927to arguments
1928 Application of
1929 Variable Expression: id: forall
1930 T: type
1931 with assertions
1932 ?=?: pointer to function
1933 with parameters
1934 pointer to instance of type T (not function type)
1935 instance of type T (not function type)
1936 returning
1937 instance of type T (not function type)
1938
1939
1940 function
1941 with parameters
1942 instance of type T (not function type)
1943 returning
1944 instance of type T (not function type)
1945
1946 to arguments
1947 Variable Expression: 0: forall
1948 T: incomplete type
1949 pointer to instance of type T (not function type)
1950
1951 with inferred parameters:
1952 ?=?: forall
1953 DT: incomplete type
1954 function
1955 with parameters
1956 pointer to pointer to instance of type DT (not function type)
1957 pointer to instance of type DT (not function type)
1958 returning
1959 pointer to instance of type DT (not function type)
1960
1961
1962with inferred parameters:
1963 ?=?: forall
1964 DT: incomplete type
1965 function
1966 with parameters
1967 pointer to pointer to instance of type DT (not function type)
1968 pointer to instance of type DT (not function type)
1969 returning
1970 pointer to instance of type DT (not function type)
1971
1972(types:
1973 instance of type _1_T (not function type)
1974)
1975Environment: ( _2_T ) -> forall
1976 _3_T: incomplete type
1977 pointer to instance of type _3_T (not function type) (no widening)
1978 ( _1_T ) -> forall
1979 _3_T: incomplete type
1980 pointer to instance of type _3_T (not function type)
1981 ( _3_T _5_DT _7_DT ) (no widening)
1982
1983
1984there are 2 alternatives before elimination
1985there are 2 alternatives after elimination
1986findSubExprs
1987Cost ( 0, 4, 0 ): Application of
1988 Variable Expression: id: forall
1989 T: type
1990 with assertions
1991 ?=?: pointer to function
1992 with parameters
1993 pointer to instance of type T (not function type)
1994 instance of type T (not function type)
1995 returning
1996 instance of type T (not function type)
1997
1998
1999 function
2000 with parameters
2001 instance of type T (not function type)
2002 returning
2003 instance of type T (not function type)
2004
2005to arguments
2006 Application of
2007 Variable Expression: id: forall
2008 T: type
2009 with assertions
2010 ?=?: pointer to function
2011 with parameters
2012 pointer to instance of type T (not function type)
2013 instance of type T (not function type)
2014 returning
2015 instance of type T (not function type)
2016
2017
2018 function
2019 with parameters
2020 instance of type T (not function type)
2021 returning
2022 instance of type T (not function type)
2023
2024 to arguments
2025 Variable Expression: 0: signed int
2026
2027 with inferred parameters:
2028 ?=?: function
2029 with parameters
2030 pointer to signed int
2031 signed int
2032 returning
2033 signed int
2034
2035
2036with inferred parameters:
2037 ?=?: function
2038 with parameters
2039 pointer to signed int
2040 signed int
2041 returning
2042 signed int
2043
2044(types:
2045 signed int
2046)
2047Environment: ( _2_T ) -> signed int (no widening)
2048 ( _1_T ) -> signed int
2049
2050
2051Cost ( 0, 4, 0 ): Application of
2052 Variable Expression: id: forall
2053 T: type
2054 with assertions
2055 ?=?: pointer to function
2056 with parameters
2057 pointer to instance of type T (not function type)
2058 instance of type T (not function type)
2059 returning
2060 instance of type T (not function type)
2061
2062
2063 function
2064 with parameters
2065 instance of type T (not function type)
2066 returning
2067 instance of type T (not function type)
2068
2069to arguments
2070 Application of
2071 Variable Expression: id: forall
2072 T: type
2073 with assertions
2074 ?=?: pointer to function
2075 with parameters
2076 pointer to instance of type T (not function type)
2077 instance of type T (not function type)
2078 returning
2079 instance of type T (not function type)
2080
2081
2082 function
2083 with parameters
2084 instance of type T (not function type)
2085 returning
2086 instance of type T (not function type)
2087
2088 to arguments
2089 Variable Expression: 0: forall
2090 T: incomplete type
2091 pointer to instance of type T (not function type)
2092
2093 with inferred parameters:
2094 ?=?: forall
2095 DT: incomplete type
2096 function
2097 with parameters
2098 pointer to pointer to instance of type DT (not function type)
2099 pointer to instance of type DT (not function type)
2100 returning
2101 pointer to instance of type DT (not function type)
2102
2103
2104with inferred parameters:
2105 ?=?: forall
2106 DT: incomplete type
2107 function
2108 with parameters
2109 pointer to pointer to instance of type DT (not function type)
2110 pointer to instance of type DT (not function type)
2111 returning
2112 pointer to instance of type DT (not function type)
2113
2114(types:
2115 forall
2116 _3_T: incomplete type
2117 pointer to instance of type _3_T (not function type)
2118)
2119Environment: ( _2_T ) -> forall
2120 _3_T: incomplete type
2121 pointer to instance of type _3_T (not function type) (no widening)
2122 ( _1_T ) -> forall
2123 _3_T: incomplete type
2124 pointer to instance of type _3_T (not function type)
2125 ( _3_T _5_DT _7_DT ) (no widening)
2126
2127
2128working on alternative:
2129 Cost ( 0, 0, 0 ): Variable Expression: id: forall
2130 T: type
2131 with assertions
2132 ?=?: pointer to function
2133 with parameters
2134 pointer to instance of type T (not function type)
2135 instance of type T (not function type)
2136 returning
2137 instance of type T (not function type)
2138
2139
2140 function
2141 with parameters
2142 instance of type T (not function type)
2143 returning
2144 instance of type T (not function type)
2145
2146(types:
2147 pointer to forall
2148 _0_T: type
2149 with assertions
2150 ?=?: pointer to function
2151 with parameters
2152 pointer to instance of type _0_T (not function type)
2153 instance of type _0_T (not function type)
2154 returning
2155 instance of type _0_T (not function type)
2156
2157
2158 function
2159 with parameters
2160 instance of type _0_T (not function type)
2161 returning
2162 instance of type _0_T (not function type)
2163
2164)
2165 Environment:
2166formal type is instance of type _0_T (not function type)
2167actual type is signed int
2168need assertions:
2169?=?: pointer to function
2170 with parameters
2171 pointer to instance of type _0_T (not function type)
2172 instance of type _0_T (not function type)
2173 returning
2174 instance of type _0_T (not function type)
2175(used)============= original indexer
2176===idTable===
2177===typeTable===
2178T
2179===structTable===
2180===enumTable===
2181===unionTable===
2182===contextTable===
2183============= new indexer
2184===idTable===
2185===typeTable===
2186T
2187===structTable===
2188===enumTable===
2189===unionTable===
2190===contextTable===
2191inferRecursive: assertion is ?=?: pointer to function
2192 with parameters
2193 pointer to instance of type _0_T (not function type)
2194 instance of type _0_T (not function type)
2195 returning
2196 instance of type _0_T (not function type)
2197
2198inferRecursive: candidate is ?=?: forall
2199 DT: incomplete type
2200 function
2201 with parameters
2202 pointer to pointer to instance of type DT (not function type)
2203 pointer to instance of type DT (not function type)
2204 returning
2205 pointer to instance of type DT (not function type)
2206
2207unifying pointer to function
2208 with parameters
2209 pointer to instance of type _0_T (not function type)
2210 instance of type _0_T (not function type)
2211 returning
2212 instance of type _0_T (not function type)
2213 with pointer to forall
2214 _8_DT: incomplete type
2215 function
2216 with parameters
2217 pointer to pointer to instance of type _8_DT (not function type)
2218 pointer to instance of type _8_DT (not function type)
2219 returning
2220 pointer to instance of type _8_DT (not function type)
2221
2222inferRecursive: candidate is ?=?: function
2223 with parameters
2224 pointer to signed int
2225 signed int
2226 returning
2227 signed int
2228
2229unifying pointer to function
2230 with parameters
2231 pointer to instance of type _0_T (not function type)
2232 instance of type _0_T (not function type)
2233 returning
2234 instance of type _0_T (not function type)
2235 with pointer to function
2236 with parameters
2237 pointer to signed int
2238 signed int
2239 returning
2240 signed int
2241
2242success!
2243satisfying assertion 28 ?=?: pointer to function
2244 with parameters
2245 pointer to instance of type _0_T (not function type)
2246 instance of type _0_T (not function type)
2247 returning
2248 instance of type _0_T (not function type)
2249 with declaration 4 ?=?: function
2250 with parameters
2251 pointer to signed int
2252 signed int
2253 returning
2254 signed int
2255
2256formal type is instance of type _0_T (not function type)
2257actual type is forall
2258 _3_T: incomplete type
2259 pointer to instance of type _3_T (not function type)
2260need assertions:
2261?=?: pointer to function
2262 with parameters
2263 pointer to instance of type _0_T (not function type)
2264 instance of type _0_T (not function type)
2265 returning
2266 instance of type _0_T (not function type)
2267(used)============= original indexer
2268===idTable===
2269===typeTable===
2270T
2271===structTable===
2272===enumTable===
2273===unionTable===
2274===contextTable===
2275============= new indexer
2276===idTable===
2277===typeTable===
2278T
2279===structTable===
2280===enumTable===
2281===unionTable===
2282===contextTable===
2283inferRecursive: assertion is ?=?: pointer to function
2284 with parameters
2285 pointer to instance of type _0_T (not function type)
2286 instance of type _0_T (not function type)
2287 returning
2288 instance of type _0_T (not function type)
2289
2290inferRecursive: candidate is ?=?: forall
2291 DT: incomplete type
2292 function
2293 with parameters
2294 pointer to pointer to instance of type DT (not function type)
2295 pointer to instance of type DT (not function type)
2296 returning
2297 pointer to instance of type DT (not function type)
2298
2299unifying pointer to function
2300 with parameters
2301 pointer to instance of type _0_T (not function type)
2302 instance of type _0_T (not function type)
2303 returning
2304 instance of type _0_T (not function type)
2305 with pointer to forall
2306 _9_DT: incomplete type
2307 function
2308 with parameters
2309 pointer to pointer to instance of type _9_DT (not function type)
2310 pointer to instance of type _9_DT (not function type)
2311 returning
2312 pointer to instance of type _9_DT (not function type)
2313
2314success!
2315satisfying assertion 28 ?=?: pointer to function
2316 with parameters
2317 pointer to instance of type _0_T (not function type)
2318 instance of type _0_T (not function type)
2319 returning
2320 instance of type _0_T (not function type)
2321 with declaration 8 ?=?: forall
2322 DT: incomplete type
2323 function
2324 with parameters
2325 pointer to pointer to instance of type DT (not function type)
2326 pointer to instance of type DT (not function type)
2327 returning
2328 pointer to instance of type DT (not function type)
2329
2330inferRecursive: candidate is ?=?: function
2331 with parameters
2332 pointer to signed int
2333 signed int
2334 returning
2335 signed int
2336
2337unifying pointer to function
2338 with parameters
2339 pointer to instance of type _0_T (not function type)
2340 instance of type _0_T (not function type)
2341 returning
2342 instance of type _0_T (not function type)
2343 with pointer to function
2344 with parameters
2345 pointer to signed int
2346 signed int
2347 returning
2348 signed int
2349
2350actual expression:
2351 Application of
2352 Variable Expression: id: forall
2353 T: type
2354 with assertions
2355 ?=?: pointer to function
2356 with parameters
2357 pointer to instance of type T (not function type)
2358 instance of type T (not function type)
2359 returning
2360 instance of type T (not function type)
2361
2362
2363 function
2364 with parameters
2365 instance of type T (not function type)
2366 returning
2367 instance of type T (not function type)
2368
2369 to arguments
2370 Application of
2371 Variable Expression: id: forall
2372 T: type
2373 with assertions
2374 ?=?: pointer to function
2375 with parameters
2376 pointer to instance of type T (not function type)
2377 instance of type T (not function type)
2378 returning
2379 instance of type T (not function type)
2380
2381
2382 function
2383 with parameters
2384 instance of type T (not function type)
2385 returning
2386 instance of type T (not function type)
2387
2388 to arguments
2389 Variable Expression: 0: signed int
2390
2391 with inferred parameters:
2392 ?=?: function
2393 with parameters
2394 pointer to signed int
2395 signed int
2396 returning
2397 signed int
2398
2399
2400 with inferred parameters:
2401 ?=?: function
2402 with parameters
2403 pointer to signed int
2404 signed int
2405 returning
2406 signed int
2407
2408--- results are
2409 signed int
2410
2411converting signed int
2412 to instance of type _0_T (not function type)
2413cost is( 0, 0, 0 )
2414
2415converting pointer to function
2416 with parameters
2417 pointer to signed int
2418 signed int
2419 returning
2420 signed int
2421
2422 to pointer to function
2423 with parameters
2424 pointer to instance of type _0_T (not function type)
2425 instance of type _0_T (not function type)
2426 returning
2427 instance of type _0_T (not function type)
2428
2429cost of conversion is ( 0, 0, 0 )
2430Case +++++++++++++
2431formals are:
2432 instance of type _0_T (not function type)
2433actuals are:
2434 Application of
2435 Variable Expression: id: forall
2436 T: type
2437 with assertions
2438 ?=?: pointer to function
2439 with parameters
2440 pointer to instance of type T (not function type)
2441 instance of type T (not function type)
2442 returning
2443 instance of type T (not function type)
2444
2445
2446 function
2447 with parameters
2448 instance of type T (not function type)
2449 returning
2450 instance of type T (not function type)
2451
2452 to arguments
2453 Application of
2454 Variable Expression: id: forall
2455 T: type
2456 with assertions
2457 ?=?: pointer to function
2458 with parameters
2459 pointer to instance of type T (not function type)
2460 instance of type T (not function type)
2461 returning
2462 instance of type T (not function type)
2463
2464
2465 function
2466 with parameters
2467 instance of type T (not function type)
2468 returning
2469 instance of type T (not function type)
2470
2471 to arguments
2472 Variable Expression: 0: signed int
2473
2474 with inferred parameters:
2475 ?=?: function
2476 with parameters
2477 pointer to signed int
2478 signed int
2479 returning
2480 signed int
2481
2482
2483 with inferred parameters:
2484 ?=?: function
2485 with parameters
2486 pointer to signed int
2487 signed int
2488 returning
2489 signed int
2490
2491
2492bindings are:
2493 ( _2_T ) -> signed int (no widening)
2494 ( _1_T ) -> signed int (no widening)
2495 ( _0_T ) -> signed int
2496cost of conversion is:( 0, 4, 0 )
2497actual expression:
2498 Application of
2499 Variable Expression: id: forall
2500 T: type
2501 with assertions
2502 ?=?: pointer to function
2503 with parameters
2504 pointer to instance of type T (not function type)
2505 instance of type T (not function type)
2506 returning
2507 instance of type T (not function type)
2508
2509
2510 function
2511 with parameters
2512 instance of type T (not function type)
2513 returning
2514 instance of type T (not function type)
2515
2516 to arguments
2517 Application of
2518 Variable Expression: id: forall
2519 T: type
2520 with assertions
2521 ?=?: pointer to function
2522 with parameters
2523 pointer to instance of type T (not function type)
2524 instance of type T (not function type)
2525 returning
2526 instance of type T (not function type)
2527
2528
2529 function
2530 with parameters
2531 instance of type T (not function type)
2532 returning
2533 instance of type T (not function type)
2534
2535 to arguments
2536 Variable Expression: 0: forall
2537 T: incomplete type
2538 pointer to instance of type T (not function type)
2539
2540 with inferred parameters:
2541 ?=?: forall
2542 DT: incomplete type
2543 function
2544 with parameters
2545 pointer to pointer to instance of type DT (not function type)
2546 pointer to instance of type DT (not function type)
2547 returning
2548 pointer to instance of type DT (not function type)
2549
2550
2551 with inferred parameters:
2552 ?=?: forall
2553 DT: incomplete type
2554 function
2555 with parameters
2556 pointer to pointer to instance of type DT (not function type)
2557 pointer to instance of type DT (not function type)
2558 returning
2559 pointer to instance of type DT (not function type)
2560
2561--- results are
2562 forall
2563 _3_T: incomplete type
2564 pointer to instance of type _3_T (not function type)
2565
2566converting forall
2567 _3_T: incomplete type
2568 pointer to instance of type _3_T (not function type)
2569 to instance of type _0_T (not function type)
2570cost is( 0, 0, 0 )
2571
2572converting pointer to forall
2573 _9_DT: incomplete type
2574 function
2575 with parameters
2576 pointer to pointer to instance of type _9_DT (not function type)
2577 pointer to instance of type _9_DT (not function type)
2578 returning
2579 pointer to instance of type _9_DT (not function type)
2580
2581 to pointer to function
2582 with parameters
2583 pointer to instance of type _0_T (not function type)
2584 instance of type _0_T (not function type)
2585 returning
2586 instance of type _0_T (not function type)
2587
2588cost of conversion is ( 0, 0, 0 )
2589Case +++++++++++++
2590formals are:
2591 instance of type _0_T (not function type)
2592actuals are:
2593 Application of
2594 Variable Expression: id: forall
2595 T: type
2596 with assertions
2597 ?=?: pointer to function
2598 with parameters
2599 pointer to instance of type T (not function type)
2600 instance of type T (not function type)
2601 returning
2602 instance of type T (not function type)
2603
2604
2605 function
2606 with parameters
2607 instance of type T (not function type)
2608 returning
2609 instance of type T (not function type)
2610
2611 to arguments
2612 Application of
2613 Variable Expression: id: forall
2614 T: type
2615 with assertions
2616 ?=?: pointer to function
2617 with parameters
2618 pointer to instance of type T (not function type)
2619 instance of type T (not function type)
2620 returning
2621 instance of type T (not function type)
2622
2623
2624 function
2625 with parameters
2626 instance of type T (not function type)
2627 returning
2628 instance of type T (not function type)
2629
2630 to arguments
2631 Variable Expression: 0: forall
2632 T: incomplete type
2633 pointer to instance of type T (not function type)
2634
2635 with inferred parameters:
2636 ?=?: forall
2637 DT: incomplete type
2638 function
2639 with parameters
2640 pointer to pointer to instance of type DT (not function type)
2641 pointer to instance of type DT (not function type)
2642 returning
2643 pointer to instance of type DT (not function type)
2644
2645
2646 with inferred parameters:
2647 ?=?: forall
2648 DT: incomplete type
2649 function
2650 with parameters
2651 pointer to pointer to instance of type DT (not function type)
2652 pointer to instance of type DT (not function type)
2653 returning
2654 pointer to instance of type DT (not function type)
2655
2656
2657bindings are:
2658 ( _2_T ) -> forall
2659 _3_T: incomplete type
2660 pointer to instance of type _3_T (not function type) (no widening)
2661 ( _1_T ) -> forall
2662 _3_T: incomplete type
2663 pointer to instance of type _3_T (not function type) (no widening)
2664 ( _0_T ) -> forall
2665 _3_T: incomplete type
2666 pointer to instance of type _3_T (not function type)
2667 ( _3_T _5_DT _7_DT _9_DT ) (no widening)
2668cost of conversion is:( 0, 4, 0 )
2669alternatives before prune:
2670Cost ( 0, 4, 0 ): Application of
2671 Variable Expression: id: forall
2672 T: type
2673 with assertions
2674 ?=?: pointer to function
2675 with parameters
2676 pointer to instance of type T (not function type)
2677 instance of type T (not function type)
2678 returning
2679 instance of type T (not function type)
2680
2681
2682 function
2683 with parameters
2684 instance of type T (not function type)
2685 returning
2686 instance of type T (not function type)
2687
2688to arguments
2689 Application of
2690 Variable Expression: id: forall
2691 T: type
2692 with assertions
2693 ?=?: pointer to function
2694 with parameters
2695 pointer to instance of type T (not function type)
2696 instance of type T (not function type)
2697 returning
2698 instance of type T (not function type)
2699
2700
2701 function
2702 with parameters
2703 instance of type T (not function type)
2704 returning
2705 instance of type T (not function type)
2706
2707 to arguments
2708 Application of
2709 Variable Expression: id: forall
2710 T: type
2711 with assertions
2712 ?=?: pointer to function
2713 with parameters
2714 pointer to instance of type T (not function type)
2715 instance of type T (not function type)
2716 returning
2717 instance of type T (not function type)
2718
2719
2720 function
2721 with parameters
2722 instance of type T (not function type)
2723 returning
2724 instance of type T (not function type)
2725
2726 to arguments
2727 Variable Expression: 0: signed int
2728
2729 with inferred parameters:
2730 ?=?: function
2731 with parameters
2732 pointer to signed int
2733 signed int
2734 returning
2735 signed int
2736
2737
2738 with inferred parameters:
2739 ?=?: function
2740 with parameters
2741 pointer to signed int
2742 signed int
2743 returning
2744 signed int
2745
2746
2747with inferred parameters:
2748 ?=?: function
2749 with parameters
2750 pointer to signed int
2751 signed int
2752 returning
2753 signed int
2754
2755(types:
2756 instance of type _0_T (not function type)
2757)
2758Environment: ( _2_T ) -> signed int (no widening)
2759 ( _1_T ) -> signed int (no widening)
2760 ( _0_T ) -> signed int
2761
2762
2763Cost ( 0, 4, 0 ): Application of
2764 Variable Expression: id: forall
2765 T: type
2766 with assertions
2767 ?=?: pointer to function
2768 with parameters
2769 pointer to instance of type T (not function type)
2770 instance of type T (not function type)
2771 returning
2772 instance of type T (not function type)
2773
2774
2775 function
2776 with parameters
2777 instance of type T (not function type)
2778 returning
2779 instance of type T (not function type)
2780
2781to arguments
2782 Application of
2783 Variable Expression: id: forall
2784 T: type
2785 with assertions
2786 ?=?: pointer to function
2787 with parameters
2788 pointer to instance of type T (not function type)
2789 instance of type T (not function type)
2790 returning
2791 instance of type T (not function type)
2792
2793
2794 function
2795 with parameters
2796 instance of type T (not function type)
2797 returning
2798 instance of type T (not function type)
2799
2800 to arguments
2801 Application of
2802 Variable Expression: id: forall
2803 T: type
2804 with assertions
2805 ?=?: pointer to function
2806 with parameters
2807 pointer to instance of type T (not function type)
2808 instance of type T (not function type)
2809 returning
2810 instance of type T (not function type)
2811
2812
2813 function
2814 with parameters
2815 instance of type T (not function type)
2816 returning
2817 instance of type T (not function type)
2818
2819 to arguments
2820 Variable Expression: 0: forall
2821 T: incomplete type
2822 pointer to instance of type T (not function type)
2823
2824 with inferred parameters:
2825 ?=?: forall
2826 DT: incomplete type
2827 function
2828 with parameters
2829 pointer to pointer to instance of type DT (not function type)
2830 pointer to instance of type DT (not function type)
2831 returning
2832 pointer to instance of type DT (not function type)
2833
2834
2835 with inferred parameters:
2836 ?=?: forall
2837 DT: incomplete type
2838 function
2839 with parameters
2840 pointer to pointer to instance of type DT (not function type)
2841 pointer to instance of type DT (not function type)
2842 returning
2843 pointer to instance of type DT (not function type)
2844
2845
2846with inferred parameters:
2847 ?=?: forall
2848 DT: incomplete type
2849 function
2850 with parameters
2851 pointer to pointer to instance of type DT (not function type)
2852 pointer to instance of type DT (not function type)
2853 returning
2854 pointer to instance of type DT (not function type)
2855
2856(types:
2857 instance of type _0_T (not function type)
2858)
2859Environment: ( _2_T ) -> forall
2860 _3_T: incomplete type
2861 pointer to instance of type _3_T (not function type) (no widening)
2862 ( _1_T ) -> forall
2863 _3_T: incomplete type
2864 pointer to instance of type _3_T (not function type) (no widening)
2865 ( _0_T ) -> forall
2866 _3_T: incomplete type
2867 pointer to instance of type _3_T (not function type)
2868 ( _3_T _5_DT _7_DT _9_DT ) (no widening)
2869
2870
2871there are 2 alternatives before elimination
2872there are 2 alternatives after elimination
2873findSubExprs
2874Cost ( 0, 4, 0 ): Application of
2875 Variable Expression: id: forall
2876 T: type
2877 with assertions
2878 ?=?: pointer to function
2879 with parameters
2880 pointer to instance of type T (not function type)
2881 instance of type T (not function type)
2882 returning
2883 instance of type T (not function type)
2884
2885
2886 function
2887 with parameters
2888 instance of type T (not function type)
2889 returning
2890 instance of type T (not function type)
2891
2892to arguments
2893 Application of
2894 Variable Expression: id: forall
2895 T: type
2896 with assertions
2897 ?=?: pointer to function
2898 with parameters
2899 pointer to instance of type T (not function type)
2900 instance of type T (not function type)
2901 returning
2902 instance of type T (not function type)
2903
2904
2905 function
2906 with parameters
2907 instance of type T (not function type)
2908 returning
2909 instance of type T (not function type)
2910
2911 to arguments
2912 Application of
2913 Variable Expression: id: forall
2914 T: type
2915 with assertions
2916 ?=?: pointer to function
2917 with parameters
2918 pointer to instance of type T (not function type)
2919 instance of type T (not function type)
2920 returning
2921 instance of type T (not function type)
2922
2923
2924 function
2925 with parameters
2926 instance of type T (not function type)
2927 returning
2928 instance of type T (not function type)
2929
2930 to arguments
2931 Variable Expression: 0: signed int
2932
2933 with inferred parameters:
2934 ?=?: function
2935 with parameters
2936 pointer to signed int
2937 signed int
2938 returning
2939 signed int
2940
2941
2942 with inferred parameters:
2943 ?=?: function
2944 with parameters
2945 pointer to signed int
2946 signed int
2947 returning
2948 signed int
2949
2950
2951with inferred parameters:
2952 ?=?: function
2953 with parameters
2954 pointer to signed int
2955 signed int
2956 returning
2957 signed int
2958
2959(types:
2960 signed int
2961)
2962Environment: ( _2_T ) -> signed int (no widening)
2963 ( _1_T ) -> signed int (no widening)
2964 ( _0_T ) -> signed int
2965
2966
2967Cost ( 0, 4, 0 ): Application of
2968 Variable Expression: id: forall
2969 T: type
2970 with assertions
2971 ?=?: pointer to function
2972 with parameters
2973 pointer to instance of type T (not function type)
2974 instance of type T (not function type)
2975 returning
2976 instance of type T (not function type)
2977
2978
2979 function
2980 with parameters
2981 instance of type T (not function type)
2982 returning
2983 instance of type T (not function type)
2984
2985to arguments
2986 Application of
2987 Variable Expression: id: forall
2988 T: type
2989 with assertions
2990 ?=?: pointer to function
2991 with parameters
2992 pointer to instance of type T (not function type)
2993 instance of type T (not function type)
2994 returning
2995 instance of type T (not function type)
2996
2997
2998 function
2999 with parameters
3000 instance of type T (not function type)
3001 returning
3002 instance of type T (not function type)
3003
3004 to arguments
3005 Application of
3006 Variable Expression: id: forall
3007 T: type
3008 with assertions
3009 ?=?: pointer to function
3010 with parameters
3011 pointer to instance of type T (not function type)
3012 instance of type T (not function type)
3013 returning
3014 instance of type T (not function type)
3015
3016
3017 function
3018 with parameters
3019 instance of type T (not function type)
3020 returning
3021 instance of type T (not function type)
3022
3023 to arguments
3024 Variable Expression: 0: forall
3025 T: incomplete type
3026 pointer to instance of type T (not function type)
3027
3028 with inferred parameters:
3029 ?=?: forall
3030 DT: incomplete type
3031 function
3032 with parameters
3033 pointer to pointer to instance of type DT (not function type)
3034 pointer to instance of type DT (not function type)
3035 returning
3036 pointer to instance of type DT (not function type)
3037
3038
3039 with inferred parameters:
3040 ?=?: forall
3041 DT: incomplete type
3042 function
3043 with parameters
3044 pointer to pointer to instance of type DT (not function type)
3045 pointer to instance of type DT (not function type)
3046 returning
3047 pointer to instance of type DT (not function type)
3048
3049
3050with inferred parameters:
3051 ?=?: forall
3052 DT: incomplete type
3053 function
3054 with parameters
3055 pointer to pointer to instance of type DT (not function type)
3056 pointer to instance of type DT (not function type)
3057 returning
3058 pointer to instance of type DT (not function type)
3059
3060(types:
3061 forall
3062 _3_T: incomplete type
3063 pointer to instance of type _3_T (not function type)
3064)
3065Environment: ( _2_T ) -> forall
3066 _3_T: incomplete type
3067 pointer to instance of type _3_T (not function type) (no widening)
3068 ( _1_T ) -> forall
3069 _3_T: incomplete type
3070 pointer to instance of type _3_T (not function type) (no widening)
3071 ( _0_T ) -> forall
3072 _3_T: incomplete type
3073 pointer to instance of type _3_T (not function type)
3074 ( _3_T _5_DT _7_DT _9_DT ) (no widening)
3075
3076
3077working on alternative:
3078 Cost ( 0, 0, 0 ): Variable Expression: h: function
3079 with parameters
3080 null: pointer to signed int
3081 returning
3082 nothing
3083
3084(types:
3085 pointer to function
3086 with parameters
3087 null: pointer to signed int
3088 returning
3089 nothing
3090
3091)
3092 Environment:
3093formal type is pointer to signed int
3094actual type is signed int
3095formal type is pointer to signed int
3096actual type is forall
3097 _3_T: incomplete type
3098 pointer to instance of type _3_T (not function type)
3099need assertions:
3100============= original indexer
3101===idTable===
3102===typeTable===
3103T
3104===structTable===
3105===enumTable===
3106===unionTable===
3107===contextTable===
3108============= new indexer
3109===idTable===
3110===typeTable===
3111T
3112===structTable===
3113===enumTable===
3114===unionTable===
3115===contextTable===
3116actual expression:
3117 Application of
3118 Variable Expression: id: forall
3119 T: type
3120 with assertions
3121 ?=?: pointer to function
3122 with parameters
3123 pointer to instance of type T (not function type)
3124 instance of type T (not function type)
3125 returning
3126 instance of type T (not function type)
3127
3128
3129 function
3130 with parameters
3131 instance of type T (not function type)
3132 returning
3133 instance of type T (not function type)
3134
3135 to arguments
3136 Application of
3137 Variable Expression: id: forall
3138 T: type
3139 with assertions
3140 ?=?: pointer to function
3141 with parameters
3142 pointer to instance of type T (not function type)
3143 instance of type T (not function type)
3144 returning
3145 instance of type T (not function type)
3146
3147
3148 function
3149 with parameters
3150 instance of type T (not function type)
3151 returning
3152 instance of type T (not function type)
3153
3154 to arguments
3155 Application of
3156 Variable Expression: id: forall
3157 T: type
3158 with assertions
3159 ?=?: pointer to function
3160 with parameters
3161 pointer to instance of type T (not function type)
3162 instance of type T (not function type)
3163 returning
3164 instance of type T (not function type)
3165
3166
3167 function
3168 with parameters
3169 instance of type T (not function type)
3170 returning
3171 instance of type T (not function type)
3172
3173 to arguments
3174 Variable Expression: 0: forall
3175 T: incomplete type
3176 pointer to instance of type T (not function type)
3177
3178 with inferred parameters:
3179 ?=?: forall
3180 DT: incomplete type
3181 function
3182 with parameters
3183 pointer to pointer to instance of type DT (not function type)
3184 pointer to instance of type DT (not function type)
3185 returning
3186 pointer to instance of type DT (not function type)
3187
3188
3189 with inferred parameters:
3190 ?=?: forall
3191 DT: incomplete type
3192 function
3193 with parameters
3194 pointer to pointer to instance of type DT (not function type)
3195 pointer to instance of type DT (not function type)
3196 returning
3197 pointer to instance of type DT (not function type)
3198
3199
3200 with inferred parameters:
3201 ?=?: forall
3202 DT: incomplete type
3203 function
3204 with parameters
3205 pointer to pointer to instance of type DT (not function type)
3206 pointer to instance of type DT (not function type)
3207 returning
3208 pointer to instance of type DT (not function type)
3209
3210--- results are
3211 forall
3212 _3_T: incomplete type
3213 pointer to instance of type _3_T (not function type)
3214
3215converting forall
3216 _3_T: incomplete type
3217 pointer to instance of type _3_T (not function type)
3218 to pointer to signed int
3219cost is( 0, 0, 0 )
3220Case +++++++++++++
3221formals are:
3222 null: pointer to signed int
3223actuals are:
3224 Application of
3225 Variable Expression: id: forall
3226 T: type
3227 with assertions
3228 ?=?: pointer to function
3229 with parameters
3230 pointer to instance of type T (not function type)
3231 instance of type T (not function type)
3232 returning
3233 instance of type T (not function type)
3234
3235
3236 function
3237 with parameters
3238 instance of type T (not function type)
3239 returning
3240 instance of type T (not function type)
3241
3242 to arguments
3243 Application of
3244 Variable Expression: id: forall
3245 T: type
3246 with assertions
3247 ?=?: pointer to function
3248 with parameters
3249 pointer to instance of type T (not function type)
3250 instance of type T (not function type)
3251 returning
3252 instance of type T (not function type)
3253
3254
3255 function
3256 with parameters
3257 instance of type T (not function type)
3258 returning
3259 instance of type T (not function type)
3260
3261 to arguments
3262 Application of
3263 Variable Expression: id: forall
3264 T: type
3265 with assertions
3266 ?=?: pointer to function
3267 with parameters
3268 pointer to instance of type T (not function type)
3269 instance of type T (not function type)
3270 returning
3271 instance of type T (not function type)
3272
3273
3274 function
3275 with parameters
3276 instance of type T (not function type)
3277 returning
3278 instance of type T (not function type)
3279
3280 to arguments
3281 Variable Expression: 0: forall
3282 T: incomplete type
3283 pointer to instance of type T (not function type)
3284
3285 with inferred parameters:
3286 ?=?: forall
3287 DT: incomplete type
3288 function
3289 with parameters
3290 pointer to pointer to instance of type DT (not function type)
3291 pointer to instance of type DT (not function type)
3292 returning
3293 pointer to instance of type DT (not function type)
3294
3295
3296 with inferred parameters:
3297 ?=?: forall
3298 DT: incomplete type
3299 function
3300 with parameters
3301 pointer to pointer to instance of type DT (not function type)
3302 pointer to instance of type DT (not function type)
3303 returning
3304 pointer to instance of type DT (not function type)
3305
3306
3307 with inferred parameters:
3308 ?=?: forall
3309 DT: incomplete type
3310 function
3311 with parameters
3312 pointer to pointer to instance of type DT (not function type)
3313 pointer to instance of type DT (not function type)
3314 returning
3315 pointer to instance of type DT (not function type)
3316
3317
3318bindings are:
3319 ( _2_T ) -> forall
3320 _3_T: incomplete type
3321 pointer to instance of type _3_T (not function type) (no widening)
3322 ( _1_T ) -> forall
3323 _3_T: incomplete type
3324 pointer to instance of type _3_T (not function type) (no widening)
3325 ( _0_T ) -> forall
3326 _3_T: incomplete type
3327 pointer to instance of type _3_T (not function type) (no widening)
3328 ( _3_T _5_DT _7_DT _9_DT ) -> signed int (no widening)
3329cost of conversion is:( 0, 1, 0 )
3330alternatives before prune:
3331Cost ( 0, 1, 0 ): Application of
3332 Variable Expression: h: function
3333 with parameters
3334 null: pointer to signed int
3335 returning
3336 nothing
3337
3338to arguments
3339 Application of
3340 Variable Expression: id: forall
3341 T: type
3342 with assertions
3343 ?=?: pointer to function
3344 with parameters
3345 pointer to instance of type T (not function type)
3346 instance of type T (not function type)
3347 returning
3348 instance of type T (not function type)
3349
3350
3351 function
3352 with parameters
3353 instance of type T (not function type)
3354 returning
3355 instance of type T (not function type)
3356
3357 to arguments
3358 Application of
3359 Variable Expression: id: forall
3360 T: type
3361 with assertions
3362 ?=?: pointer to function
3363 with parameters
3364 pointer to instance of type T (not function type)
3365 instance of type T (not function type)
3366 returning
3367 instance of type T (not function type)
3368
3369
3370 function
3371 with parameters
3372 instance of type T (not function type)
3373 returning
3374 instance of type T (not function type)
3375
3376 to arguments
3377 Application of
3378 Variable Expression: id: forall
3379 T: type
3380 with assertions
3381 ?=?: pointer to function
3382 with parameters
3383 pointer to instance of type T (not function type)
3384 instance of type T (not function type)
3385 returning
3386 instance of type T (not function type)
3387
3388
3389 function
3390 with parameters
3391 instance of type T (not function type)
3392 returning
3393 instance of type T (not function type)
3394
3395 to arguments
3396 Variable Expression: 0: forall
3397 T: incomplete type
3398 pointer to instance of type T (not function type)
3399
3400 with inferred parameters:
3401 ?=?: forall
3402 DT: incomplete type
3403 function
3404 with parameters
3405 pointer to pointer to instance of type DT (not function type)
3406 pointer to instance of type DT (not function type)
3407 returning
3408 pointer to instance of type DT (not function type)
3409
3410
3411 with inferred parameters:
3412 ?=?: forall
3413 DT: incomplete type
3414 function
3415 with parameters
3416 pointer to pointer to instance of type DT (not function type)
3417 pointer to instance of type DT (not function type)
3418 returning
3419 pointer to instance of type DT (not function type)
3420
3421
3422 with inferred parameters:
3423 ?=?: forall
3424 DT: incomplete type
3425 function
3426 with parameters
3427 pointer to pointer to instance of type DT (not function type)
3428 pointer to instance of type DT (not function type)
3429 returning
3430 pointer to instance of type DT (not function type)
3431
3432
3433(types:
3434)
3435Environment: ( _2_T ) -> forall
3436 _3_T: incomplete type
3437 pointer to instance of type _3_T (not function type) (no widening)
3438 ( _1_T ) -> forall
3439 _3_T: incomplete type
3440 pointer to instance of type _3_T (not function type) (no widening)
3441 ( _0_T ) -> forall
3442 _3_T: incomplete type
3443 pointer to instance of type _3_T (not function type) (no widening)
3444 ( _3_T _5_DT _7_DT _9_DT ) -> signed int (no widening)
3445
3446
3447there are 1 alternatives before elimination
3448there are 1 alternatives after elimination
3449alternatives before prune:
3450Cost ( 0, 0, 0 ): Cast of:
3451 Application of
3452 Variable Expression: h: function
3453 with parameters
3454 null: pointer to signed int
3455 returning
3456 nothing
3457
3458 to arguments
3459 Application of
3460 Variable Expression: id: forall
3461 T: type
3462 with assertions
3463 ?=?: pointer to function
3464 with parameters
3465 pointer to instance of type T (not function type)
3466 instance of type T (not function type)
3467 returning
3468 instance of type T (not function type)
3469
3470
3471 function
3472 with parameters
3473 instance of type T (not function type)
3474 returning
3475 instance of type T (not function type)
3476
3477 to arguments
3478 Application of
3479 Variable Expression: id: forall
3480 T: type
3481 with assertions
3482 ?=?: pointer to function
3483 with parameters
3484 pointer to instance of type T (not function type)
3485 instance of type T (not function type)
3486 returning
3487 instance of type T (not function type)
3488
3489
3490 function
3491 with parameters
3492 instance of type T (not function type)
3493 returning
3494 instance of type T (not function type)
3495
3496 to arguments
3497 Application of
3498 Variable Expression: id: forall
3499 T: type
3500 with assertions
3501 ?=?: pointer to function
3502 with parameters
3503 pointer to instance of type T (not function type)
3504 instance of type T (not function type)
3505 returning
3506 instance of type T (not function type)
3507
3508
3509 function
3510 with parameters
3511 instance of type T (not function type)
3512 returning
3513 instance of type T (not function type)
3514
3515 to arguments
3516 Variable Expression: 0: forall
3517 T: incomplete type
3518 pointer to instance of type T (not function type)
3519
3520 with inferred parameters:
3521 ?=?: forall
3522 DT: incomplete type
3523 function
3524 with parameters
3525 pointer to pointer to instance of type DT (not function type)
3526 pointer to instance of type DT (not function type)
3527 returning
3528 pointer to instance of type DT (not function type)
3529
3530
3531 with inferred parameters:
3532 ?=?: forall
3533 DT: incomplete type
3534 function
3535 with parameters
3536 pointer to pointer to instance of type DT (not function type)
3537 pointer to instance of type DT (not function type)
3538 returning
3539 pointer to instance of type DT (not function type)
3540
3541
3542 with inferred parameters:
3543 ?=?: forall
3544 DT: incomplete type
3545 function
3546 with parameters
3547 pointer to pointer to instance of type DT (not function type)
3548 pointer to instance of type DT (not function type)
3549 returning
3550 pointer to instance of type DT (not function type)
3551
3552
3553
3554to:
3555 nothing
3556(types:
3557)
3558Environment: ( _2_T ) -> forall
3559 _3_T: incomplete type
3560 pointer to instance of type _3_T (not function type) (no widening)
3561 ( _1_T ) -> forall
3562 _3_T: incomplete type
3563 pointer to instance of type _3_T (not function type) (no widening)
3564 ( _0_T ) -> forall
3565 _3_T: incomplete type
3566 pointer to instance of type _3_T (not function type) (no widening)
3567 ( _3_T _5_DT _7_DT _9_DT ) -> signed int (no widening)
3568
3569
3570there are 1 alternatives before elimination
3571there are 1 alternatives after elimination
3572int ___operator_assign__Fi_Pii_(int *, int );
3573void *___operator_assign__A0_1_0__FPd0_PPd0Pd0_(void **, void *);
3574void __a__F__(){
3575 void __f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *);
3576 void __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(void (*__p__PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0_)(void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void *));
3577 __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(__f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_);
3578}
3579void __g__F__(){
3580 void __h__F_Pi_(int *__null__Pi);
3581 void __id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *, void *);
3582 void *___constant_zero__A0_1_0__Pd0;
3583 int ___constant_zero__i;
3584 void *_thunk0(void **_p0, void *_p1){
3585 return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
3586 }
3587 void *_thunk1(void **_p0, void *_p1){
3588 return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
3589 }
3590 void *_thunk2(void **_p0, void *_p1){
3591 return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
3592 }
3593 void *_temp0;
3594 void _adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
3595 ((*((_3_T **)_ret))=((void *(*)(void **, void *))_adaptee)(_p0, (*((_3_T **)_p1))));
3596 }
3597 void *_temp1;
3598 void *_temp2;
3599 __h__F_Pi_((__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk2)), (&_temp2), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk1)), (&_temp1), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk0)), (&_temp0), (&___constant_zero__A0_1_0__Pd0)) , _temp0))) , _temp1))) , _temp2));
3600}
Note: See TracBrowser for help on using the repository browser.