// Another test, further illustrating the difference between static
// and dynamic objects
class statdyn {
    public var x;
    public proc create(a)
    {
        "Creating statdyn with: ", a, '\n';
        x = a;
    }
}

proc test()
{
    "\nInside test()\n";
    var a = statdyn(10);        // Static: only one create(10) call
    var b = new statdyn(20);    // Dynamic: two create(20) calls

    // Further illustrate the static nature of a
    "Before incr: ", a.x, ' ', b.x, '\n';
    a.x++; b.x++;
    "After incr:  ", a.x, ' ', b.x, '\n';
}

proc main()
{
    test();
    test();
}