From 4e78e94db7968a3b74c8b4f717cb384896403780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rados=C5=82aw=20Wa=C5=9Bko?= Date: Fri, 26 Apr 2024 14:42:36 +0200 Subject: [PATCH] data links just not allow it --- .../Base/0.0.0-dev/src/Enso_Cloud/Data_Link.enso | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/distribution/lib/Standard/Base/0.0.0-dev/src/Enso_Cloud/Data_Link.enso b/distribution/lib/Standard/Base/0.0.0-dev/src/Enso_Cloud/Data_Link.enso index 0ee01826e191..82728eb91e26 100644 --- a/distribution/lib/Standard/Base/0.0.0-dev/src/Enso_Cloud/Data_Link.enso +++ b/distribution/lib/Standard/Base/0.0.0-dev/src/Enso_Cloud/Data_Link.enso @@ -11,6 +11,7 @@ import project.Errors.Problem_Behavior.Problem_Behavior import project.Nothing.Nothing import project.Panic.Panic import project.System.File.Data_Link_Access.Data_Link_Access +import project.System.File.File import project.System.File.File_Access.File_Access import project.System.File.Generic.File_Like.File_Like import project.System.File.Generic.Writable_File.Writable_File @@ -92,8 +93,13 @@ type Data_Link existing file. By default, the operation will fail if the file already exists. move (source : File_Like) (target : File_Like) (replace_existing : Boolean = False) -> Any ! File_Error = - Data_Link.copy source target replace_existing . if_not_error <| - source.underlying.delete . if_not_error target.underlying + is_same_file = case source.underlying of + f : File -> + target.underlying.is_a File && f.absolute.normalize.path == target.underlying.absolute.normalize.path + _ -> source.underlying == target.underlying + if is_same_file then Error.throw (Illegal_Argument.Error "Source and target files are the same.") else + Data_Link.copy source target replace_existing . if_not_error <| + source.underlying.delete . if_not_error target.underlying ## PRIVATE Reads the raw configuration data of a data-link, as plain text.