Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warning diagnostics disappear when moving to another file #1276

Closed
kbwo opened this issue Nov 7, 2024 · 4 comments · Fixed by #1287
Closed

Warning diagnostics disappear when moving to another file #1276

kbwo opened this issue Nov 7, 2024 · 4 comments · Fixed by #1287
Assignees

Comments

@kbwo
Copy link

kbwo commented Nov 7, 2024

What's the output of :CocInfo

## versions

vim version: NVIM v0.10.2
node version: v18.19.1
coc.nvim version: 0.0.82-9fd85781 2024-09-21 00:59:00 +0900
coc.nvim directory: /home/devuser/.local/share/nvim/plugged/coc.nvim
term: xterm
platform: linux

## Log of coc.nvim

2024-11-08T10:20:42.814 INFO (pid:30) [plugin] - coc.nvim initialized with node: v18.19.1 after 182
2024-11-08T10:20:42.815 INFO (pid:30) [services] - LanguageClient Rust Analyzer Language Server state change: stopped => starting
2024-11-08T10:20:42.821 INFO (pid:30) [language-client-index] - Language server "rust-analyzer" started with 48
2024-11-08T10:20:42.859 INFO (pid:30) [services] - LanguageClient Rust Analyzer Language Server state change: starting => running
2024-11-08T10:20:42.897 INFO (pid:30) [services] - service rust-analyzer started

What's the output of :CocCommand rust-analyzer.serverVersion

[coc.nvim] rust-analyzer 0.3.2172-standalone

What's your coc-rust-analyzer version? You can get it from :CocList extensions

* coc-rust-analyzer 0.77.5 ~/.config/coc/extensions/node_modules/coc-rust-analyzer

Diagnostics work fine when I open a Rust file, but disappear when I move to another file.

  • This problem does not occur in VSCode.
  • This problem occurs even with the minimal neovim configuration described at the end.
  • In my environment, if the severity is an error, the diagnostic never disappears.
Screencast.from.2024-11-07.23-54-02.webm

Minimum reproduction

https://github.com/kbwo/neovim-docker-sandbox/blob/coc-ra-diagnostics/init.vim

call plug#begin('~/.local/share/nvim/plugged')
Plug 'neoclide/coc.nvim', {'branch': 'release'}

call plug#end()

let g:coc_global_extensions = [
      \'coc-rust-analyzer',
      \]
@kbwo
Copy link
Author

kbwo commented Nov 7, 2024

The output of :CocCommand workspace.showOutput rust-analyzer in verbose tracing mode

