Subject: bug#63433: Eglot "eglot--apply-workspace-edit > documentChanges > create" fails

From: Misha Zharov <[email-masked]>
Date: Wed, 10 May 2023 21:49:08 -0700

When I declare a module that does not exist in Rust,
`M-x eglot-code-actions` suggests that I create the file. However, when I
select this option I get the following traceback and the change is not
applied:

```
Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  file-truename(nil)
  find-buffer-visiting(nil)
  cl-every(find-buffer-visiting (nil))
  cl-notevery(find-buffer-visiting (nil))
  eglot--apply-workspace-edit((:documentChanges [(:kind "create" :uri
"file:///home/misha/sweet/repos/tmp/thing.rs")]))
  eglot--read-execute-code-action(((:title "Create module at
`thing.rs`" :kind "quickfix" :edit (:documentChanges [(:kind "create"
:uri "file:///home/misha/sweet/repos/tmp/thing.rs")])) (:title "Create
module at `thing/mod.rs`" :kind "quickfix" :edit (:documentChanges
[(:kind "create" :uri
"file:///home/misha/sweet/repos/tmp/thing/mod.rs")])))
#<eglot-lsp-server eglot-lsp-server-156498df5f36> nil)
  eglot-code-actions(5 10 nil t)
  funcall-interactively(eglot-code-actions 5 10 nil t)
  command-execute(eglot-code-actions record)
  execute-extended-command(nil "eglot-code-actions" "eglot-code-actions")
  funcall-interactively(execute-extended-command nil
"eglot-code-actions" "eglot-code-actions")
  command-execute(execute-extended-command)
```

Reproduction (from `emacs -Q`):
Create a `Cargo.toml`:
```
[package]
name = "tmp"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at
https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]

[[bin]]
name = "tmp"
path = "main.rs"
```

Create a `main.rs`:
```
mod thing;

fn main() {
   println!("Hello world");
}
```

Enable `rust-ts-mode` (the treesit grammar has to be installed I
assume). Flymake and ElDoc appear to be enabled as well. Enable eglot:
`M-x eglot`.

Eglot should prompt us to choose a language server. This reproduces with
rust-analyzer which is shipped with Rust 1.69 (can be obtained at
`https://www.rust-lang.org/tools/install`). RLS should not be used.

Now there should be a code action to fix the issue with the missing
module (by creating the file `thing.rs`). However, we see that the code
action is not applied successfully.

