-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
make format_args! only depend on libcore #14342
Comments
This is a general issue with macro hygiene. There is no dependency by Basically, fixing this issue will likely require a significant amount of work in terms of macro hygiene across crates. I would love to have it fixed though... |
Is there any reason to not just add |
I think of |
I'm working on a fix for #16803 which will also solve this problem. We tell libsyntax whether the crate is |
We could potentially avoid the back-compat hazards by importing |
I'm also making |
…] crate Fixes rust-lang#16803. Fixes rust-lang#14342. Fixes half of rust-lang#21827 -- slice syntax is still broken.
…-source-to-status, r=lnicola Add path of workspace root folders to status output Hi folks! Just a quick addition to the status output. There are some colleagues of mine who use a mix of Buck and Cargo. A person spent a bit of time this past week trying to figure out there the `rust-project.json` was coming from and pointed out that `rust-analyzer: Status` could be a good place to put this information. rust-analyzer doesn't seem to record the full path of the `Cargo.toml` or the `rust-project.json`, just the root directory. While not perfect, this should be enough for people to unblock themselves on. Here's an example of `rust-analyzer: Status` on the rust-analyzer repo: ``` Workspaces: Loaded 192 packages across 1 workspace. Workspace roots: [AbsPath("/Users/dbarsky/Developer/rust-analyzer")] Analysis: 57mb of files 0b of index symbols (0) 2514 trees, 128 preserved 29535 trees, 128 preserved (Macros) 0b in total File info: Crate: rust_analyzer(CrateId(131)) Dependencies: proc_macro=CrateId(5), core=CrateId(2), alloc=CrateId(0), std=CrateId(7), test=CrateId(9), always_assert=CrateId(12), anyhow=CrateId(13), cfg=CrateId(25), crossbeam_channel=CrateId(35), dissimilar=CrateId(41), expect_test=CrateId(46), flycheck=CrateId(50), hir=CrateId(56), hir_def=CrateId(57), hir_ty=CrateId(59), ide=CrateId(63), ide_db=CrateId(66), ide_ssr=CrateId(68), itertools=CrateId(73), jod_thread=CrateId(75), lsp_server=CrateId(83), lsp_types=CrateId(85), mbe=CrateId(87), num_cpus=CrateId(96), oorandom=CrateId(99), parking_lot=CrateId(102), proc_macro_api=CrateId(110), proc_macro_srv=CrateId(111), profile=CrateId(118), project_model=CrateId(119), rayon=CrateId(125), rustc_hash=CrateId(136), scip=CrateId(141), serde=CrateId(145), serde_json=CrateId(147), sourcegen=CrateId(153), stdx=CrateId(155), syntax=CrateId(158), test_utils=CrateId(159), threadpool=CrateId(165), toolchain=CrateId(170), tracing=CrateId(171), tracing_log=CrateId(174), tracing_subscriber=CrateId(175), tracing_tree=CrateId(176), tt=CrateId(177), vfs=CrateId(188), vfs_notify=CrateId(189), xflags=CrateId(192), xshell=CrateId(194) ```
Currently format_args! relies on format stuff in libstd, all of which is present in libcore. In order to use format_args! in a #[no_std] context you have to reexport core as std which is pretty hacky.
The text was updated successfully, but these errors were encountered: