A.16 (131/5) NOTE 5 is treated in AI22-0055-1, however in my opinion, the real advice is in

131.a/2 and b
*Discussion:* While Rename is only guaranteed to work for name changes within a single directory, it{'}s unlikely that implementers would purposely prevent functionality present in the underlying system from working. To move a file totally portably, it's necessary to handle failure of the Rename and fall back to Copy_File and Delete:

*begin*
   Rename (Source, Target);
*exception*
*when* Use_Error =>
      Copy_File (Source, Target);
      Delete (Source);
*end*;

I propose to upgrade this to the RM itself, at least without the part about the implementers.

Reply via email to