`M-x eglot-events-buffer`:
```
[internal] Wed May 10 21:26:58 2023:
(:message "Running language server: /home/misha/.cargo/bin/rust-analyzer")
[client-request] (id:1) Wed May 10 21:26:58 2023:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
      (:processId 14861 :rootPath "/home/misha/sweet/repos/tmp/"
:rootUri "file:///home/misha/sweet/repos/tmp" :initializationOptions
#s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125
data
                                                                            ())
              :capabilities
              (:workspace
               (:applyEdit t :executeCommand
                   (:dynamicRegistration :json-false)
                   :workspaceEdit
                   (:documentChanges t)
                   :didChangeWatchedFiles
                   (:dynamicRegistration t)
                   :symbol
                   (:dynamicRegistration :json-false)
                   :configuration t :workspaceFolders t)
               :textDocument
               (:synchronization
            (:dynamicRegistration :json-false :willSave t
:willSaveWaitUntil t :didSave t)
            :completion
            (:dynamicRegistration :json-false :completionItem
                          (:snippetSupport :json-false
:deprecatedSupport t :resolveSupport
                                   (:properties
                                ["documentation" "details"
"additionalTextEdits"])
                                   :tagSupport
                                   (:valueSet
                                [1]))
                          :contextSupport t)
            :hover
            (:dynamicRegistration :json-false :contentFormat
                          ["plaintext"])
            :signatureHelp
            (:dynamicRegistration :json-false :signatureInformation
                          (:parameterInformation
                           (:labelOffsetSupport t)
                           :activeParameterSupport t))
            :references
            (:dynamicRegistration :json-false)
            :definition
            (:dynamicRegistration :json-false :linkSupport t)
            :declaration
            (:dynamicRegistration :json-false :linkSupport t)
            :implementation
            (:dynamicRegistration :json-false :linkSupport t)
            :typeDefinition
            (:dynamicRegistration :json-false :linkSupport t)
            :documentSymbol
            (:dynamicRegistration :json-false
:hierarchicalDocumentSymbolSupport t :symbolKind
                          (:valueSet
                           [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26]))
            :documentHighlight
            (:dynamicRegistration :json-false)
            :codeAction
            (:dynamicRegistration :json-false :codeActionLiteralSupport
                          (:codeActionKind
                           (:valueSet
                        ["quickfix" "refactor" "refactor.extract"
"refactor.inline" "refactor.rewrite" "source"
"source.organizeImports"]))
                          :isPreferredSupport t)
            :formatting
            (:dynamicRegistration :json-false)
            :rangeFormatting
            (:dynamicRegistration :json-false)
            :rename
            (:dynamicRegistration :json-false)
            :inlayHint
            (:dynamicRegistration :json-false)
            :publishDiagnostics
            (:relatedInformation :json-false :codeDescriptionSupport
:json-false :tagSupport
                         (:valueSet
                          [1 2])))
               :window
               (:workDoneProgress t)
               :general
               (:positionEncodings
            ["utf-32" "utf-8" "utf-16"])
               :experimental #s(hash-table size 1 test eql rehash-size
1.5 rehash-threshold 0.8125 data
                           ()))
              :workspaceFolders
              [(:uri "file:///home/misha/sweet/repos/tmp" :name
"~/sweet/repos/tmp/")]))
[server-reply] (id:1) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 1 :result
      (:capabilities
       (:positionEncoding "utf-32" :textDocumentSync
                  (:openClose t :change 2 :save nil)
                  :selectionRangeProvider t :hoverProvider t :completionProvider
                  (:resolveProvider t :triggerCharacters
                        [":" "." "'" "("]
                        :completionItem
                        (:labelDetailsSupport :json-false))
                  :signatureHelpProvider
                  (:triggerCharacters
                   ["(" "," "<"])
                  :definitionProvider t :typeDefinitionProvider t
:implementationProvider t :referencesProvider t
:documentHighlightProvider t :documentSymbolProvider t
:workspaceSymbolProvider t :codeActionProvider
                  (:codeActionKinds
                   ["" "quickfix" "refactor" "refactor.extract"
"refactor.inline" "refactor.rewrite"]
                   :resolveProvider t)
                  :codeLensProvider
                  (:resolveProvider t)
                  :documentFormattingProvider t
:documentRangeFormattingProvider :json-false
:documentOnTypeFormattingProvider
                  (:firstTriggerCharacter "=" :moreTriggerCharacter
                              ["." ">" "{"])
                  :renameProvider
                  (:prepareProvider t)
                  :foldingRangeProvider t :declarationProvider t :workspace
                  (:workspaceFolders
                   (:supported t :changeNotifications t)
                   :fileOperations
                   (:willRename
                (:filters
                 [(:scheme "file" :pattern
                       (:glob "**/*.rs" :matches "file"))
                  (:scheme "file" :pattern
                       (:glob "**" :matches "folder"))])))
                  :callHierarchyProvider t :semanticTokensProvider
                  (:legend
                   (:tokenTypes
                ["comment" "decorator" "enumMember" "enum" "function"
"interface" "keyword" "macro" "method" "namespace" "number" "operator"
"parameter" "property" "string" "struct" "typeParameter" "variable"
"angle" "arithmetic" "attribute" "attributeBracket" "bitwise"
"boolean" "brace" "bracket" "builtinAttribute" "builtinType"
"character" "colon" "comma" "comparison" "constParameter" "derive"
"deriveHelper" "dot" "escapeSequence" "formatSpecifier" "generic"
"label" "lifetime" "logical" "macroBang" "parenthesis" "punctuation"
"selfKeyword" "selfTypeKeyword" "semicolon" "typeAlias" "toolModule"
"union" "unresolvedReference"]
                :tokenModifiers
                ["documentation" "declaration" "static"
"defaultLibrary" "async" "attribute" "callable" "constant" "consuming"
"controlFlow" "crateRoot" "injected" "intraDocLink" "library"
"mutable" "public" "reference" "trait" "unsafe"])
                   :range t :full
                   (:delta t))
                  :inlayHintProvider
                  (:resolveProvider t)
                  :experimental
                  (:externalDocs t :hoverRange t :joinLines t
:matchingBrace t :moveItem t :onEnter t :openCargoToml t :parentModule
t :runnables
                         (:kinds
                          ["cargo"])
                         :ssr t :workspaceSymbolScopeKindFiltering t))
       :serverInfo
       (:name "rust-analyzer" :version "1.69.0 (84c898d 2023-04-16)")))
[client-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1
test eql rehash-size 1.5 rehash-threshold 0.8125 data
                                ()))
[client-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 0
:languageId "rust-ts" :text "mod thing;\n\nfn main() {\n
println!(\"Hello world\");\n}")))
[client-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
      (:settings #s(hash-table size 1 test eql rehash-size 1.5
rehash-threshold 0.8125 data
                   ())))
[client-request] (id:2) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 2 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 4 :character 1))))
[stderr] [ERROR rust_analyzer::config] failed to find any projects in
[AbsPathBuf("/home/misha/sweet/repos/tmp")]
[stderr] [ERROR rust_analyzer::lsp_utils] rust-analyzer failed to
discover workspace
[server-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "window/showMessage" :params
      (:type 1 :message "rust-analyzer failed to discover workspace"))
[stderr] [ERROR rust_analyzer::lsp_utils] rust-analyzer failed to
discover workspace
[server-request] (id:0) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 0 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:0) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 0 :result nil)
[server-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[server-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "window/showMessage" :params
      (:type 1 :message "rust-analyzer failed to discover workspace"))
[server-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:1) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 1 :method "workspace/configuration" :params
      (:items
       [(:section "rust-analyzer")]))
[client-reply] (id:1) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 1 :result
      [nil])
[server-request] (id:2) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 2 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Indexing"))
[client-reply] (id:2) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 2 :result nil)
[server-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "begin" :title "Indexing" :cancellable :json-false
:percentage 0)))
[server-notification] Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "end")))
[server-reply] (id:2) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 2 :result
      [])
[client-request] (id:3) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 3 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 3 :character 24)))
[client-request] (id:4) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 4 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 3 :character 24)))
[client-request] (id:5) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 5 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 3 :character 24)))
[server-reply] (id:3) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 3 :result nil)
[server-reply] (id:4) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 4 :result nil)
[server-reply] (id:5) Wed May 10 21:27:00 2023:
(:jsonrpc "2.0" :id 5 :result nil)
[client-request] (id:6) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 6 :method "shutdown" :params nil)
[server-reply] (id:6) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 6 :result nil)
[client-notification] Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :method "exit" :params nil)
[internal] Wed May 10 21:29:29 2023:
(:message "Connection state changed" :change "killed\n")

----------b---y---e---b---y---e----------
[stderr]
[stderr]
[stderr] nil
[stderr] nil
[stderr] Process EGLOT (tmp/(rust-ts-mode rust-mode)) stderr finished
[client-request] (id:1) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
      (:processId 14861 :rootPath "/home/misha/sweet/repos/tmp/"
:rootUri "file:///home/misha/sweet/repos/tmp" :initializationOptions
#s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125
data
                                                                            ())
              :capabilities
              (:workspace
               (:applyEdit t :executeCommand
                   (:dynamicRegistration :json-false)
                   :workspaceEdit
                   (:documentChanges t)
                   :didChangeWatchedFiles
                   (:dynamicRegistration t)
                   :symbol
                   (:dynamicRegistration :json-false)
                   :configuration t :workspaceFolders t)
               :textDocument
               (:synchronization
            (:dynamicRegistration :json-false :willSave t
:willSaveWaitUntil t :didSave t)
            :completion
            (:dynamicRegistration :json-false :completionItem
                          (:snippetSupport :json-false
:deprecatedSupport t :resolveSupport
                                   (:properties
                                ["documentation" "details"
"additionalTextEdits"])
                                   :tagSupport
                                   (:valueSet
                                [1]))
                          :contextSupport t)
            :hover
            (:dynamicRegistration :json-false :contentFormat
                          ["plaintext"])
            :signatureHelp
            (:dynamicRegistration :json-false :signatureInformation
                          (:parameterInformation
                           (:labelOffsetSupport t)
                           :activeParameterSupport t))
            :references
            (:dynamicRegistration :json-false)
            :definition
            (:dynamicRegistration :json-false :linkSupport t)
            :declaration
            (:dynamicRegistration :json-false :linkSupport t)
            :implementation
            (:dynamicRegistration :json-false :linkSupport t)
            :typeDefinition
            (:dynamicRegistration :json-false :linkSupport t)
            :documentSymbol
            (:dynamicRegistration :json-false
:hierarchicalDocumentSymbolSupport t :symbolKind
                          (:valueSet
                           [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26]))
            :documentHighlight
            (:dynamicRegistration :json-false)
            :codeAction
            (:dynamicRegistration :json-false :codeActionLiteralSupport
                          (:codeActionKind
                           (:valueSet
                        ["quickfix" "refactor" "refactor.extract"
"refactor.inline" "refactor.rewrite" "source"
"source.organizeImports"]))
                          :isPreferredSupport t)
            :formatting
            (:dynamicRegistration :json-false)
            :rangeFormatting
            (:dynamicRegistration :json-false)
            :rename
            (:dynamicRegistration :json-false)
            :inlayHint
            (:dynamicRegistration :json-false)
            :publishDiagnostics
            (:relatedInformation :json-false :codeDescriptionSupport
:json-false :tagSupport
                         (:valueSet
                          [1 2])))
               :window
               (:workDoneProgress t)
               :general
               (:positionEncodings
            ["utf-32" "utf-8" "utf-16"])
               :experimental #s(hash-table size 1 test eql rehash-size
1.5 rehash-threshold 0.8125 data
                           ()))
              :workspaceFolders
              [(:uri "file:///home/misha/sweet/repos/tmp" :name
"~/sweet/repos/tmp/")]))
[server-reply] (id:1) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 1 :result
      (:capabilities
       (:positionEncoding "utf-32" :textDocumentSync
                  (:openClose t :change 2 :save nil)
                  :selectionRangeProvider t :hoverProvider t :completionProvider
                  (:resolveProvider t :triggerCharacters
                        [":" "." "'" "("]
                        :completionItem
                        (:labelDetailsSupport :json-false))
                  :signatureHelpProvider
                  (:triggerCharacters
                   ["(" "," "<"])
                  :definitionProvider t :typeDefinitionProvider t
:implementationProvider t :referencesProvider t
:documentHighlightProvider t :documentSymbolProvider t
:workspaceSymbolProvider t :codeActionProvider
                  (:codeActionKinds
                   ["" "quickfix" "refactor" "refactor.extract"
"refactor.inline" "refactor.rewrite"]
                   :resolveProvider t)
                  :codeLensProvider
                  (:resolveProvider t)
                  :documentFormattingProvider t
:documentRangeFormattingProvider :json-false
:documentOnTypeFormattingProvider
                  (:firstTriggerCharacter "=" :moreTriggerCharacter
                              ["." ">" "{"])
                  :renameProvider
                  (:prepareProvider t)
                  :foldingRangeProvider t :declarationProvider t :workspace
                  (:workspaceFolders
                   (:supported t :changeNotifications t)
                   :fileOperations
                   (:willRename
                (:filters
                 [(:scheme "file" :pattern
                       (:glob "**/*.rs" :matches "file"))
                  (:scheme "file" :pattern
                       (:glob "**" :matches "folder"))])))
                  :callHierarchyProvider t :semanticTokensProvider
                  (:legend
                   (:tokenTypes
                ["comment" "decorator" "enumMember" "enum" "function"
"interface" "keyword" "macro" "method" "namespace" "number" "operator"
"parameter" "property" "string" "struct" "typeParameter" "variable"
"angle" "arithmetic" "attribute" "attributeBracket" "bitwise"
"boolean" "brace" "bracket" "builtinAttribute" "builtinType"
"character" "colon" "comma" "comparison" "constParameter" "derive"
"deriveHelper" "dot" "escapeSequence" "formatSpecifier" "generic"
"label" "lifetime" "logical" "macroBang" "parenthesis" "punctuation"
"selfKeyword" "selfTypeKeyword" "semicolon" "typeAlias" "toolModule"
"union" "unresolvedReference"]
                :tokenModifiers
                ["documentation" "declaration" "static"
"defaultLibrary" "async" "attribute" "callable" "constant" "consuming"
"controlFlow" "crateRoot" "injected" "intraDocLink" "library"
"mutable" "public" "reference" "trait" "unsafe"])
                   :range t :full
                   (:delta t))
                  :inlayHintProvider
                  (:resolveProvider t)
                  :experimental
                  (:externalDocs t :hoverRange t :joinLines t
:matchingBrace t :moveItem t :onEnter t :openCargoToml t :parentModule
t :runnables
                         (:kinds
                          ["cargo"])
                         :ssr t :workspaceSymbolScopeKindFiltering t))
       :serverInfo
       (:name "rust-analyzer" :version "1.69.0 (84c898d 2023-04-16)")))
[client-notification] Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1
test eql rehash-size 1.5 rehash-threshold 0.8125 data
                                ()))
[client-notification] Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
      (:settings #s(hash-table size 1 test eql rehash-size 1.5
rehash-threshold 0.8125 data
                   ())))
[server-request] (id:0) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 0 :method "workspace/configuration" :params
      (:items
       [(:section "rust-analyzer")]))
[client-reply] (id:0) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 0 :result
      [nil])
[server-request] (id:1) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 1 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:1) Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :id 1 :result nil)
[server-notification] Wed May 10 21:29:29 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[server-notification] Wed May 10 21:29:32 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "report" :cancellable :json-false :message "metadata")))
[server-request] (id:2) Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :id 2 :method "client/registerCapability" :params
      (:registrations
       [(:id "workspace/didChangeWatchedFiles" :method
"workspace/didChangeWatchedFiles" :registerOptions
         (:watchers
          [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
[client-reply] (id:2) Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :id 2 :result nil)
[server-notification] Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:3) Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :id 3 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Roots Scanned"))
[client-reply] (id:3) Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :id 3 :result nil)
[server-notification] Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "begin" :title "Roots Scanned" :cancellable
:json-false :message "0/2" :percentage 0)))
[server-notification] Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "report" :cancellable :json-false :message "1/2"
:percentage 50)))
[server-request] (id:4) Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :id 4 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:4) Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :id 4 :result nil)
[server-notification] Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[server-notification] Wed May 10 21:29:35 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "report" :cancellable :json-false :message "metadata")))
[server-notification] Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:5) Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :id 5 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Loading"))
[client-reply] (id:5) Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :id 5 :result nil)
[server-notification] Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "begin" :title "Loading" :cancellable :json-false)))
[server-notification] Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "report" :cancellable :json-false :message "building
proc-macros: tmp")))
[server-notification] Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "report" :cancellable :json-false :message "building
proc-macros: tmp")))
[server-request] (id:6) Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :id 6 :method "client/registerCapability" :params
      (:registrations
       [(:id "workspace/didChangeWatchedFiles" :method
"workspace/didChangeWatchedFiles" :registerOptions
         (:watchers
          [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
[client-reply] (id:6) Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :id 6 :result nil)
[server-notification] Wed May 10 21:29:36 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "end")))
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "end" :message "2/2")))
[server-request] (id:7) Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :id 7 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Roots Scanned"))
[client-reply] (id:7) Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :id 7 :result nil)
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "begin" :title "Roots Scanned" :cancellable
:json-false :message "0/2" :percentage 0)))
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "report" :cancellable :json-false :message "1/2"
:percentage 50)))
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "end" :message "2/2")))
[server-request] (id:8) Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :id 8 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:8) Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :id 8 :result nil)
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "report" :cancellable :json-false :message "metadata")))
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:9) Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :id 9 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Indexing"))
[client-reply] (id:9) Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :id 9 :result nil)
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "begin" :title "Indexing" :cancellable :json-false
:percentage 0)))
[server-notification] Wed May 10 21:29:48 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "0/5 (test
+ 1 more)" :percentage 0)))
[server-request] (id:10) Wed May 10 21:29:49 2023:
(:jsonrpc "2.0" :id 10 :method "window/workDoneProgress/create" :params
      (:token "rust-analyzer/flycheck/0"))
[client-reply] (id:10) Wed May 10 21:29:49 2023:
(:jsonrpc "2.0" :id 10 :result nil)
[server-notification] Wed May 10 21:29:49 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "begin" :title "cargo check" :cancellable t)))
[server-notification] Wed May 10 21:29:49 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "1/5
(core)" :percentage 20)))
[server-notification] Wed May 10 21:29:49 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "E0583" :codeDescription
          (:href "https://doc.rust-lang.org/error-index.html#E0583")
          :source "rustc" :message "file not found for module
`thing`\nto create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"" :data
          (:rendered "error[E0583]: file not found for module
`thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
= help: to create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"\n\n"))]))
[server-notification] Wed May 10 21:29:52 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 40)))
[server-notification] Wed May 10 21:29:52 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "2/5
(alloc)" :percentage 40)))
[server-notification] Wed May 10 21:29:52 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 60)))
[server-notification] Wed May 10 21:29:52 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "3/5
(std)" :percentage 60)))
[server-notification] Wed May 10 21:29:53 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 80)))
[server-notification] Wed May 10 21:29:53 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "4/5
(proc_macro)" :percentage 80)))
[server-notification] Wed May 10 21:29:53 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 100)))
[server-notification] Wed May 10 21:29:53 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "end")))
[server-notification] Wed May 10 21:29:54 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "end")))
[client-notification] Wed May 10 21:30:01 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/[email-masked]%3A1683769648"
:type 1)]))
[client-notification] Wed May 10 21:30:08 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 1)]))
[client-notification] Wed May 10 21:30:08 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 2)]))
[client-notification] Wed May 10 21:30:08 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/.%23main.rs" :type 3)]))
[stderr]
[stderr]
[stderr] nil
[stderr] nil
[stderr] Process EGLOT (tmp/(rust-ts-mode rust-mode)) stderr finished
[internal] Wed May 10 21:30:16 2023:
(:message "Running language server: /home/misha/.cargo/bin/rust-analyzer")
[client-request] (id:1) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
      (:processId 14861 :rootPath "/home/misha/sweet/repos/tmp/"
:rootUri "file:///home/misha/sweet/repos/tmp" :initializationOptions
#s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125
data
                                                                            ())
              :capabilities
              (:workspace
               (:applyEdit t :executeCommand
                   (:dynamicRegistration :json-false)
                   :workspaceEdit
                   (:documentChanges t)
                   :didChangeWatchedFiles
                   (:dynamicRegistration t)
                   :symbol
                   (:dynamicRegistration :json-false)
                   :configuration t :workspaceFolders t)
               :textDocument
               (:synchronization
            (:dynamicRegistration :json-false :willSave t
:willSaveWaitUntil t :didSave t)
            :completion
            (:dynamicRegistration :json-false :completionItem
                          (:snippetSupport :json-false
:deprecatedSupport t :resolveSupport
                                   (:properties
                                ["documentation" "details"
"additionalTextEdits"])
                                   :tagSupport
                                   (:valueSet
                                [1]))
                          :contextSupport t)
            :hover
            (:dynamicRegistration :json-false :contentFormat
                          ["plaintext"])
            :signatureHelp
            (:dynamicRegistration :json-false :signatureInformation
                          (:parameterInformation
                           (:labelOffsetSupport t)
                           :activeParameterSupport t))
            :references
            (:dynamicRegistration :json-false)
            :definition
            (:dynamicRegistration :json-false :linkSupport t)
            :declaration
            (:dynamicRegistration :json-false :linkSupport t)
            :implementation
            (:dynamicRegistration :json-false :linkSupport t)
            :typeDefinition
            (:dynamicRegistration :json-false :linkSupport t)
            :documentSymbol
            (:dynamicRegistration :json-false
:hierarchicalDocumentSymbolSupport t :symbolKind
                          (:valueSet
                           [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26]))
            :documentHighlight
            (:dynamicRegistration :json-false)
            :codeAction
            (:dynamicRegistration :json-false :codeActionLiteralSupport
                          (:codeActionKind
                           (:valueSet
                        ["quickfix" "refactor" "refactor.extract"
"refactor.inline" "refactor.rewrite" "source"
"source.organizeImports"]))
                          :isPreferredSupport t)
            :formatting
            (:dynamicRegistration :json-false)
            :rangeFormatting
            (:dynamicRegistration :json-false)
            :rename
            (:dynamicRegistration :json-false)
            :inlayHint
            (:dynamicRegistration :json-false)
            :publishDiagnostics
            (:relatedInformation :json-false :codeDescriptionSupport
:json-false :tagSupport
                         (:valueSet
                          [1 2])))
               :window
               (:workDoneProgress t)
               :general
               (:positionEncodings
            ["utf-32" "utf-8" "utf-16"])
               :experimental #s(hash-table size 1 test eql rehash-size
1.5 rehash-threshold 0.8125 data
                           ()))
              :workspaceFolders
              [(:uri "file:///home/misha/sweet/repos/tmp" :name
"~/sweet/repos/tmp/")]))
[server-reply] (id:1) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 1 :result
      (:capabilities
       (:positionEncoding "utf-32" :textDocumentSync
                  (:openClose t :change 2 :save nil)
                  :selectionRangeProvider t :hoverProvider t :completionProvider
                  (:resolveProvider t :triggerCharacters
                        [":" "." "'" "("]
                        :completionItem
                        (:labelDetailsSupport :json-false))
                  :signatureHelpProvider
                  (:triggerCharacters
                   ["(" "," "<"])
                  :definitionProvider t :typeDefinitionProvider t
:implementationProvider t :referencesProvider t
:documentHighlightProvider t :documentSymbolProvider t
:workspaceSymbolProvider t :codeActionProvider
                  (:codeActionKinds
                   ["" "quickfix" "refactor" "refactor.extract"
"refactor.inline" "refactor.rewrite"]
                   :resolveProvider t)
                  :codeLensProvider
                  (:resolveProvider t)
                  :documentFormattingProvider t
:documentRangeFormattingProvider :json-false
:documentOnTypeFormattingProvider
                  (:firstTriggerCharacter "=" :moreTriggerCharacter
                              ["." ">" "{"])
                  :renameProvider
                  (:prepareProvider t)
                  :foldingRangeProvider t :declarationProvider t :workspace
                  (:workspaceFolders
                   (:supported t :changeNotifications t)
                   :fileOperations
                   (:willRename
                (:filters
                 [(:scheme "file" :pattern
                       (:glob "**/*.rs" :matches "file"))
                  (:scheme "file" :pattern
                       (:glob "**" :matches "folder"))])))
                  :callHierarchyProvider t :semanticTokensProvider
                  (:legend
                   (:tokenTypes
                ["comment" "decorator" "enumMember" "enum" "function"
"interface" "keyword" "macro" "method" "namespace" "number" "operator"
"parameter" "property" "string" "struct" "typeParameter" "variable"
"angle" "arithmetic" "attribute" "attributeBracket" "bitwise"
"boolean" "brace" "bracket" "builtinAttribute" "builtinType"
"character" "colon" "comma" "comparison" "constParameter" "derive"
"deriveHelper" "dot" "escapeSequence" "formatSpecifier" "generic"
"label" "lifetime" "logical" "macroBang" "parenthesis" "punctuation"
"selfKeyword" "selfTypeKeyword" "semicolon" "typeAlias" "toolModule"
"union" "unresolvedReference"]
                :tokenModifiers
                ["documentation" "declaration" "static"
"defaultLibrary" "async" "attribute" "callable" "constant" "consuming"
"controlFlow" "crateRoot" "injected" "intraDocLink" "library"
"mutable" "public" "reference" "trait" "unsafe"])
                   :range t :full
                   (:delta t))
                  :inlayHintProvider
                  (:resolveProvider t)
                  :experimental
                  (:externalDocs t :hoverRange t :joinLines t
:matchingBrace t :moveItem t :onEnter t :openCargoToml t :parentModule
t :runnables
                         (:kinds
                          ["cargo"])
                         :ssr t :workspaceSymbolScopeKindFiltering t))
       :serverInfo
       (:name "rust-analyzer" :version "1.69.0 (84c898d 2023-04-16)")))