[Trace - 2:37:22 PM] Sending request 'initialize - (0)'.
Params: {
    "processId": 760,
    "rootPath": "/home/devuser/projects/demo-rs",
    "rootUri": "file:///home/devuser/projects/demo-rs",
    "capabilities": {
        "workspace": {
            "applyEdit": true,
            "workspaceEdit": {
                "documentChanges": true,
                "resourceOperations": [
                    "create",
                    "rename",
                    "delete"
                ],
                "failureHandling": "undo",
                "normalizesLineEndings": true,
                "changeAnnotationSupport": {
                    "groupsOnLabel": false
                }
            },
            "didChangeConfiguration": {
                "dynamicRegistration": true
            },
            "didChangeWatchedFiles": {
                "dynamicRegistration": true,
                "relativePatternSupport": true
            },
            "codeLens": {
                "refreshSupport": true
            },
            "executeCommand": {
                "dynamicRegistration": true
            },
            "configuration": true,
            "fileOperations": {
                "dynamicRegistration": true,
                "didCreate": true,
                "didRename": true,
                "didDelete": true,
                "willCreate": true,
                "willRename": true,
                "willDelete": true
            },
            "semanticTokens": {
                "refreshSupport": true
            },
            "inlayHint": {
                "refreshSupport": true
            },
            "inlineValue": {
                "refreshSupport": true
            },
            "diagnostics": {
                "refreshSupport": true
            },
            "symbol": {
                "dynamicRegistration": true,
                "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
                    ]
                },
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "resolveSupport": {
                    "properties": [
                        "location.range"
                    ]
                }
            },
            "workspaceFolders": true
        },
        "textDocument": {
            "publishDiagnostics": {
                "relatedInformation": true,
                "versionSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1,
                        2
                    ]
                },
                "codeDescriptionSupport": true,
                "dataSupport": true
            },
            "synchronization": {
                "dynamicRegistration": true,
                "willSave": true,
                "willSaveWaitUntil": true,
                "didSave": true
            },
            "completion": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "completionItem": {
                    "snippetSupport": true,
                    "commitCharactersSupport": true,
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "deprecatedSupport": true,
                    "preselectSupport": true,
                    "insertReplaceSupport": true,
                    "tagSupport": {
                        "valueSet": [
                            1
                        ]
                    },
                    "resolveSupport": {
                        "properties": [
                            "documentation",
                            "detail",
                            "additionalTextEdits"
                        ]
                    },
                    "labelDetailsSupport": true,
                    "insertTextModeSupport": {
                        "valueSet": [
                            1,
                            2
                        ]
                    }
                },
                "completionItemKind": {
                    "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
                    ]
                },
                "insertTextMode": 2,
                "completionList": {
                    "itemDefaults": [
                        "commitCharacters",
                        "editRange",
                        "insertTextFormat",
                        "insertTextMode"
                    ]
                }
            },
            "hover": {
                "dynamicRegistration": true,
                "contentFormat": [
                    "markdown",
                    "plaintext"
                ]
            },
            "signatureHelp": {
                "dynamicRegistration": true,
                "contextSupport": true,
                "signatureInformation": {
                    "documentationFormat": [
                        "markdown",
                        "plaintext"
                    ],
                    "activeParameterSupport": true,
                    "parameterInformation": {
                        "labelOffsetSupport": true
                    }
                }
            },
            "references": {
                "dynamicRegistration": true
            },
            "definition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "documentHighlight": {
                "dynamicRegistration": true
            },
            "documentSymbol": {
                "dynamicRegistration": true,
                "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
                    ]
                },
                "hierarchicalDocumentSymbolSupport": true,
                "tagSupport": {
                    "valueSet": [
                        1
                    ]
                },
                "labelSupport": true
            },
            "codeAction": {
                "dynamicRegistration": true,
                "isPreferredSupport": true,
                "disabledSupport": true,
                "dataSupport": true,
                "honorsChangeAnnotations": false,
                "resolveSupport": {
                    "properties": [
                        "edit"
                    ]
                },
                "codeActionLiteralSupport": {
                    "codeActionKind": {
                        "valueSet": [
                            "",
                            "quickfix",
                            "refactor",
                            "refactor.extract",
                            "refactor.inline",
                            "refactor.rewrite",
                            "source",
                            "source.organizeImports"
                        ]
                    }
                }
            },
            "codeLens": {
                "dynamicRegistration": true
            },
            "formatting": {
                "dynamicRegistration": true
            },
            "rangeFormatting": {
                "dynamicRegistration": true
            },
            "onTypeFormatting": {
                "dynamicRegistration": true
            },
            "rename": {
                "dynamicRegistration": true,
                "prepareSupport": true,
                "honorsChangeAnnotations": true,
                "prepareSupportDefaultBehavior": 1
            },
            "documentLink": {
                "dynamicRegistration": true,
                "tooltipSupport": true
            },
            "typeDefinition": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "implementation": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "declaration": {
                "dynamicRegistration": true,
                "linkSupport": true
            },
            "colorProvider": {
                "dynamicRegistration": true
            },
            "foldingRange": {
                "dynamicRegistration": true,
                "rangeLimit": 5000,
                "lineFoldingOnly": true,
                "foldingRangeKind": {
                    "valueSet": [
                        "comment",
                        "imports",
                        "region"
                    ]
                },
                "foldingRange": {
                    "collapsedText": false
                }
            },
            "selectionRange": {
                "dynamicRegistration": true
            },
            "callHierarchy": {
                "dynamicRegistration": true
            },
            "linkedEditingRange": {
                "dynamicRegistration": true
            },
            "semanticTokens": {
                "dynamicRegistration": true,
                "tokenTypes": [
                    "namespace",
                    "type",
                    "class",
                    "enum",
                    "interface",
                    "struct",
                    "typeParameter",
                    "parameter",
                    "variable",
                    "property",
                    "enumMember",
                    "event",
                    "function",
                    "method",
                    "macro",
                    "keyword",
                    "modifier",
                    "comment",
                    "string",
                    "number",
                    "regexp",
                    "decorator",
                    "operator"
                ],
                "tokenModifiers": [
                    "declaration",
                    "definition",
                    "readonly",
                    "static",
                    "deprecated",
                    "abstract",
                    "async",
                    "modification",
                    "documentation",
                    "defaultLibrary"
                ],
                "formats": [
                    "relative"
                ],
                "requests": {
                    "range": true,
                    "full": {
                        "delta": true
                    }
                },
                "multilineTokenSupport": false,
                "overlappingTokenSupport": false,
                "serverCancelSupport": true,
                "augmentsSyntaxTokens": true
            },
            "inlayHint": {
                "dynamicRegistration": true,
                "resolveSupport": {
                    "properties": [
                        "tooltip",
                        "textEdits",
                        "label.tooltip",
                        "label.location",
                        "label.command"
                    ]
                }
            },
            "inlineValue": {
                "dynamicRegistration": true
            },
            "diagnostic": {
                "dynamicRegistration": true,
                "relatedDocumentSupport": true
            },
            "typeHierarchy": {
                "dynamicRegistration": true
            }
        },
        "window": {
            "showMessage": {
                "messageActionItem": {
                    "additionalPropertiesSupport": true
                }
            },
            "showDocument": {
                "support": true
            },
            "workDoneProgress": true
        },
        "general": {
            "regularExpressions": {
                "engine": "ECMAScript",
                "version": "ES2020"
            },
            "markdown": {
                "parser": "marked",
                "version": "7.0.5"
            },
            "positionEncodings": [
                "utf-16"
            ],
            "staleRequestSupport": {
                "cancel": true,
                "retryOnContentModified": [
                    "textDocument/inlayHint",
                    "textDocument/semanticTokens/full",
                    "textDocument/semanticTokens/range",
                    "textDocument/semanticTokens/full/delta"
                ]
            }
        },
        "experimental": {
            "snippetTextEdit": true,
            "serverStatusNotification": true,
            "localDocs": true,
            "commands": {
                "commands": [
                    "rust-analyzer.runSingle",
                    "rust-analyzer.debugSingle",
                    "rust-analyzer.showReferences",
                    "rust-analyzer.gotoLocation",
                    "editor.action.triggerParameterHints"
                ]
            }
        }
    },
    "initializationOptions": {
        "enable": true,
        "disableProgressNotifications": false,
        "terminal": {
            "startinsert": false
        },
        "debug": {
            "runtime": "termdebug",
            "vimspector": {
                "configuration": {
                    "name": "launch"
                }
            },
            "nvimdap": {
                "configuration": {
                    "template": ""
                }
            }
        },
        "server": {
            "path": null,
            "extraEnv": null
        },
        "restartServerOnConfigChange": false,
        "trace": {
            "server": "verbose"
        },
        "updates": {
            "prompt": true,
            "checkOnStartup": true,
            "channel": "stable"
        },
        "assist": {
            "emitMustUse": false,
            "expressionFillDefault": "todo",
            "termSearch": {
                "borrowcheck": true,
                "fuel": 1800
            }
        },
        "cachePriming": {
            "enable": true,
            "numThreads": "physical"
        },
        "cargo": {
            "allTargets": true,
            "autoreload": true,
            "buildScripts": {
                "enable": true,
                "invocationStrategy": "per_workspace",
                "overrideCommand": null,
                "rebuildOnSave": true,
                "useRustcWrapper": true
            },
            "cfgs": {
                "debug_assertions": null,
                "miri": null
            },
            "extraArgs": [],
            "extraEnv": {},
            "features": [],
            "noDefaultFeatures": false,
            "sysroot": "discover",
            "sysrootSrc": null,
            "target": null,
            "targetDir": null
        },
        "checkOnSave": true,
        "check": {
            "allTargets": null,
            "command": "check",
            "extraArgs": [],
            "extraEnv": {},
            "features": null,
            "ignore": [],
            "invocationStrategy": "per_workspace",
            "noDefaultFeatures": null,
            "overrideCommand": null,
            "targets": null,
            "workspace": true
        },
        "completion": {
            "autoimport": {
                "enable": true
            },
            "autoself": {
                "enable": true
            },
            "callable": {
                "snippets": "fill_arguments"
            },
            "fullFunctionSignatures": {
                "enable": false
            },
            "hideDeprecated": false,
            "limit": null,
            "postfix": {
                "enable": true
            },
            "privateEditable": {
                "enable": false
            },
            "snippets": {
                "custom": {
                    "Arc::new": {
                        "postfix": "arc",
                        "body": "Arc::new(${receiver})",
                        "requires": "std::sync::Arc",
                        "description": "Put the expression into an `Arc`",
                        "scope": "expr"
                    },
                    "Rc::new": {
                        "postfix": "rc",
                        "body": "Rc::new(${receiver})",
                        "requires": "std::rc::Rc",
                        "description": "Put the expression into an `Rc`",
                        "scope": "expr"
                    },
                    "Box::pin": {
                        "postfix": "pinbox",
                        "body": "Box::pin(${receiver})",
                        "requires": "std::boxed::Box",
                        "description": "Put the expression into a pinned `Box`",
                        "scope": "expr"
                    },
                    "Err": {
                        "postfix": "err",
                        "body": "Err(${receiver})",
                        "description": "Wrap the expression in a `Result::Err`",
                        "scope": "expr"
                    },
                    "Some": {
                        "postfix": "some",
                        "body": "Some(${receiver})",
                        "description": "Wrap the expression in an `Option::Some`",
                        "scope": "expr"
                    },
                    "Ok": {
                        "postfix": "ok",
                        "body": "Ok(${receiver})",
                        "description": "Wrap the expression in a `Result::Ok`",
                        "scope": "expr"
                    }
                }
            },
            "termSearch": {
                "enable": false,
                "fuel": 1000
            }
        },
        "diagnostics": {
            "disabled": [],
            "enable": true,
            "experimental": {
                "enable": false
            },
            "remapPrefix": {},
            "styleLints": {
                "enable": false
            },
            "warningsAsHint": [],
            "warningsAsInfo": []
        },
        "files": {
            "excludeDirs": [],
            "watcher": "client"
        },
        "highlightRelated": {
            "breakPoints": {
                "enable": true
            },
            "closureCaptures": {
                "enable": true
            },
            "exitPoints": {
                "enable": true
            },
            "references": {
                "enable": true
            },
            "yieldPoints": {
                "enable": true
            }
        },
        "hover": {
            "documentation": {
                "enable": true,
                "keywords": {
                    "enable": true
                }
            },
            "links": {
                "enable": true
            },
            "memoryLayout": {
                "alignment": "hexadecimal",
                "enable": true,
                "niches": false,
                "offset": "hexadecimal",
                "size": "both"
            },
            "show": {
                "enumVariants": 5,
                "fields": 5,
                "traitAssocItems": null
            }
        },
        "imports": {
            "granularity": {
                "enforce": false,
                "group": "crate"
            },
            "group": {
                "enable": true
            },
            "merge": {
                "glob": true
            },
            "preferNoStd": false,
            "preferPrelude": false,
            "prefix": "plain",
            "prefixExternPrelude": false
        },
        "inlayHints": {
            "bindingModeHints": {
                "enable": false
            },
            "chainingHints": {
                "enable": true
            },
            "closingBraceHints": {
                "enable": true,
                "minLines": 25
            },
            "closureCaptureHints": {
                "enable": false
            },
            "closureReturnTypeHints": {
                "enable": "never"
            },
            "closureStyle": "impl_fn",
            "discriminantHints": {
                "enable": "never"
            },
            "expressionAdjustmentHints": {
                "enable": "never",
                "hideOutsideUnsafe": false,
                "mode": "prefix"
            },
            "genericParameterHints": {
                "const": {
                    "enable": true
                },
                "lifetime": {
                    "enable": false
                },
                "type": {
                    "enable": false
                }
            },
            "implicitDrops": {
                "enable": false
            },
            "lifetimeElisionHints": {
                "enable": "never",
                "useParameterNames": false
            },
            "maxLength": 25,
            "parameterHints": {
                "enable": true
            },
            "rangeExclusiveHints": {
                "enable": false
            },
            "reborrowHints": {
                "enable": "never"
            },
            "renderColons": true,
            "typeHints": {
                "enable": true,
                "hideClosureInitialization": false,
                "hideNamedConstructor": false
            }
        },
        "interpret": {
            "tests": false
        },
        "joinLines": {
            "joinAssignments": true,
            "joinElseIf": true,
            "removeTrailingComma": true,
            "unwrapTrivialBlock": true
        },
        "lens": {
            "debug": {
                "enable": true
            },
            "enable": true,
            "implementations": {
                "enable": true
            },
            "location": "above_name",
            "references": {
                "adt": {
                    "enable": false
                },
                "enumVariant": {
                    "enable": false
                },
                "method": {
                    "enable": false
                },
                "trait": {
                    "enable": false
                }
            },
            "run": {
                "enable": true
            }
        },
        "linkedProjects": [],
        "lru": {
            "capacity": null,
            "query": {
                "capacities": {}
            }
        },
        "notifications": {
            "cargoTomlNotFound": true
        },
        "numThreads": null,
        "procMacro": {
            "attributes": {
                "enable": true
            },
            "enable": true,
            "ignored": {},
            "server": null
        },
        "references": {
            "excludeImports": false,
            "excludeTests": false
        },
        "runnables": {
            "command": null,
            "extraArgs": [],
            "extraTestBinaryArgs": [
                "--show-output"
            ]
        },
        "rustc": {
            "source": null
        },
        "rustfmt": {
            "extraArgs": [],
            "overrideCommand": null,
            "rangeFormatting": {
                "enable": false
            }
        },
        "semanticHighlighting": {
            "doc": {
                "comment": {
                    "inject": {
                        "enable": true
                    }
                }
            },
            "nonStandardTokens": true,
            "operator": {
                "enable": true,
                "specialization": {
                    "enable": false
                }
            },
            "punctuation": {
                "enable": false,
                "separate": {
                    "macro": {
                        "bang": false
                    }
                },
                "specialization": {
                    "enable": false
                }
            },
            "strings": {
                "enable": true
            }
        },
        "signatureInfo": {
            "detail": "full",
            "documentation": {
                "enable": true
            }
        },
        "typing": {
            "autoClosingAngleBrackets": {
                "enable": false
            }
        },
        "workspace": {
            "discoverConfig": null,
            "symbol": {
                "search": {
                    "kind": "only_types",
                    "limit": 128,
                    "scope": "workspace"
                }
            }
        }
    },
    "trace": "verbose",
    "workspaceFolders": [
        {
            "uri": "file:///home/devuser/projects/demo-rs",
            "name": "demo-rs"
        }
    ],
    "locale": "en",
    "clientInfo": {
        "name": "coc.nvim",
        "version": "0.0.82"
    },
    "workDoneToken": "cf07e817-9652-4335-a593-ec050326e545"
}


