/* Test the 'new' operator */

class foo {
    var val;
    public var x;
    public proc create( init ) { val = init; say( "foo.create(",val,")\n" ); }
    operator {} () { say( "foo.complete();x=",x,"\n" ); }
}

foo bar(3) {
    x = foo(4) {
        x = 5
    }
}

proc main()
{
    var
        a;

    a = new foo( 5 ) { x = 6 };
}