Changelog #28

Commit: d696776
Release: 2020-06-08

New Features

  • #4711 don’t pass --all-features by default, use Cargo’s default features instead.

  • #4720 highlight unsafe operations inside unsafe blocks. In VS Code, you can use editor.semanticTokenColorCustomizations to customize the actual coloring

    1
    2
    3
    4
    5
    6
    7
    8
    
    "editor.semanticTokenColorCustomizations": {
        "[Theme Name]": {
            "rules": {
                "operator.unsafe": "#f00",
                "function.unsafe": "#f00"
            },
        }
    }
    
    84034187 48d1fb00 a99a 11ea 960b e6b3f73e7db1
  • #4382 allow specifying key-value cfg options in JsonProject.

  • #4726 allow to override build-in project discovery with explicit list of `Cargo.toml`s to import:

    1
    
    { "rust-analyzer.linkedProjects": ["/home/projects/rust-analyzer/Cargo.toml"] }
    
  • #4730 document rust-project.json file format, which can be used with non-Cargo based build systems. Docs: #non-cargo-based-projects.

  • #4660 enable hover and autocomplete docs on macro generated items.

  • #4748 implement hover actions, as an alternative UI for code lenses.

    84036613 b6cbf180 a99d 11ea 81e3 f3ecd9142937
  • #4689 implement return position impl trait.

Fixes

  • #4750 fix Introduce Named Lifetime assist to work in more cases.

    84036167 22fa2580 a99d 11ea 8fec 493520297c3d
  • #4580 invoke correct cargo for run action in VS Code.

  • #4658 fix lexing of format strings.

  • #4721 use correct modifier for unused code.

  • #4502 mark fixes from diagnostics as quick fixes.

  • #4737 parse default unsafe & default const.

  • #4765 fix type parameter defaults.

Internal Improvements

  • #4761 use Chalk from crates.io.

  • #4748 build specialized index to improve auto-import performance.

  • #4717 compute assists text edits lazily.

  • #4703 document review process and contribution guidelines.

  • #4772 document certain high-level internal architecture invariants.

  • #4688 document initilizationOptions used by rust-analyzer.

  • #4710 make LSP extension for running tests & binaries less rust-specific.

  • #4723 derive local roots from workspace configuration.

  • #4724 rename WorldState → GlobalState.

  • #4758 actually test include!(concant!(env!())) pattern.

  • #4760 preliminary refactorings in preparation for new VFS.