[Trace - 2:37:22 PM] Received response 'initialize - (0)' in 5ms.
Result: {
    "capabilities": {
        "positionEncoding": "utf-16",
        "textDocumentSync": {
            "openClose": true,
            "change": 2,
            "save": {}
        },
        "selectionRangeProvider": true,
        "hoverProvider": true,
        "completionProvider": {
            "resolveProvider": true,
            "triggerCharacters": [
                ":",
                ".",
                "'",
                "("
            ],
            "completionItem": {
                "labelDetailsSupport": true
            }
        },
        "signatureHelpProvider": {
            "triggerCharacters": [
                "(",
                ",",
                "<"
            ]
        },
        "definitionProvider": true,
        "typeDefinitionProvider": true,
        "implementationProvider": true,
        "referencesProvider": true,
        "documentHighlightProvider": true,
        "documentSymbolProvider": true,
        "workspaceSymbolProvider": true,
        "codeActionProvider": {
            "codeActionKinds": [
                "",
                "quickfix",
                "refactor",
                "refactor.extract",
                "refactor.inline",
                "refactor.rewrite"
            ],
            "resolveProvider": true
        },
        "codeLensProvider": {
            "resolveProvider": true
        },
        "documentFormattingProvider": true,
        "documentRangeFormattingProvider": false,
        "documentOnTypeFormattingProvider": {
            "firstTriggerCharacter": "=",
            "moreTriggerCharacter": [
                ".",
                ">",
                "{",
                "(",
                "<"
            ]
        },
        "renameProvider": {
            "prepareProvider": true
        },
        "foldingRangeProvider": true,
        "declarationProvider": true,
        "workspace": {
            "workspaceFolders": {
                "supported": true,
                "changeNotifications": true
            },
            "fileOperations": {
                "willRename": {
                    "filters": [
                        {
                            "scheme": "file",
                            "pattern": {
                                "glob": "**/*.rs",
                                "matches": "file"
                            }
                        },
                        {
                            "scheme": "file",
                            "pattern": {
                                "glob": "**",
                                "matches": "folder"
                            }
                        }
                    ]
                }
            }
        },
        "callHierarchyProvider": true,
        "semanticTokensProvider": {
            "legend": {
                "tokenTypes": [
                    "comment",
                    "decorator",
                    "enumMember",
                    "enum",
                    "function",
                    "interface",
                    "keyword",
                    "macro",
                    "method",
                    "namespace",
                    "number",
                    "operator",
                    "parameter",
                    "property",
                    "string",
                    "struct",
                    "typeParameter",
                    "variable",
                    "angle",
                    "arithmetic",
                    "attributeBracket",
                    "attribute",
                    "bitwise",
                    "boolean",
                    "brace",
                    "bracket",
                    "builtinAttribute",
                    "builtinType",
                    "character",
                    "colon",
                    "comma",
                    "comparison",
                    "constParameter",
                    "const",
                    "deriveHelper",
                    "derive",
                    "dot",
                    "escapeSequence",
                    "formatSpecifier",
                    "generic",
                    "invalidEscapeSequence",
                    "label",
                    "lifetime",
                    "logical",
                    "macroBang",
                    "parenthesis",
                    "procMacro",
                    "punctuation",
                    "selfKeyword",
                    "selfTypeKeyword",
                    "semicolon",
                    "static",
                    "toolModule",
                    "typeAlias",
                    "union",
                    "unresolvedReference"
                ],
                "tokenModifiers": [
                    "async",
                    "documentation",
                    "declaration",
                    "static",
                    "defaultLibrary",
                    "associated",
                    "attribute",
                    "callable",
                    "constant",
                    "consuming",
                    "controlFlow",
                    "crateRoot",
                    "injected",
                    "intraDocLink",
                    "library",
                    "macro",
                    "mutable",
                    "procMacro",
                    "public",
                    "reference",
                    "trait",
                    "unsafe"
                ]
            },
            "range": true,
            "full": {
                "delta": true
            }
        },
        "inlayHintProvider": {
            "resolveProvider": true
        },
        "diagnosticProvider": {
            "interFileDependencies": true,
            "workspaceDiagnostics": false
        },
        "experimental": {
            "externalDocs": true,
            "hoverRange": true,
            "joinLines": true,
            "matchingBrace": true,
            "moveItem": true,
            "onEnter": true,
            "openCargoToml": true,
            "parentModule": true,
            "runnables": {
                "kinds": [
                    "cargo"
                ]
            },
            "ssr": true,
            "workspaceSymbolScopeKindFiltering": true
        }
    },
    "serverInfo": {
        "name": "rust-analyzer",
        "version": "0.3.2172-standalone"
    }
}


[Trace - 2:37:22 PM] Sending notification 'initialized'.
Params: {}


[Trace - 2:37:22 PM] Sending notification 'textDocument/didOpen'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
        "languageId": "rust",
        "version": 1,
        "text": "use std::env;\n\nfn main() {\n    println!(\"Hello, world!\");\n}\n"
    }
}


[Trace - 2:37:22 PM] Sending request 'textDocument/diagnostic - (1)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    }
}


[Trace - 2:37:22 PM] Received notification 'experimental/serverStatus'.
Params: {
    "health": "ok",
    "quiescent": false,
    "message": null
}


[Trace - 2:37:22 PM] Received request 'client/registerCapability - (0)'.
Params: {
    "registrations": [
        {
            "id": "textDocument/didSave",
            "method": "textDocument/didSave",
            "registerOptions": {
                "includeText": false,
                "documentSelector": [
                    {
                        "pattern": "**/*.rs"
                    },
                    {
                        "pattern": "**/Cargo.toml"
                    },
                    {
                        "pattern": "**/Cargo.lock"
                    }
                ]
            }
        }
    ]
}


[Trace - 2:37:22 PM] Sending response 'client/registerCapability - (0)'. Processing request took 0ms
No result returned.


[Trace - 2:37:22 PM] Received request 'window/workDoneProgress/create - (1)'.
Params: {
    "token": "rustAnalyzer/Fetching"
}


[Trace - 2:37:22 PM] Sending response 'window/workDoneProgress/create - (1)'. Processing request took 0ms
No result returned.


[Trace - 2:37:22 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "begin",
        "title": "Fetching",
        "cancellable": false
    }
}


[Trace - 2:37:22 PM] Received response 'textDocument/diagnostic - (1)' in 2ms.
Result: {
    "kind": "full",
    "items": []
}


[Trace - 2:37:22 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "metadata"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'client/registerCapability - (2)'.
Params: {
    "registrations": [
        {
            "id": "workspace/didChangeWatchedFiles",
            "method": "workspace/didChangeWatchedFiles",
            "registerOptions": {
                "watchers": [
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/*.rs"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/Cargo.{lock,toml}"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/rust-analyzer.toml"
                        }
                    },
                    {
                        "globPattern": "/home/devuser/.config/rust-analyzer/rust-analyzer.toml"
                    },
                    {
                        "globPattern": "/home/devuser/projects/demo-rs/Cargo.toml"
                    }
                ]
            }
        }
    ]
}


[Trace - 2:37:23 PM] Sending response 'client/registerCapability - (2)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (3)'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (3)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "begin",
        "title": "Building CrateGraph",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (4)'.
Params: {
    "token": "rustAnalyzer/Roots Scanned"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (4)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "begin",
        "title": "Roots Scanned",
        "cancellable": false,
        "message": "0/3",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (5)'.
Params: {
    "token": "rustAnalyzer/Fetching"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (5)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "begin",
        "title": "Fetching",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: src",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/backtrace",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-std",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/sysroot",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/portable-simd",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rtstartup",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/profiler_builtins",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "3/3",
        "percentage": 100
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "end",
        "message": "3/3"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "metadata"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'workspace/semanticTokens/refresh - (6)'.
[Trace - 2:37:23 PM] Sending response 'workspace/semanticTokens/refresh - (6)'. Processing request took 1ms
No result returned.


[Trace - 2:37:23 PM] Received request 'workspace/codeLens/refresh - (7)'.
[Trace - 2:37:23 PM] Sending response 'workspace/codeLens/refresh - (7)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received request 'workspace/inlayHint/refresh - (8)'.
[Trace - 2:37:23 PM] Sending response 'workspace/inlayHint/refresh - (8)'. Processing request took 1ms
No result returned.


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (9)'.
Params: {
    "token": "rustAnalyzer/Fetching"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (9)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "begin",
        "title": "Fetching",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (10)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (10)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/1 (demo_rs)",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 100
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (11)'.
Params: {
    "token": "rust-analyzer/flycheck/0"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (11)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "begin",
        "title": "cargo check",
        "cancellable": true
    }
}


[Trace - 2:37:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 4
                },
                "end": {
                    "line": 0,
                    "character": 12
                }
            },
            "severity": 2,
            "code": "unused_imports",
            "source": "rustc",
            "message": "unused import: `std::env`\n`#[warn(unused_imports)]` on by default",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 1,
                                "character": 0
                            }
                        }
                    },
                    "message": "remove the whole `use` item"
                }
            ],
            "tags": [
                1
            ],
            "data": {
                "rendered": "warning: unused import: `std::env`\n --> src/main.rs:1:5\n  |\n1 | use std::env;\n  |     ^^^^^^^^\n  |\n  = note: `#[warn(unused_imports)]` on by default\n\n"
            }
        },
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 1,
                    "character": 0
                }
            },
            "severity": 4,
            "code": "unused_imports",
            "source": "rustc",
            "message": "remove the whole `use` item",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 4
                            },
                            "end": {
                                "line": 0,
                                "character": 12
                            }
                        }
                    },
                    "message": "original diagnostic"
                }
            ]
        }
    ],
    "version": 1
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "metadata"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Fetching",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (12)'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (12)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "begin",
        "title": "Building CrateGraph",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'workspace/semanticTokens/refresh - (13)'.
[Trace - 2:37:23 PM] Sending response 'workspace/semanticTokens/refresh - (13)'. Processing request took 1ms
No result returned.


[Trace - 2:37:23 PM] Received request 'workspace/codeLens/refresh - (14)'.
[Trace - 2:37:23 PM] Sending response 'workspace/codeLens/refresh - (14)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received request 'workspace/inlayHint/refresh - (15)'.
[Trace - 2:37:23 PM] Sending response 'workspace/inlayHint/refresh - (15)'. Processing request took 1ms
No result returned.


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (16)'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (16)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "begin",
        "title": "Building build-artifacts",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (17)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (17)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (18)'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (18)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "begin",
        "title": "Loading proc-macros",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (19)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (19)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/12 (core + 6 more)",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/12 (core + 7 more)",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/12 (core + 6 more)",
        "percentage": 8
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "3/12 (core + 4 more)",
        "percentage": 25
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "4/12 (core + 3 more)",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "5/12 (core + 2 more)",
        "percentage": 41
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "6/12 (core + 1 more)",
        "percentage": 50
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "7/12 (core)",
        "percentage": 58
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (20)'.
Params: {
    "token": "rust-analyzer/flycheck/0"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (20)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "begin",
        "title": "cargo check",
        "cancellable": true
    }
}


[Trace - 2:37:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 4
                },
                "end": {
                    "line": 0,
                    "character": 12
                }
            },
            "severity": 2,
            "code": "unused_imports",
            "source": "rustc",
            "message": "unused import: `std::env`\n`#[warn(unused_imports)]` on by default",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 1,
                                "character": 0
                            }
                        }
                    },
                    "message": "remove the whole `use` item"
                }
            ],
            "tags": [
                1
            ],
            "data": {
                "rendered": "warning: unused import: `std::env`\n --> src/main.rs:1:5\n  |\n1 | use std::env;\n  |     ^^^^^^^^\n  |\n  = note: `#[warn(unused_imports)]` on by default\n\n"
            }
        },
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 1,
                    "character": 0
                }
            },
            "severity": 4,
            "code": "unused_imports",
            "source": "rustc",
            "message": "remove the whole `use` item",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 4
                            },
                            "end": {
                                "line": 0,
                                "character": 12
                            }
                        }
                    },
                    "message": "original diagnostic"
                }
            ]
        }
    ],
    "version": 1
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "building proc-macros: demo-rs"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "demo-rs"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "building proc-macros: demo-rs"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building build-artifacts",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'client/registerCapability - (21)'.
Params: {
    "registrations": [
        {
            "id": "workspace/didChangeWatchedFiles",
            "method": "workspace/didChangeWatchedFiles",
            "registerOptions": {
                "watchers": [
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/*.rs"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/Cargo.{lock,toml}"
                        }
                    },
                    {
                        "globPattern": {
                            "baseUri": "file:///home/devuser/projects/demo-rs",
                            "pattern": "**/rust-analyzer.toml"
                        }
                    },
                    {
                        "globPattern": "/home/devuser/.config/rust-analyzer/rust-analyzer.toml"
                    },
                    {
                        "globPattern": "/home/devuser/projects/demo-rs/Cargo.toml"
                    }
                ]
            }
        }
    ]
}


