--* From postmaster%watson.vnet.ibm.com@yktvmv.watson.ibm.com  Tue Aug 24 23:14:30 1993
--* Received: from yktvmv2.watson.ibm.com by radical.watson.ibm.com (AIX 3.2/UCB 5.64/900524)
--*           id AA15795; Tue, 24 Aug 1993 23:14:30 -0400
--* X-External-Networks: yes
--* Received: from watson.vnet.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 9825; Tue, 24 Aug 93 23:18:22 EDT
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.EDWARDS.NOTE.YKTVMV.8361.Aug.24.23:18:21.-0400>
--*           for asbugs@watson; Tue, 24 Aug 93 23:18:21 -0400
--* Received: from ibm4.scri.fsu.edu by watson.ibm.com (IBM VM SMTP V2R3) with TCP;
--*    Tue, 24 Aug 93 23:18:20 EDT
--* Received: by ibm4.scri.fsu.edu id AA17203
--*   (5.65c/IDA-1.4.4 for asbugs@watson.ibm.com); Tue, 24 Aug 1993 23:18:19 -0400
--* Date: Tue, 24 Aug 1993 23:18:19 -0400
--* From: Robert Edwards <edwards@ibm4.scri.fsu.edu>
--* Message-Id: <199308250318.AA17203@ibm4.scri.fsu.edu>
--* To: asbugs@watson.ibm.com
--* Subject: Default not defaulting [bug16.as][A# version 30.0 for AIX RS/6000 (debug version)]

--@ Fixed  by: JMS Thu Oct 07 12:10:16 1993
--@ Tested by: default5.as
--@ Summary:   Compiles in version v31.0

--+ % asharp -rv bug16.as
--+ A# version 30.0 for AIX RS/6000 (debug version)
--+ "bug16.as", line 18: Boo: Foo == add
--+                      ............^
--+ [L18 C13] (Error) Have determined 0 possible types for the expression.
--+   The context requires an expression of type Foo.
--+
--+ 	      ld in sc sy li pa ma ab ck sb ti gf of pb pl pc po mi
--+  Time   4.2s   0 .9 .4 .7 .7 .9 .4 .2 .2  1 93  0  0  0  0  0  0 .2 %
--+  Alloc 1650K   0 .4 .5 .0 .9 .6 .7 .2 .0  2 94  0  0  0  0  0  0 .0 %
--+  Free   340K   0 .3 .0 .0  5 .3  2 .4 .0  2 85  0  0  0  0  0  0  2 %
--+  Store 1345K : 1686K alloc - 341K free - 0K gc  (1516K pool)
--+  Source 122L : 1730 lines per minute
#include "aslib"

Foo: Category == BasicType with
    default
      ((x: %)  = (y: %)): Bit == true
      ((x: %) ~= (y: %)): Bit == false
      apply (p: Outport, x: %): Outport ==
        import String
        print("Bar")

Bar: Foo == add
    ((x: %)  = (y: %)): Bit == true
    ((x: %) ~= (y: %)): Bit == false
    apply(p: Outport, a: %): Outport ==
      import String
      print("Bar")

Boo: Foo == add
 