[client-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1
test eql rehash-size 1.5 rehash-threshold 0.8125 data
                                ()))
[client-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 0
:languageId "rust-ts" :text "fn main() {\n   println!(\"Hello
world\");\n}\n")))
[client-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
      (:settings #s(hash-table size 1 test eql rehash-size 1.5
rehash-threshold 0.8125 data
                   ())))
[client-request] (id:2) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 2 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 3 :character 0))))
[server-request] (id:0) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 0 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:0) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 0 :result nil)
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[server-request] (id:1) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 1 :method "workspace/configuration" :params
      (:items
       [(:section "rust-analyzer")]))
[client-reply] (id:1) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 1 :result
      [nil])
[server-reply] (id:2) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 2 :result
      [])
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "report" :cancellable :json-false :message "metadata")))
[server-request] (id:2) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 2 :method "client/registerCapability" :params
      (:registrations
       [(:id "workspace/didChangeWatchedFiles" :method
"workspace/didChangeWatchedFiles" :registerOptions
         (:watchers
          [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
[client-reply] (id:2) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 2 :result nil)
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:3) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 3 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Roots Scanned"))
[client-reply] (id:3) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 3 :result nil)
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "begin" :title "Roots Scanned" :cancellable
:json-false :message "0/2" :percentage 0)))
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "report" :cancellable :json-false :message "1/2"
:percentage 50)))
[server-request] (id:4) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 4 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:4) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 4 :result nil)
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[client-request] (id:3) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 3 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 0)))
[client-request] (id:4) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 4 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 0)))
[client-request] (id:5) Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :id 5 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 0)))
[server-notification] Wed May 10 21:30:16 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "end" :message "2/2")))
[server-reply] (id:3) Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :id 3 :result nil)
[server-reply] (id:4) Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :id 4 :result nil)
[server-notification] Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "report" :cancellable :json-false :message "metadata")))
[server-notification] Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:5) Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :id 5 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Fetching"))
[client-reply] (id:5) Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :id 5 :result nil)
[server-notification] Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "begin" :title "Fetching" :cancellable :json-false)))
[server-notification] Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "report" :cancellable :json-false :message "metadata")))
[server-notification] Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Fetching" :value
          (:kind "end")))
[server-request] (id:6) Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :id 6 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Loading"))
[client-reply] (id:6) Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :id 6 :result nil)
[server-notification] Wed May 10 21:30:17 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "begin" :title "Loading" :cancellable :json-false)))
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "report" :cancellable :json-false :message "building
proc-macros: tmp")))
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "report" :cancellable :json-false :message "building
proc-macros: tmp")))
[server-request] (id:7) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 7 :method "client/registerCapability" :params
      (:registrations
       [(:id "workspace/didChangeWatchedFiles" :method
"workspace/didChangeWatchedFiles" :registerOptions
         (:watchers
          [(:globPattern "/home/misha/sweet/repos/tmp/**/*.rs")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.toml")
           (:globPattern "/home/misha/sweet/repos/tmp/**/Cargo.lock")]))]))
[client-reply] (id:7) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 7 :result nil)
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Loading" :value
          (:kind "end")))
[server-request] (id:8) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 8 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Roots Scanned"))
[client-reply] (id:8) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 8 :result nil)
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "begin" :title "Roots Scanned" :cancellable
:json-false :message "0/2" :percentage 0)))
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "report" :cancellable :json-false :message "1/2"
:percentage 50)))
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Roots Scanned" :value
          (:kind "end" :message "2/2")))
[server-request] (id:9) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 9 :method "window/workDoneProgress/create" :params
      (:token "rustAnalyzer/Indexing"))