[Trace - 2:37:23 PM] Sending response 'client/registerCapability - (21)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (22)'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (22)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "begin",
        "title": "Building CrateGraph",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Building CrateGraph",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (23)'.
Params: {
    "token": "rustAnalyzer/Roots Scanned"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (23)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "begin",
        "title": "Roots Scanned",
        "cancellable": false,
        "message": "0/3",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: ",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-alloc",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/3: src",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/backtrace",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-std",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/stdarch",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (24)'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (24)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "begin",
        "title": "Loading proc-macros",
        "cancellable": false
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Loading proc-macros",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (25)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (25)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "0/12 (core + 3 more)",
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (26)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (26)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/12 (core + 4 more)",
        "percentage": 8
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "1/12 (core + 6 more)",
        "percentage": 8
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/12 (core + 5 more)",
        "percentage": 16
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "4/12 (core + 3 more)",
        "percentage": 33
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "5/12 (core + 2 more)",
        "percentage": 41
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "6/12 (core + 1 more)",
        "percentage": 50
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "7/12 (core)",
        "percentage": 58
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/sysroot",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/portable-simd",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/unwind",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rtstartup",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_abort",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/proc_macro",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/test",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/profiler_builtins",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/panic_unwind",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "2/3: /home/devuser/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc",
        "percentage": 66
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "3/3",
        "percentage": 100
    }
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Roots Scanned",
    "value": {
        "kind": "end",
        "message": "3/3"
    }
}


[Trace - 2:37:23 PM] Received request 'workspace/semanticTokens/refresh - (27)'.
[Trace - 2:37:23 PM] Sending response 'workspace/semanticTokens/refresh - (27)'. Processing request took 1ms
No result returned.


[Trace - 2:37:23 PM] Received request 'workspace/codeLens/refresh - (28)'.
[Trace - 2:37:23 PM] Sending response 'workspace/codeLens/refresh - (28)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received request 'workspace/inlayHint/refresh - (29)'.
[Trace - 2:37:23 PM] Sending response 'workspace/inlayHint/refresh - (29)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received request 'window/workDoneProgress/create - (30)'.
Params: {
    "token": "rust-analyzer/flycheck/0"
}


[Trace - 2:37:23 PM] Sending response 'window/workDoneProgress/create - (30)'. Processing request took 0ms
No result returned.


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "begin",
        "title": "cargo check",
        "cancellable": true
    }
}


[Trace - 2:37:23 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 4
                },
                "end": {
                    "line": 0,
                    "character": 12
                }
            },
            "severity": 2,
            "code": "unused_imports",
            "source": "rustc",
            "message": "unused import: `std::env`\n`#[warn(unused_imports)]` on by default",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 0
                            },
                            "end": {
                                "line": 1,
                                "character": 0
                            }
                        }
                    },
                    "message": "remove the whole `use` item"
                }
            ],
            "tags": [
                1
            ],
            "data": {
                "rendered": "warning: unused import: `std::env`\n --> src/main.rs:1:5\n  |\n1 | use std::env;\n  |     ^^^^^^^^\n  |\n  = note: `#[warn(unused_imports)]` on by default\n\n"
            }
        },
        {
            "range": {
                "start": {
                    "line": 0,
                    "character": 0
                },
                "end": {
                    "line": 1,
                    "character": 0
                }
            },
            "severity": 4,
            "code": "unused_imports",
            "source": "rustc",
            "message": "remove the whole `use` item",
            "relatedInformation": [
                {
                    "location": {
                        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs",
                        "range": {
                            "start": {
                                "line": 0,
                                "character": 4
                            },
                            "end": {
                                "line": 0,
                                "character": 12
                            }
                        }
                    },
                    "message": "original diagnostic"
                }
            ]
        }
    ],
    "version": 1
}


