Rustup VS rust-analyzer

Compare Rustup vs rust-analyzer and see what are their differences.

rust-analyzer

A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer] (by rust-analyzer)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Rustup rust-analyzer
58 207
5,881 9,320
1.9% -
9.6 10.0
1 day ago about 2 years ago
Rust Rust
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Rustup

Posts with mentions or reviews of Rustup. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-28.
  • Problem with rust-analyzer in helix
    1 project | /r/HelixEditor | 5 Jun 2023
    I got it to finally work by following this
  • Do you use relative toolchain paths with rustup? Let us know!
    5 projects | /r/rust | 28 May 2023
    If you are someone actively using such relative-path toolchains, please contact us (Discord / Github issues).
  • Canonical hiring Rust toolchain dev
    1 project | /r/rust | 27 Apr 2023
    We had a snap package; we removed it in mid 2022
  • Announcing Rustup 1.26.0 | Rust Blog
    2 projects | /r/rust | 25 Apr 2023
    I don't know. The PR references prior discussion without a link, so it may have been private.
  • Foundation - Open Membership
    2 projects | /r/rust | 13 Apr 2023
  • Telemetry really goes into Go toolchain, no matter what
    2 projects | /r/golang | 1 Apr 2023
    As long as he doesn't put hidden folders in your root like rust. https://github.com/rust-lang/rustup/issues/341
  • telemetry in the go toolchain? just say no...
    1 project | /r/golang | 13 Feb 2023
    I think you're being upvoted by folks who don't know better, which is a shame because you're making things up :/. The telemetry feature in rustup kept everything local and never "pinged home". And you had to enable it with a command `rustup telemetry enable`. And it just logged JSON files at the path you mentioned. By 2019, the feature was disabled (see: https://github.com/rust-lang/rustup/issues/341 ) because no one worked on it and it just gathered bugs.
  • Go claims telemetry objectors arguing in bad faith and violating Code of Conduct
    7 projects | news.ycombinator.com | 13 Feb 2023
    FWIW, there is a proposal to add telemetry to LLVM [0] and Rust used to have telemetry [1], both off by default. Some things in the node.js world have telemetry enabled by default, like Next.js [3].

    Some people are posting here as if this as already decided -- AFIACT, that's not the case. It's not even a formal proposal yet, and the stated intent was to start a conversation around something concrete. (For context, this is standard for how I've seen the Go project approaches large topics, including for example I think there were something like ~8 very detailed generics design drafts from the core Go team over ~10 years).

    It sounds like the Go team is going to take some time to look into some of the alternative approaches suggested in the feedback collected so far.

    In any event, this is obviously a topic people are very passionate about, especially opt-in vs. opt-out, but I guess I would suggest not giving up hope quite yet.

    [0] https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/6458...

    [1] https://github.com/rust-lang/rustup/issues/341

    [2] https://nextjs.org/telemetry

  • Google's Go may add telemetry reporting that's on by default
    3 projects | /r/programming | 10 Feb 2023
    Rust (Specifically Rust Up) seems to have planned to include telemetry but they paused and cancelled the decision, possibly after implementing it initially.
  • Who "owns" Rust ?
    6 projects | /r/rust | 10 Feb 2023
    https://github.com/rust-lang/rustup/issues/341 and rust installation uses telemetry

rust-analyzer

Posts with mentions or reviews of rust-analyzer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-17.
  • rust-analyzer changelog #177
    1 project | /r/rust | 17 Apr 2023
    #14561 map tokens from include! expansion to the included file
  • Make LSP-Rust-analyzer works
    1 project | /r/neovim | 2 Mar 2023
    return { tools = { -- autoSetHints = false, on_initialized = function() vim.api.nvim_create_autocmd({ "BufWritePost", "BufEnter", "CursorHold", "InsertLeave" }, { pattern = { "*.rs" }, callback = function() vim.lsp.codelens.refresh() end, }) end, auto = false, inlay_hints = { -- Only show inlay hints for the current line only_current_line = false, auto = false, -- Event which triggers a refersh of the inlay hints. -- You can make this "CursorMoved" or "CursorMoved,CursorMovedI" but -- not that this may cause higher CPU usage. -- This option is only respected when only_current_line and -- autoSetHints both are true. only_current_line_autocmd = "CursorHold", -- whether to show parameter hints with the inlay hints or not -- default: true show_parameter_hints = false, -- whether to show variable name before type hints with the inlay hints or not -- default: false show_variable_name = false, -- prefix for parameter hints -- default: "<-" -- parameter_hints_prefix = "<- ", parameter_hints_prefix = " ", -- prefix for all the other hints (type, chaining) -- default: "=>" -- other_hints_prefix = "=> ", other_hints_prefix = " ", -- whether to align to the lenght of the longest line in the file max_len_align = false, -- padding from the left if max_len_align is true max_len_align_padding = 1, -- whether to align to the extreme right or not right_align = false, -- padding from the right if right_align is true right_align_padding = 7, -- The color of the hints highlight = "Comment", }, hover_actions = { auto_focus = false, border = "rounded", width = 60, -- height = 30, }, }, server = { --[[ $ mkdir -p ~/.local/bin $ curl -L https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-x86_64-unknown-linux-gnu.gz | gunzip -c - > ~/.local/bin/rust-analyzer $ chmod +x ~/.local/bin/rust-analyzer --]] -- cmd = { os.getenv "HOME" .. "/.local/bin/rust-analyzer" }, cmd = { os.getenv "HOME" .. "~/.cargo/bin/rust-analyzer" }, on_attach = require("user.lsp.handlers").on_attach, capabilities = require("user.lsp.handlers").capabilities, settings = { ["rust-analyzer"] = { lens = { enable = true, }, checkOnSave = { command = "clippy", }, }, }, }, }
  • rust-analyzer changelog #164
    3 projects | /r/rust | 17 Jan 2023
    I would like changes like https://github.com/rust-analyzer/rust-analyzer/pull/13799 to be listed in 'Breaking Changes' category, to приманка draw the users' attention.
  • Mun v0.4.0 released
    4 projects | /r/rust_gamedev | 13 Dec 2022
    For those of you who haven’t heard of Mun before, Mun is an embeddable programming language empowering creation through iteration. The idea to create Mun originated out of frustration with the Lua dynamic scripting language and a desire to have similar hot reloading functionality available in Rust. As such, it’s not a direct competitor with Rust, but instead is intended to be used with Rust (or C/C++) as a host/embedded language pairing. Actually, Mun is completely written in Rust, building on similar crates as rust-analyzer and rustc. Its key features include:
  • rust-analyzer changelog #159
    2 projects | /r/rust | 12 Dec 2022
    #13728 upgrade chalk to make solver fuel work again (works around most trait solving hangs).
  • rust-analyzer changelog #147
    1 project | /r/rust | 19 Sep 2022
    #13221 (first contribution) add option to move lenses above doc comments (rust-analyzer.lens.location):
  • Does Rust need proc-macros 2.0?
    2 projects | /r/rust | 27 Jul 2022
    Rust-analyzer has a good overview: https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/syntax.md
  • rust-analyzer changelog #134
    7 projects | /r/rust | 20 Jun 2022
    #12517 (first contribution) fix completion for methods in trait generated by macro.
  • LSP Rust Analyzer keeps telling me `Error NO_RESULT_CALLBACK_FOUND`
    3 projects | /r/neovim | 12 Jun 2022
    -- all the opts to send to nvim-lspconfig -- these override the defaults set by rust-tools.nvim -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer server = { -- on_attach is a callback called when the language server attachs to the buffer -- on_attach = on_attach, settings = { -- to enable rust-analyzer settings visit: -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc ["rust-analyzer"] = { -- enable clippy on save checkOnSave = { command = "clippy" }, assist = { importGranularity = "module", importPrefix = "self", }, cargo = { loadOutDirsFromCheck = true }, procMacro = { enable = true }, } } },
  • rust-analyzer changelog #130
    2 projects | /r/rust | 23 May 2022
    #12349 publish universal VSIX to make Code happy.

What are some alternatives?

When comparing Rustup and rust-analyzer you can also consider the following projects:

rust - Empowering everyone to build reliable and efficient software.

vscode-rust - Rust extension for Visual Studio Code

rust-mode - Emacs configuration for Rust

Clippy - A bunch of lints to catch common mistakes and improve your Rust code. Book: https://doc.rust-lang.org/clippy/

rust-on-raspberry-pi

intellij-rust - Rust plugin for the IntelliJ Platform

Rust for Visual Studio Code

rustfmt - Format Rust code

Rust Language Server - Repository for the Rust Language Server (aka RLS)

eglot - A client for Language Server Protocol servers

cargo-modules - Visualize/analyze a Rust crate's internal structure