Skip to content

docs: PR #239 documentation inaccuracies — base-db README line semantics, layering claim, CHANGELOG counts, vfs API table #257

Description

@0xGeorgii

Follow-up from the comprehensive review of PR #239 (LSP server). Line numbers reference the PR branch at review time.

Severity: major (1), minor (2-3), nit (4-5) — documentation that contradicts the code it documents.

  1. ide/base-db/README.md:58 describes LineIndex line-splitting semantics that are the OPPOSITE of the implementation: it claims a lone \r is not a line terminator and stays in the preceding line's content, but the code (correctly) implements the LSP 3.17 EOL set — for "a\rb" the README predicts one line, the code returns two (line_col(2) == LineCol{line:1, character:0}). The Testing section (line 103) compounds it by claiming a test covers "\r staying inside its line's content" when the test asserts the opposite (line_index.rs:254-260). Anyone building on LineIndex from the README computes wrong expectations for classic-Mac/mixed-EOL files.
  2. apps/lsp/README.md:32 layering claim is false: "Only ide-db depends on the compiler crates; apps/lsp and ide/ide never name a compiler type" — but inference-ide's Cargo.toml depends on inference-ast and inference-type-checker, and goto_definition/completions/diagnostics/document_symbols/inlay_hints/syntax/type_render all import compiler types extensively. A contributor planning a compiler-internal change would mis-scope the blast radius.
  3. CHANGELOG.md:798 claims the LSP e2e suite covers "18 scenarios"; the suite in the same PR has 27 test functions, which apps/lsp/README.md:226 itself groups as twenty-one scenarios. Stale count.
  4. CHANGELOG.md:813 "never `[FAIL]`" is overstated for the doctor inference-lsp check: absence of the server is never a failure, but the check does return error status (rendered [FAIL]) on platform-detection/toolchain-path/default-version read failures.
  5. ide/vfs/README.md:89 API table documents set_contents(FileId, impl Into<Arc<str>>) but the signature takes Arc<str> directly (the Into sugar lives one layer up).

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationlspLanguage Server Protocol

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions