1.2.44. test/regress/rt-1.01.44

Start felix section to test/regress/rt-1.01.44-0.flx[1 /1 ]
     1: #line 1735 "./lpsrc/flx_regress.pak"
     2: //Check type constraints
     3: #import <flx.flxh>
     4: open C_hack;
     5: header '#include <iostream>';
     6: proc pr[t]:t="std::cout<<$1<<std::endl;";
     7: fun f: !fast_ints * !fast_ints -> int = "$1+$2";
     8: 
     9: print$ f$ 1,2L; endl;
    10: 
    11: var x = 1;
    12: var px:ptr[int] = addr x;
    13: 
    14: module X {
    15:   proc h[t,u=ptr[t]]: u  * t = '*$1=$2; std::cout <<*$1<<","<<$2<<std::endl;';
    16:   h(px,1);
    17: 
    18:   fun adr[t,u=ptr[t]]: lvalue[t]->u = "&$1";
    19:   fun drf[t,u=ptr[t]]:  u -> t = "*$1";
    20: //h(px,1.1);
    21: }
    22: 
    23: open X[int]; // only specifies 1 variable
    24: h(px,1);
    25: //h(px,1.1);
    26: pr$ drf px;
    27: pr$ drf$ adr x;
    28: pr$ X::drf px;
    29: pr$ X::drf$ X::adr x;
    30: 
    31: proc h2[t,u=ptr[t]]: u  * t = "*$1=$2;";
    32: h2(px,1);
    33: 
    34: proc k[t,u=ptr[t]]: u = "std::cout << *$1 <<std::endl;";
    35: k px;
    36: 
    37: fun ff[t,k where t==k ]: t * k -> t = "$1+$2";
    38: 
    39: 
    40: pr$ ff$ 1,2;
    41: //pr$ ff$ 1,2.0;
    42: 
End felix section to test/regress/rt-1.01.44-0.flx[1]
Start data section to test/regress/rt-1.01.44-0.expect[1 /1 ]
     1: 3
     2: 1,1
     3: 1,1
     4: 1
     5: 1
     6: 1
     7: 1
     8: 1
     9: 3
End data section to test/regress/rt-1.01.44-0.expect[1]