--* From postmaster%watson.vnet.ibm.com@yktvmv.watson.ibm.com  Thu Jul 15 00:48:52 1993
--* Received: from yktvmv2.watson.ibm.com by radical.watson.ibm.com (AIX 3.2/UCB 5.64/900524)
--*           id AA12527; Thu, 15 Jul 1993 00:48:52 -0400
--* X-External-Networks: yes
--* Received: from watson.vnet.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 9337; Thu, 15 Jul 93 00:49:51 EDT
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.EDWARDS.NOTE.YKTVMV.6883.Jul.15.00:49:50.-0400>
--*           for asbugs@watson; Thu, 15 Jul 93 00:49:51 -0400
--* Received: from ibm4.scri.fsu.edu by watson.ibm.com (IBM VM SMTP V2R3) with TCP;
--*    Thu, 15 Jul 93 00:49:47 EDT
--* Received: by ibm4.scri.fsu.edu id AA21086
--*   (5.65c/IDA-1.4.4 for asbugs@watson.ibm.com); Thu, 15 Jul 1993 00:49:46 -0400
--* Date: Thu, 15 Jul 1993 00:49:46 -0400
--* From: Robert Edwards <edwards@ibm4.scri.fsu.edu>
--* Message-Id: <199307150449.AA21086@ibm4.scri.fsu.edu>
--* To: asbugs@watson.ibm.com
--* Subject: Substitution bug again? [bug6.as][A# version 29.2 for AIX RS/6000]

--@ Fixed  by: SSD Wed Jul 28 17:50:19 1993
--@ Tested by: none
--@ Summary:   Mutual type inference of type forms upgraded in v29.3

--+ % asharp -rv bug6.as
--+ A# version 29.2 for AIX RS/6000
--+ "bug6.as", line 14: m:D(Integer) := foo(1)
--+                     ................^
--+ [L14 C17] (Error) Operator has 0 possible types.
--+   Subexpression `foo':
--+         Meaning 1: R -> D(Integer)
--+   Subexpression `1':
--+         Meaning 1: Integer
--+
--+               ld in sc sy li pa ma ab ck sb ti gf of pb pl pc po mi
--+  Time   0.9s   0  3  0  3  0  3  0  0  1  0 87  0  0  0  0  0  0  1 %
--+  Source 118L : 7866 lines per minute
#include "aslib.as"

A(R:BasicType): Category == BasicType with
    foo: R -> %

D(R:BasicType): A(R) ==
  add
    import Integer
    import R
    foo(m:R):% == 1 pretend %

import Integer

m:D(Integer) := foo(1)
 