[client-reply] (id:9) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 9 :result nil)
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "begin" :title "Indexing" :cancellable :json-false
:percentage 0)))
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "0/5 (core
+ 1 more)" :percentage 0)))
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "1/5
(core)" :percentage 20)))
[server-request] (id:10) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 10 :method "window/workDoneProgress/create" :params
      (:token "rust-analyzer/flycheck/0"))
[client-reply] (id:10) Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :id 10 :result nil)
[server-notification] Wed May 10 21:30:18 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "begin" :title "cargo check" :cancellable t)))
[server-notification] Wed May 10 21:30:19 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "report" :cancellable t :message "tmp")))
[server-notification] Wed May 10 21:30:19 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "report" :cancellable t :message "tmp")))
[server-notification] Wed May 10 21:30:19 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "end")))
[server-notification] Wed May 10 21:30:20 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "2/5
(alloc)" :percentage 40)))
[server-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 60)))
[server-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "3/5
(std)" :percentage 60)))
[server-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 80)))
[server-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :message "4/5
(proc_macro)" :percentage 80)))
[client-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/[email-masked]%3A1683769648"
:type 1)]))
[client-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/[email-masked]%3A1683769648"
:type 1)]))
[server-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "report" :cancellable :json-false :percentage 100)))
[server-notification] Wed May 10 21:30:21 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rustAnalyzer/Indexing" :value
          (:kind "end")))
