Skip to content

rust-analyzer not running with rustlings #14214

@alex-schulster

Description

@alex-schulster

I installed Rust using rustup and then installed the rust-analyzer extension on VSCode. It seems to start up as intended as the status bar indicated that the server is Ready. However, no functions normally provided by rust-analyzer are available (code complement, doc on hover, go to definition, syntax highlighting...) My project is a clone of rustlings.

rust-analyzer version: 0.3.1418-standalone (4e29820 2023-02-26)

rustc version: 1.67.1 (d5a82bbd2 2023-02-07)

Rust Analyzer Client Output:

INFO [27/02/2023, 11:50:16]: Extension version: 0.3.1418
INFO [27/02/2023, 11:50:16]: Using configuration {
  cargoRunner: null,
  runnableEnv: null,
  server: { path: null, extraEnv: null },
  trace: { server: 'off', extension: false },
  debug: {
    engine: 'auto',
    sourceFileMap: {
      '/rustc/<id>': '${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust'
    },
    openDebugPane: false,
    engineSettings: {}
  },
  restartServerOnConfigChange: false,
  typing: {
    continueCommentsOnNewline: true,
    autoClosingAngleBrackets: { enable: false }
  },
  diagnostics: {
    previewRustcOutput: false,
    useRustcErrorCode: false,
    disabled: [],
    enable: true,
    experimental: { enable: false },
    remapPrefix: {},
    warningsAsHint: [],
    warningsAsInfo: []
  },
  assist: { emitMustUse: false, expressionFillDefault: 'todo' },
  cachePriming: { enable: true, numThreads: 0 },
  cargo: {
    autoreload: true,
    buildScripts: {
      enable: true,
      invocationLocation: 'workspace',
      invocationStrategy: 'per_workspace',
      overrideCommand: null,
      useRustcWrapper: true
    },
    extraEnv: {},
    features: [],
    noDefaultFeatures: false,
    sysroot: 'discover',
    sysrootSrc: null,
    target: null,
    unsetTest: [ 'core' ]
  },
  checkOnSave: true,
  check: {
    allTargets: true,
    command: 'check',
    extraArgs: [],
    extraEnv: {},
    features: null,
    invocationLocation: 'workspace',
    invocationStrategy: 'per_workspace',
    noDefaultFeatures: null,
    overrideCommand: null,
    targets: null
  },
  completion: {
    autoimport: { enable: true },
    autoself: { enable: true },
    callable: { snippets: 'fill_arguments' },
    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'
        },
        Ok: {
          postfix: 'ok',
          body: 'Ok(${receiver})',
          description: 'Wrap the expression in a `Result::Ok`',
          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'
        }
      }
    }
  },
  files: { excludeDirs: [], watcher: 'client' },
  highlightRelated: {
    breakPoints: { enable: true },
    exitPoints: { enable: true },
    references: { enable: true },
    yieldPoints: { enable: true }
  },
  hover: {
    actions: {
      debug: { enable: true },
      enable: true,
      gotoTypeDef: { enable: true },
      implementations: { enable: true },
      references: { enable: false },
      run: { enable: true }
    },
    documentation: { enable: true, keywords: { enable: true } },
    links: { enable: true }
  },
  imports: {
    granularity: { enforce: false, group: 'crate' },
    group: { enable: true },
    merge: { glob: true },
    prefer: { no: { std: false } },
    prefix: 'plain'
  },
  inlayHints: {
    bindingModeHints: { enable: false },
    chainingHints: { enable: true },
    closingBraceHints: { enable: true, minLines: 25 },
    closureReturnTypeHints: { enable: 'never' },
    discriminantHints: { enable: 'never' },
    expressionAdjustmentHints: { enable: 'never', hideOutsideUnsafe: false, mode: 'prefix' },
    lifetimeElisionHints: { enable: 'never', useParameterNames: false },
    maxLength: 25,
    parameterHints: { enable: true },
    reborrowHints: { enable: 'never' },
    renderColons: true,
    typeHints: {
      enable: true,
      hideClosureInitialization: false,
      hideNamedConstructor: false
    }
  },
  joinLines: {
    joinAssignments: true,
    joinElseIf: true,
    removeTrailingComma: true,
    unwrapTrivialBlock: true
  },
  lens: {
    debug: { enable: true },
    enable: true,
    forceCustomCommands: 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 },
  notifications: { cargoTomlNotFound: true },
  numThreads: null,
  procMacro: {
    attributes: { enable: true },
    enable: true,
    ignored: {},
    server: null
  },
  references: { excludeImports: false },
  runnables: { command: null, extraArgs: [] },
  rustc: { source: null },
  rustfmt: {
    extraArgs: [],
    overrideCommand: null,
    rangeFormatting: { enable: false }
  },
  semanticHighlighting: {
    doc: { comment: { inject: { enable: 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 } },
  workspace: {
    symbol: { search: { kind: 'only_types', limit: 128, scope: 'workspace' } }
  }
}

Rust Analyzer Language Server ouput: nothing...

rust-analyzer: Status ouput:

Workspaces:
Loaded 61 packages across 1 workspace.

Analysis:
32mb of files
0b of index symbols (0)
899 trees, 128 preserved
11616 trees, 128 preserved (Macros)
0b in total

File info:
Does not belong to any crate

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions