--- a/source/server/lsp-servers.adb 2025-05-28 14:26:39.929607310 +0200 +++ b/source/server/lsp-servers.adb 2025-05-28 20:40:01.934644123 +0200 @@ -840,13 +840,14 @@ else declare Waste : Server_Message_Access; + use type Server_Message_Access; begin -- Call Process_Job at least once to complete a fenced -- job if any. Server.Scheduler.Process_Job (Server.all, Waste); - if Waste.Assigned then + if Waste /= null then Server.Destroy_Queue.Enqueue (Waste); end if; @@ -893,6 +894,7 @@ end Process_Message; Request : Server_Message_Access; + use type Server_Message_Access; begin -- Perform initialization accept Start @@ -919,7 +921,7 @@ Continue := False; end select; - if Request.Assigned then + if Request /= null then Process_Message (Request); end if; end loop; @@ -930,7 +932,7 @@ Execute_Jobs (Server.Look_Ahead); - if not Server.Look_Ahead.Assigned then + if Server.Look_Ahead = null then -- there is no jobs any more, just wait for input messages select --- a/source/server/lsp-job_schedulers.adb 2025-05-28 20:27:48.015040064 +0200 +++ b/source/server/lsp-job_schedulers.adb 2025-05-28 20:38:31.969675280 +0200 @@ -38,8 +38,9 @@ (Self : in out Job_Scheduler'Class; Next : LSP.Server_Messages.Server_Message_Access; Waste : out LSP.Server_Messages.Server_Message_Access) is + use type LSP.Server_Jobs.Server_Job_Access; begin - if Self.Done.Assigned then + if Self.Done /= null then Self.Done.Complete (Next); Waste := Self.Done.Message; Free (Self.Done); @@ -92,8 +93,9 @@ -------------- function Has_Jobs (Self : Job_Scheduler'Class) return Boolean is + use type LSP.Server_Jobs.Server_Job_Access; begin - return Self.Blocker.Assigned or else + return Self.Blocker /= null or else (for some List of Self.Jobs => not List.Is_Empty); end Has_Jobs; @@ -169,10 +171,11 @@ From : LSP.Server_Jobs.Job_Priority := LSP.Server_Jobs.Lowest) is Status : LSP.Server_Jobs.Execution_Status; + use type LSP.Server_Messages.Server_Message_Access; begin Self.Complete_Last_Fence_Job (null, Waste); - if not Waste.Assigned then + if Waste = null then for List of reverse Self.Jobs (From .. LSP.Server_Jobs.High) when not List.Is_Empty loop