[server-reply] (id:5) Wed May 10 21:30:23 2023:
(:jsonrpc "2.0" :id 5 :result
      [])
[server-notification] Wed May 10 21:30:23 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        []
        :version 0))
[client-notification] Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 9)
       :contentChanges
       [(:range
         (:start
          (:line 0 :character 0)
          :end
          (:line 0 :character 0))
         :rangeLength 0 :text "\n")
        (:range
         (:start
          (:line 1 :character 0)
          :end
          (:line 1 :character 0))
         :rangeLength 0 :text "\n")
        (:range
         (:start
          (:line 0 :character 0)
          :end
          (:line 0 :character 0))
         :rangeLength 0 :text "m")
        (:range
         (:start
          (:line 0 :character 1)
          :end
          (:line 0 :character 1))
         :rangeLength 0 :text "d")
        (:range
         (:start
          (:line 0 :character 1)
          :end
          (:line 0 :character 2))
         :rangeLength 1 :text "")
        (:range
         (:start
          (:line 0 :character 1)
          :end
          (:line 0 :character 1))
         :rangeLength 0 :text "d")
        (:range
         (:start
          (:line 0 :character 2)
          :end
          (:line 0 :character 2))
         :rangeLength 0 :text " ")
        (:range
         (:start
          (:line 0 :character 2)
          :end
          (:line 0 :character 3))
         :rangeLength 1 :text "")
        (:range
         (:start
          (:line 0 :character 1)
          :end
          (:line 0 :character 2))
         :rangeLength 1 :text "")]))
[client-request] (id:6) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 6 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 1)))
[client-request] (id:7) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 7 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 1)))
[client-request] (id:8) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 8 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 1)))
[client-request] (id:9) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 9 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 5 :character 0))))
[server-reply] (id:6) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 6 :result nil)
[server-reply] (id:7) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 7 :result nil)
[server-reply] (id:8) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 8 :result nil)
[server-reply] (id:9) Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :id 9 :result
      [])
[server-notification] Wed May 10 21:30:24 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 1)
           :end
           (:line 0 :character 1))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected BANG")
         (:range
          (:start
           (:line 0 :character 1)
           :end
           (:line 0 :character 1))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected
`{`, `[`, `(`")
         (:range
          (:start
           (:line 0 :character 1)
           :end
           (:line 0 :character 1))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected SEMICOLON")]
        :version 9))
[client-notification] Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 12)
       :contentChanges
       [(:range
         (:start
          (:line 0 :character 1)
          :end
          (:line 0 :character 1))
         :rangeLength 0 :text "o")
        (:range
         (:start
          (:line 0 :character 2)
          :end
          (:line 0 :character 2))
         :rangeLength 0 :text "d")
        (:range
         (:start
          (:line 0 :character 3)
          :end
          (:line 0 :character 3))
         :rangeLength 0 :text " ")]))
[client-request] (id:10) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 10 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 4)))
[client-request] (id:11) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 11 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 4)))
[client-request] (id:12) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 12 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 4)))
[client-request] (id:13) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 13 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 5 :character 0))))
[server-notification] Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 2 :character 0)
           :end
           (:line 2 :character 0))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected a name")
         (:range
          (:start
           (:line 2 :character 2)
           :end
           (:line 2 :character 2))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected `;` or `{`")
         (:range
          (:start
           (:line 2 :character 7)
           :end
           (:line 2 :character 7))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected BANG")
         (:range
          (:start
           (:line 2 :character 9)
           :end
           (:line 2 :character 9))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected SEMICOLON")
         (:range
          (:start
           (:line 2 :character 10)
           :end
           (:line 2 :character 10))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected an item")]
        :version 12))
[server-reply] (id:10) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 10 :result nil)
[server-reply] (id:11) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 11 :result nil)
[server-reply] (id:12) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 12 :result nil)
[server-reply] (id:13) Wed May 10 21:30:25 2023:
(:jsonrpc "2.0" :id 13 :result
      [])
[client-notification] Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 15)
       :contentChanges
       [(:range
         (:start
          (:line 0 :character 4)
          :end
          (:line 0 :character 4))
         :rangeLength 0 :text "t")
        (:range
         (:start
          (:line 0 :character 5)
          :end
          (:line 0 :character 5))
         :rangeLength 0 :text "m")
        (:range
         (:start
          (:line 0 :character 6)
          :end
          (:line 0 :character 6))
         :rangeLength 0 :text "p")]))
[client-request] (id:14) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 14 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 7)))
[client-request] (id:15) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 15 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 7)))
[client-request] (id:16) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 16 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 7)))
[client-request] (id:17) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 17 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 5 :character 0))))
[server-notification] Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 7)
           :end
           (:line 0 :character 7))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected `;` or `{`")]
        :version 15))
[server-reply] (id:14) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 14 :result nil)
[server-reply] (id:17) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 17 :result
      [])
[server-reply] (id:15) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 15 :result
      (:contents
       (:kind "plaintext" :value "tmp\n\nmod tmp")
       :range
       (:start
        (:line 0 :character 4)
        :end
        (:line 0 :character 7))))
[server-reply] (id:16) Wed May 10 21:30:27 2023:
(:jsonrpc "2.0" :id 16 :result
      [(:range
        (:start
         (:line 0 :character 4)
         :end
         (:line 0 :character 7)))])
[internal] (id:18) Wed May 10 21:30:29 2023:
(:deferring :textDocument/signatureHelp :id 18 :params
        (:textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
         :position
         (:line 0 :character 8)))
[internal] (id:19) Wed May 10 21:30:29 2023:
(:deferring :textDocument/hover :id 19 :params
        (:textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
         :position
         (:line 0 :character 8)))
[internal] (id:20) Wed May 10 21:30:29 2023:
(:deferring :textDocument/documentHighlight :id 20 :params
        (:textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
         :position
         (:line 0 :character 8)))
[client-notification] Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 16)
       :contentChanges
       [(:range
         (:start
          (:line 0 :character 7)
          :end
          (:line 0 :character 7))
         :rangeLength 0 :text ";")]))
[internal] Wed May 10 21:30:29 2023:
(:maybe-run-deferred
 (20 19 18))
[client-request] (id:20) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 20 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 8)))
[client-request] (id:19) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 19 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 8)))
[client-request] (id:18) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 18 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 8)))
[client-request] (id:21) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 21 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 5 :character 0))))
[server-reply] (id:20) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 20 :result nil)
[server-reply] (id:19) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 19 :result nil)
[server-reply] (id:18) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 18 :result nil)
[server-notification] Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 8))
          :severity 1 :code "unresolved-module" :codeDescription
          (:href
"https://rust-analyzer.github.io/manual.html#unresolved-module")
          :source "rust-analyzer" :message "unresolved module, can't
find module file: tmp.rs, or tmp/mod.rs")]
        :version 16))
[server-reply] (id:21) Wed May 10 21:30:29 2023:
(:jsonrpc "2.0" :id 21 :result
      [])
[client-notification] Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 19)
       :contentChanges
       [(:range
         (:start
          (:line 0 :character 6)
          :end
          (:line 0 :character 7))
         :rangeLength 1 :text "")
        (:range
         (:start
          (:line 0 :character 5)
          :end
          (:line 0 :character 6))
         :rangeLength 1 :text "")
        (:range
         (:start
          (:line 0 :character 4)
          :end
          (:line 0 :character 5))
         :rangeLength 1 :text "")]))
[client-request] (id:22) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 22 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 4)))
[client-request] (id:23) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 23 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 4)))
[client-request] (id:24) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 24 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 4)))
[client-request] (id:25) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 25 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 5 :character 0))))
[server-notification] Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 4)
           :end
           (:line 0 :character 4))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected a name")
         (:range
          (:start
           (:line 0 :character 5)
           :end
           (:line 0 :character 5))
          :severity 1 :code "syntax-error" :codeDescription
          (:href "https://rust-analyzer.github.io/manual.html#syntax-error")
          :source "rust-analyzer" :message "Syntax Error: expected `;` or `{`")]
        :version 19))
[server-reply] (id:22) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 22 :result nil)
[server-reply] (id:23) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 23 :result nil)
[server-reply] (id:24) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 24 :result nil)
[server-reply] (id:25) Wed May 10 21:30:31 2023:
(:jsonrpc "2.0" :id 25 :result
      [])
[client-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :version 24)
       :contentChanges
       [(:range
         (:start
          (:line 0 :character 4)
          :end
          (:line 0 :character 4))
         :rangeLength 0 :text "t")
        (:range
         (:start
          (:line 0 :character 5)
          :end
          (:line 0 :character 5))
         :rangeLength 0 :text "h")
        (:range
         (:start
          (:line 0 :character 6)
          :end
          (:line 0 :character 6))
         :rangeLength 0 :text "i")
        (:range
         (:start
          (:line 0 :character 7)
          :end
          (:line 0 :character 7))
         :rangeLength 0 :text "n")
        (:range
         (:start
          (:line 0 :character 8)
          :end
          (:line 0 :character 8))
         :rangeLength 0 :text "g")]))
[client-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "textDocument/didSave" :params
      (:text "mod thing;\n\nfn main() {\n   println!(\"Hello
world\");\n}\n" :textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")))
[server-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "unresolved-module" :codeDescription
          (:href
"https://rust-analyzer.github.io/manual.html#unresolved-module")
          :source "rust-analyzer" :message "unresolved module, can't
find module file: thing.rs, or thing/mod.rs")]
        :version 24))
[client-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 2)]))
[client-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/main.rs" :type 2)]))
[client-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/.%23main.rs" :type 3)]))
[client-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "workspace/didChangeWatchedFiles" :params
      (:changes
       [(:uri "file:///home/misha/sweet/repos/tmp/.%23main.rs" :type 3)]))
[server-request] (id:11) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 11 :method "window/workDoneProgress/create" :params
      (:token "rust-analyzer/flycheck/0"))
[client-reply] (id:11) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 11 :result nil)
[server-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "begin" :title "cargo check" :cancellable t)))
[server-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
      (:uri "file:///home/misha/sweet/repos/tmp/main.rs" :diagnostics
        [(:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "unresolved-module" :codeDescription
          (:href
"https://rust-analyzer.github.io/manual.html#unresolved-module")
          :source "rust-analyzer" :message "unresolved module, can't
find module file: thing.rs, or thing/mod.rs")
         (:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "E0583" :codeDescription
          (:href "https://doc.rust-lang.org/error-index.html#E0583")
          :source "rustc" :message "file not found for module
`thing`\nto create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"" :data
          (:rendered "error[E0583]: file not found for module
`thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
= help: to create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"\n\n"))]
        :version 24))
[server-notification] Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :method "$/progress" :params
      (:token "rust-analyzer/flycheck/0" :value
          (:kind "end")))
[client-request] (id:26) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 26 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 9)))
[client-request] (id:27) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 27 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 9)))
[client-request] (id:28) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 28 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 9)))
[client-request] (id:29) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 29 :method "textDocument/inlayHint" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 0)
        :end
        (:line 5 :character 0))))
[server-reply] (id:26) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 26 :result nil)
[server-reply] (id:27) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 27 :result
      (:contents
       (:kind "plaintext" :value "tmp\n\nmod thing")
       :range
       (:start
        (:line 0 :character 4)
        :end
        (:line 0 :character 9))))
[server-reply] (id:28) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 28 :result
      [(:range
        (:start
         (:line 0 :character 4)
         :end
         (:line 0 :character 9)))])
[server-reply] (id:29) Wed May 10 21:30:33 2023:
(:jsonrpc "2.0" :id 29 :result
      [])
[internal] (id:18) Wed May 10 21:30:39 2023:
(:timed-out :textDocument/signatureHelp :id 18 :params
        (:textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
         :position
         (:line 0 :character 8)))
[internal] (id:19) Wed May 10 21:30:39 2023:
(:timed-out :textDocument/hover :id 19 :params
        (:textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
         :position
         (:line 0 :character 8)))
[internal] (id:20) Wed May 10 21:30:39 2023:
(:timed-out :textDocument/documentHighlight :id 20 :params
        (:textDocument
         (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
         :position
         (:line 0 :character 8)))
[client-request] (id:30) Wed May 10 21:30:40 2023:
(:jsonrpc "2.0" :id 30 :method "textDocument/codeAction" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 4)
        :end
        (:line 0 :character 9))
       :context
       (:diagnostics
        [(:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "E0583" :codeDescription
          (:href "https://doc.rust-lang.org/error-index.html#E0583")
          :source "rustc" :message "file not found for module
`thing`\nto create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"" :data
          (:rendered "error[E0583]: file not found for module
`thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
= help: to create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"\n\n"))
         (:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "unresolved-module" :codeDescription
          (:href
"https://rust-analyzer.github.io/manual.html#unresolved-module")
          :source "rust-analyzer" :message "unresolved module, can't
find module file: thing.rs, or thing/mod.rs")])))
[server-reply] (id:30) Wed May 10 21:30:41 2023:
(:jsonrpc "2.0" :id 30 :result
      [(:title "Create module at `thing.rs`" :kind "quickfix" :edit
           (:documentChanges
            [(:kind "create" :uri
"file:///home/misha/sweet/repos/tmp/thing.rs")]))
       (:title "Create module at `thing/mod.rs`" :kind "quickfix" :edit
           (:documentChanges
            [(:kind "create" :uri
"file:///home/misha/sweet/repos/tmp/thing/mod.rs")]))])
[client-request] (id:31) Wed May 10 21:30:43 2023:
(:jsonrpc "2.0" :id 31 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 9)))
[client-request] (id:32) Wed May 10 21:30:43 2023:
(:jsonrpc "2.0" :id 32 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 9)))
[client-request] (id:33) Wed May 10 21:30:43 2023:
(:jsonrpc "2.0" :id 33 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 9)))
[server-reply] (id:31) Wed May 10 21:30:43 2023:
(:jsonrpc "2.0" :id 31 :result nil)
[server-reply] (id:32) Wed May 10 21:30:43 2023:
(:jsonrpc "2.0" :id 32 :result
      (:contents
       (:kind "plaintext" :value "tmp\n\nmod thing")
       :range
       (:start
        (:line 0 :character 4)
        :end
        (:line 0 :character 9))))
