Attached are five files, one package spec(broken.ads), one package body(broken.adb), one generic package spec(generic_lists_pkg.ads), one generic package body(generic_lists_pkg.ads), and a subprogram body(test_us.adb). I have been experimenting with Ada '95's dispatching across class-wide types and I have run into this problem: I have a tagged type that includes in its record a variable of type Unbounded_String. Now, in a child type from that type I have a list of this type access grandparent_type'Class(and parent of the type that includes the Unbounded_String) In order to add to the list I use new and then append it to the current list. Everything works fine in appending and getting data from the list until I do this: I create a variable. Assign data to it. Add it to a list. Then assign data to that same variable. Now when I check the list, the spot where I added the variable(which should now be independent of the variable, because I newwed the data space for it) has been changed. Okey, there is the problem. We are stilling running GNAT 3.01 on Solaris 2.4. I would kinda not like to hear, "Well, upgrade and try again." because I am not in charge of those things here(I'm just a lowly Software Engineer). I would rather like to hear, "Well, we changed that in that later versions so it should work" or "I tried your code in 3.05 and it worked perfectly!". Thank you for your time. -tom :) p.s. - Sorry about the headers. -- +------------------------------------------------------------------+ | Thomas G. Di Sessa || | | WPL Laboratories, Inc. || Email: tdisessa@wpllabs.com | | Whitehall Offices, Suite 6 || Voice: 610.658.2362 ext. 227 | | 410 Lancaster Avenue || Fax: 610.658.2361 | | Haverford, PA 19041 || | +------------------------------------------------------------------+