"Yannick Duch�ne (Hibou57)" wrote in message news:op.wdcj0snyule2fv@douda-yannick... ... >> If method resolution clause exists: >> >> type T is new I1 and I2; >> overriding(I1.X) procedure X1 (Obj : T); >> overriding(I2.X) procedure X2 (Obj : T); > >The above may still present issues with overloading. Imagine X exist with >multiple signatures, for both I1 and I2: as your proposal does not refer >the precise signature, this would still be ambiguous. Right; simple names are never enough. You always need the full profile, else you still have holes. Those holes were bad enough for pragmas that we dumped the entire mess and invented aspect specifications for Ada 2012. We actually considered something like this for Ada 2005, but decided it just goes too far. In part, that's because having such a problem suggests bad design somewhere: it should never be the case that you have two routines with the same name and profile that have different meanings. That's abusing overloading; the problem can't be detected by a compiler - I think if it could have been, it would have been illegal from the start. (The Ada 83 rationale explains the inclusion of overloading by saying that the fact that a feature can be abused is not by itself a reason to exclude it from the language.) Ada provides tools (renaming, mostly) to deal with such broken situations, so one could argue that we could add more tools. But I personally see no reason to spend more effort on a bad idea (interfaces); they exist mainly to make some misguided people happy. Randy.