[server-reply] (id:33) Wed May 10 21:30:43 2023:
(:jsonrpc "2.0" :id 33 :result
      [(:range
        (:start
         (:line 0 :character 4)
         :end
         (:line 0 :character 9)))])
[client-request] (id:34) Wed May 10 21:31:45 2023:
(:jsonrpc "2.0" :id 34 :method "textDocument/codeAction" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :range
       (:start
        (:line 0 :character 4)
        :end
        (:line 0 :character 9))
       :context
       (:diagnostics
        [(:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "E0583" :codeDescription
          (:href "https://doc.rust-lang.org/error-index.html#E0583")
          :source "rustc" :message "file not found for module
`thing`\nto create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"" :data
          (:rendered "error[E0583]: file not found for module
`thing`\n --> main.rs:1:1\n  |\n1 | mod thing;\n  | ^^^^^^^^^^\n  |\n
= help: to create the module `thing`, create file \"thing.rs\" or
\"thing/mod.rs\"\n\n"))
         (:range
          (:start
           (:line 0 :character 0)
           :end
           (:line 0 :character 10))
          :severity 1 :code "unresolved-module" :codeDescription
          (:href
"https://rust-analyzer.github.io/manual.html#unresolved-module")
          :source "rust-analyzer" :message "unresolved module, can't
find module file: thing.rs, or thing/mod.rs")])))
[server-reply] (id:34) Wed May 10 21:31:45 2023:
(:jsonrpc "2.0" :id 34 :result
      [(:title "Create module at `thing.rs`" :kind "quickfix" :edit
           (:documentChanges
            [(:kind "create" :uri
"file:///home/misha/sweet/repos/tmp/thing.rs")]))
       (:title "Create module at `thing/mod.rs`" :kind "quickfix" :edit
           (:documentChanges
            [(:kind "create" :uri
"file:///home/misha/sweet/repos/tmp/thing/mod.rs")]))])
[client-request] (id:35) Wed May 10 21:38:05 2023:
(:jsonrpc "2.0" :id 35 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 10)))
[client-request] (id:36) Wed May 10 21:38:05 2023:
(:jsonrpc "2.0" :id 36 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 10)))
[client-request] (id:37) Wed May 10 21:38:05 2023:
(:jsonrpc "2.0" :id 37 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 0 :character 10)))
[server-reply] (id:35) Wed May 10 21:38:05 2023:
(:jsonrpc "2.0" :id 35 :result nil)
[server-reply] (id:36) Wed May 10 21:38:05 2023:
(:jsonrpc "2.0" :id 36 :result nil)
[server-reply] (id:37) Wed May 10 21:38:05 2023:
(:jsonrpc "2.0" :id 37 :result nil)
[client-request] (id:38) Wed May 10 21:38:08 2023:
(:jsonrpc "2.0" :id 38 :method "textDocument/signatureHelp" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 5 :character 0)))
[client-request] (id:39) Wed May 10 21:38:08 2023:
(:jsonrpc "2.0" :id 39 :method "textDocument/hover" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 5 :character 0)))
[client-request] (id:40) Wed May 10 21:38:08 2023:
(:jsonrpc "2.0" :id 40 :method "textDocument/documentHighlight" :params
      (:textDocument
       (:uri "file:///home/misha/sweet/repos/tmp/main.rs")
       :position
       (:line 5 :character 0)))
[server-reply] (id:38) Wed May 10 21:38:08 2023:
(:jsonrpc "2.0" :id 38 :result nil)
[server-reply] (id:39) Wed May 10 21:38:08 2023:
(:jsonrpc "2.0" :id 39 :result nil)
[server-reply] (id:40) Wed May 10 21:38:08 2023:
(:jsonrpc "2.0" :id 40 :result nil)
```

There's nothing in `M-x eglot-stderr-buffer`

In GNU Emacs 29.0.90 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.33, cairo version 1.16.0) of 2023-05-10 built on misha-N552VX
Repository revision: 93005cd9dc2bab882e66ac7b81f593cd6c021e43
Repository branch: emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.2 LTS

Configured using:
 'configure --with-json --with-cairo --with-xwidgets
 --prefix=/opt/emacs/ --with-x-toolkit=gtk3 --with-tree-sitter
 --with-native-compilation --with-modules'

Configured features:
CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON
LIBSELINUX LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG
SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11
XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: en_CA.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Rust

Minor modes in effect:
  eglot-inlay-hints-mode: t
  eglot--managed-mode: t
  flymake-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr help-fns radix-tree cl-print cus-start cus-load
emacsbug message mailcap yank-media puny rfc822 mml mml-sec epa derived
epg rfc6068 epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils files-x find-dired grep
misearch multi-isearch vc-git diff-mode easy-mmode vc-dispatcher
conf-mode time-date eglot external-completion array filenotify jsonrpc
ert pp ewoc debug backtrace find-func xref flymake-proc flymake
thingatpt compile text-property-search comint ansi-osc ansi-color ring
pcase url-util url-parse auth-source eieio eieio-core password-cache
json map url-vars project byte-opt imenu rust-ts-mode c-ts-common
treesit dired-aux cl-loaddefs comp comp-cstr warnings icons subr-x rx
cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib dired
dired-loaddefs rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select scroll-bar mouse jit-lock font-lock syntax font-core
term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads xwidget-internal dbusbind
inotify dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 156384 23572)
 (symbols 48 13274 0)
 (strings 32 39865 2264)
 (string-bytes 1 1247909)
 (vectors 16 27590)
 (vector-slots 8 541569 23397)
 (floats 8 51 48)
 (intervals 56 943 0)
 (buffers 984 23))