"björn lundin" wrote in message news:4e3a0e68-1514-4255-9c76-ef8758991ded@googlegroups.com... ... >> Ah! Another case of "I don't want to use the use clause, give me >> something else that avoids writing these damn long names". > >No. using the 'use' is certainly something one can have different opinions >on. >But I like to avoid these kind of errors > > SET_ERROR_MODE(NO_ERROR, CRANE_TYPES.ASSIGNMENT_TIMEOUT, > FALSE); > | > >>> error: "NO_ERROR" is not visible > >>> error: multiple use clauses cause hiding > >>> error: hidden declaration at crane_types.ads:113 > >>> error: hidden declaration at siemens_interface.ads:374 > >>> error: hidden declaration at core_types.ads:71 This is precisely why I consider package use a significant maintenance hazard. That hazard could have been reduced by allowing more things (especially objects) to be overloadable, but it cannot be eliminated (with introducing Beaujolias or other nasty effects). >One of the best thing with Ada05 was the approval of object.verb notation. Ada 2012 adds "use all type" with essentially the same semantics as object.verb notation. If you have untagged types, especially enumerations, I strongly suggest using that. (Since it only makes overloadable entities visible, it doesn't have the maintenance hazard unless the profiles match -- in which case you have a design problem.) Randy.