[Trace - 2:37:23 PM] Received notification '$/progress'.
Params: {
    "token": "rust-analyzer/flycheck/0",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:23 PM] Sending request 'textDocument/inlayHint - (2)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    },
    "range": {
        "start": {
            "line": 0,
            "character": 0
        },
        "end": {
            "line": 5,
            "character": 0
        }
    }
}


[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "8/12 (alloc)",
        "percentage": 66
    }
}


[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "9/12 (std)",
        "percentage": 75
    }
}


[Trace - 2:37:24 PM] Received response 'textDocument/inlayHint - (2)' in 1338ms.
Result: []


[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 83
    }
}


[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "10/12 (proc_macro)",
        "percentage": 83
    }
}


[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 91
    }
}


[Trace - 2:37:24 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "message": "11/12 (demo_rs)",
        "percentage": 91
    }
}


[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 100
    }
}


[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:25 PM] Received request 'window/workDoneProgress/create - (31)'.
Params: {
    "token": "rustAnalyzer/Indexing"
}


[Trace - 2:37:25 PM] Sending response 'window/workDoneProgress/create - (31)'. Processing request took 0ms
No result returned.


[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "begin",
        "title": "Indexing",
        "cancellable": false,
        "percentage": 0
    }
}


[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 75
    }
}


[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "report",
        "cancellable": false,
        "percentage": 100
    }
}


[Trace - 2:37:25 PM] Received notification '$/progress'.
Params: {
    "token": "rustAnalyzer/Indexing",
    "value": {
        "kind": "end"
    }
}


[Trace - 2:37:25 PM] Received notification 'experimental/serverStatus'.
Params: {
    "health": "ok",
    "quiescent": true,
    "message": null
}


[Trace - 2:37:35 PM] Sending request 'textDocument/diagnostic - (3)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    }
}


[Trace - 2:37:35 PM] Received response 'textDocument/diagnostic - (3)' in 96ms.
Result: {
    "kind": "full",
    "items": []
}


[Trace - 2:38:05 PM] Sending request 'textDocument/diagnostic - (4)'.
Params: {
    "textDocument": {
        "uri": "file:///home/devuser/projects/demo-rs/src/main.rs"
    }
}


[Trace - 2:38:05 PM] Received response 'textDocument/diagnostic - (4)' in 2ms.
Result: {
    "kind": "full",
    "items": []
}

@fannheyward
Copy link
Owner

fannheyward commented Dec 4, 2024

  1. after you open any rust file, coc.nvim runs the language server
  2. language server publishDiagnostics, the push mode, as you seen in the logs
  3. client received the diagnostics, you open them in CocDiagnostics
  4. after you move to another file and back to the same file, coc.nvim requests textDocument/diagnostic, the pull mode, but the server now returns empty response, as you seen in the last two logs
  5. coc.nvim cleans the diagnostics set, that's why the list is empty now

Two issues:

  1. why rust-analyzer can return diagnostics on publishDiagnostics, but empty result at pullDiagnostic
  2. VSCode+rust-analyzer also returns empty results, but VSCode didn't refresh the PROBLEMS view, have no idea about this

coc.nvim runs the same logic as vscode-languageserver-node:

@awused
Copy link

awused commented Dec 12, 2024

Yeah I've been running into this for a while. I assumed it would get fixed pretty quickly because the breakage is so obvious and visible, but it has been broken for well over a month now.

@fannheyward
Copy link
Owner

fannheyward commented Dec 18, 2024

rust-lang/rust-analyzer#18709

@kbwo @awused FYI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants