Received: from nldi16.nag.co.uk by nags2.nag.co.uk (4.1/UK-2.1)
	id AA20098; Sun, 17 Sep 95 19:57:59 BST
From: Peter Broadbery <peterb@uk.co.nag>
Date: Sun, 17 Sep 95 19:54:34 +0100
Message-Id: <3244.9509171854@nldi16.nag.co.uk>
Received: by nldi16.nag.co.uk (920330.SGI/NAg-1.0)
	id AA03244; Sun, 17 Sep 95 19:54:34 +0100
Subject: fixbug
By: PAB
Fixed: bug919.as
Apparently-To: ax-bugs@nag.co.uk

--* From postmaster%watson.vnet.ibm.com@yktvmv.watson.ibm.com  Wed Nov 23 09:00:08 1994
--* Received: from yktvmv-ob.watson.ibm.com by asharp.watson.ibm.com (AIX 3.2/UCB 5.64/930311)
--*           id AA18241; Wed, 23 Nov 1994 09:00:08 -0500
--* Received: from watson.vnet.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 2551; Wed, 23 Nov 94 09:00:14 EST
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.BRONSTEI.NOTE.YKTVMV.9457.Nov.23.09:00:13.-0500>
--*           for asbugs@watson; Wed, 23 Nov 94 09:00:13 -0500
--* Received: from inf.ethz.ch by watson.ibm.com (IBM VM SMTP V2R3) with TCP;
--*    Wed, 23 Nov 94 09:00:12 EST
--* Received: from vinci.inf.ethz.ch (bronstei@vinci.inf.ethz.ch [129.132.12.46]) by inf.ethz.ch (8.6.9/8.6.9) with ESMTP id PAA20470 for <asbugs@watson.ibm.com>; Wed, 23 Nov 1994 15:00:03 +0100
--* From: Manuel Bronstein <bronstei@inf.ethz.ch>
--* Received: (bronstei@localhost) by vinci.inf.ethz.ch (8.6.8/8.6.6) id PAA07969 for asbugs@watson.ibm.com; Wed, 23 Nov 1994 15:00:01 +0100
--* Date: Wed, 23 Nov 1994 15:00:01 +0100
--* Message-Id: <199411231400.PAA07969@vinci.inf.ethz.ch>
--* To: asbugs@watson.ibm.com
--* Subject: [6] cannot have only one optional param to type

--@ Bug Number:  bug919.as 
--@ Fixed  by:  PAB   
--@ Tested by:  defarg9.as 
--@ Summary:    Allowed single-argument defaults, and corrected type constructors. 

-- Command line: asharp -M2 defparam2.as
-- Version: 0.37.0
-- Original bug file name: defparam2.as

----------------------------- defparam2.as ----------------------------
--
-- % asharp -M2 defparam2.as
-- "defparam2.as", line 26: q:MyType() == foo 5;
--                          ..^...........^
-- [L19 C3] #1 (Error) There are no suitable meanings for the operator `MyType'.
--   MyType: (SingleInteger == 1) -> (
--                 BasicType with foo: ..., a local
--       rejected because it cannot take 0 arguments.

#include "aslib.as"

macro Z == SingleInteger;

MyType(v:Z == 1):BasicType with { foo: Z -> % } == Z add {
	macro Rep == Z;
	import from Rep;

	foo(x:Z):% == per x;
}

import from Z;

-- this fails to compile
-- the problem does not occur if a non-optional argument is added to MyType.
q:MyType() == foo 5;



