Skip to content
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

ICE on Windows when linker output is too large #15522

Closed
tomaka opened this issue Jul 8, 2014 · 9 comments
Closed

ICE on Windows when linker output is too large #15522

tomaka opened this issue Jul 8, 2014 · 9 comments
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ O-windows Operating system: Windows

Comments

@tomaka
Copy link
Contributor

tomaka commented Jul 8, 2014

I'm encountering an internal compiler error when compiling this file.

I tried to simplify the code but I didn't manage to.

  • I tried removing #![feature(globs)], but this didn't solve the issue
  • Replacing macro_handler by a dummy function didn't solve the issue
  • Removing all modules did solve the issue, but the modules don't do anything fancy (they just load a file, parse it, and output a string)
  • Compiling this other file (which is not a plugin_registrar) works, even thought it uses exactly the same modules in the exact same way.

Note that the problematic file compiled without any issue a few days before (I didn't touch it at all). Also note that this code compiles on Linux (with the same rust nightlies) without any issue. I'm on Windows 7 64 bits.

Here is the error message.
The message is in french, but refers to window's ERROR_NOT_ENOUGH_MEMORY. Rustc's memory consumption seems very normal (and lower than several other programs), so it's definitely not my machine running out of memory.

error: linking with `gcc` failed: exit code: 1
note: gcc '-m32' '-L' 'C:\Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-o'
 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generator\target\gen.dll' 'C:\Users\Tom
aka17\Projets\gl-rs\src\gl_generator\target\gen.o' '-Wl,--whole-archive' '-lmore
stack' '-Wl,--no-whole-archive' 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generato
r\target\gen.metadata.o' '-shared-libgcc' '-Wl,--enable-long-section-names' '-L'
 'C:\Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lrustc-4e7c5e5c' '-L' '
C:\Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-ltime-4e7c5e5c' '-L' 'C:\
Compilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lflate-4e7c5e5c' '-L' 'C:\Co
mpilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lgetopts-4e7c5e5c' '-L' 'C:\Co
mpilation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lgraphviz-4e7c5e5c' 'C:\Users\
Tomaka17\Projets\gl-rs\src\gl_generator\target\deps\libsax.rlib' '-L' 'C:\Compil
ation\Rust\bin\rustlib\i686-pc-mingw32\lib' '-larena-4e7c5e5c' '-L' 'C:\Compilat
ion\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lsyntax-4e7c5e5c' '-L' 'C:\Compilati
on\Rust\bin\rustlib\i686-pc-mingw32\lib' '-ldebug-4e7c5e5c' '-L' 'C:\Compilation
\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lterm-4e7c5e5c' '-L' 'C:\Compilation\Ru
st\bin\rustlib\i686-pc-mingw32\lib' '-lfmt_macros-4e7c5e5c' '-L' 'C:\Compilation
\Rust\bin\rustlib\i686-pc-mingw32\lib' '-lserialize-4e7c5e5c' '-L' 'C:\Compilati
on\Rust\bin\rustlib\i686-pc-mingw32\lib' '-llog-4e7c5e5c' '-L' 'C:\Compilation\R
ust\bin\rustlib\i686-pc-mingw32\lib' '-lstd-4e7c5e5c' '-L' 'C:\Compilation\Rust\
bin\rustlib\i686-pc-mingw32\lib' '-lsync-4e7c5e5c' '-L' 'C:\Compilation\Rust\bin
\rustlib\i686-pc-mingw32\lib' '-lrustrt-4e7c5e5c' '-L' 'C:\Users\Tomaka17\Projet
s\gl-rs\src\gl_generator\target\deps' '-L' 'C:\Users\Tomaka17\Projets\gl-rs\src\
gl_generator\target' '-L' 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generator\.rus
t' '-L' 'C:\Users\Tomaka17\Projets\gl-rs\src\gl_generator' '-Wl,-Bdynamic' '-lsh
ell32' '-lpsapi' '-limagehlp' '-lm' '-lstdc++' '-lxml2' '-lkernel32' '-lgcc_s' '
-shared' '-lcompiler-rt'
note: error: internal compiler error: unexpected failure
note: the compiler hit an unexpected failure path. this is a bug.
note: we would appreciate a bug report: http://doc.rust-lang.org/complement-bugr
eport.html
note: run with `RUST_BACKTRACE=1` for a backtrace
task 'rustc' failed at 'failed to print diagnostics: OS Error 8: Espace insuffis
ant pour traiter cette commande.
', C:\bot\slave\nightly-win\build\src\libsyntax\diagnostic.rs:336

Here is a backtrace from rust_fail:

#0  0x61f88110 in rust_fail ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#1  0x61f88a81 in unwind::begin_unwind_inner::he6d59374b577b0cbsHd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#2  0x61f884ad in unwind::begin_unwind_fmt::hf1a6d30fc01810aaVEd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#3  0x00533b3e in diagnostic::EmitterWriter.Emitter::emit::h785613d48a5d9493Luc
() from C:\Compilation\Rust\bin\syntax-4e7c5e5c.dll
#4  0x00533152 in diagnostic::Handler::note::hba01478baac507e08fc ()
   from C:\Compilation\Rust\bin\syntax-4e7c5e5c.dll
#5  0x71683407 in _fu7391___ZN3vec12Vec$LT$T$GT$4push15__STATIC_FMTSTR20hc084010
7d810eb38j0hE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#6  0x7167ede9 in _fu10751___ZN6option15Option$LT$T$GT$6expect15__STATIC_FMTSTR2
0h29176549ebbdbdeaAGyE () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#7  0x71714307 in driver::driver::phase_6_link_output::h41fcc24cd2f46b881Mq ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#8  0x7170c77f in _fu5538___ZN3vec10PTR_MARKER20h0b519807f343ac6fHBhE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#9  0x717b1202 in _fu6031___ZN4cell32RefMut$LT$$x27b$C$$x20T$GT$.Drop4drop15__ST
ATIC_FMTSTR20h29176549ebbdbdeaLMvE ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#10 0x717c0efe in task::TaskBuilder$LT$S$GT$::try_future::closure.127545 ()
   from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#11 0x717c0e1c in task::TaskBuilder$LT$S$GT$::spawn_internal::closure.127522
    () from C:\Compilation\Rust\bin\rustc-4e7c5e5c.dll
#12 0x70c30058 in task::spawn_opts::closure.8059 ()
   from C:\Compilation\Rust\bin\native-4e7c5e5c.dll
#13 0x61f88105 in unwind::try::try_fn::h3d20541cb51b4242eyd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#14 0x61fe7a56 in rust_try () from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#15 0x61f85e47 in unwind::try::h171a75ee7c63bb90Rvd ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#16 0x61f85bda in task::Task::run::hcb2f0bccdd286ca2hWc ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#17 0x70c2fef7 in task::spawn_opts::closure.8005 ()
   from C:\Compilation\Rust\bin\native-4e7c5e5c.dll
#18 0x61f87c5f in thread::thread_start::h869f9d55708b60ddPid ()
   from C:\Compilation\Rust\bin\rustrt-4e7c5e5c.dll
#19 0x76c7338a in KERNEL32!BaseThreadInitThunk ()
   from C:\Windows\syswow64\kernel32.dll
#20 0x77dd9f72 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#21 0x77dd9f45 in ntdll!RtlInitializeExceptionChain ()
   from C:\Windows\system32\ntdll.dll
#22 0x00000000 in ?? ()

Rustc's version is today's nightly:

rustc 0.11.0-nightly (a3257804df2bace236f83d9e5a9e887a1df30ef5 2014-07-08 00:31:42 +0000)
@tomaka tomaka changed the title ICE only on Windows ICE only on Windows with plugin_registrar Jul 8, 2014
@huonw huonw added the I-ICE label Jul 8, 2014
@alexcrichton
Copy link
Member

This looks like it may be the linker which is OOMing rather than the compiler itself? Are you sure that the linker didn't run out of hand (it sounded like you tracked rustc specifically)

@tomaka
Copy link
Contributor Author

tomaka commented Jul 8, 2014

Hmm, if I invoke the command (copy-pasted above) manually, the linker prints a lot of warnings, an error about a missing symbol, and then exits with status code 1.

I'm not sure (I don't know anything about rustc's internals), but now I think that rustc crashes because it tries to print ld's stdout which is too big for him to handle.

@alexcrichton
Copy link
Member

Can you paste the error that the linker emits?

@tomaka
Copy link
Contributor Author

tomaka commented Jul 8, 2014

Here it is: http://pastebin.com/gyyqEvdR

The root cause of the problem is that my libxml was compiled with VC++ and is thus incompatible (I should have said in the previous post that I found out), but the remaining issue is that rustc is not supposed to crash because of this.

@brson brson mentioned this issue Aug 12, 2014
33 tasks
@tomaka tomaka changed the title ICE only on Windows with plugin_registrar ICE on Windows when linker output is too large Sep 3, 2014
@vadimcn
Copy link
Contributor

vadimcn commented Feb 20, 2015

@tomaka, is this still an issue? Can you please update repro steps, if so? (the links above had gone stale).

@tomaka
Copy link
Contributor Author

tomaka commented Feb 20, 2015

@vadimcn It will be hard to tell. The issue was caused by the linker printing too much data. The way I made the library print too much data is using a library whose design has completely changed in the past few months.

@frewsxcv
Copy link
Member

Can anyone confirm if this is still an issue?

@Gankra
Copy link
Contributor

Gankra commented Oct 23, 2015

triage: needs a new repro case (old one 404's)

@steveklabnik
Copy link
Member

This is an old bug, without a reproduction since early in the year. As such, I'm going to give it a close. Please let me know if you can reproduce, and we'll re-open, thanks!

bors added a commit to rust-lang-ci/rust that referenced this issue Sep 18, 2023
…r=Veykril

Resolve inlay hint data

Part of rust-lang/rust-analyzer#13962

Support https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#inlayHint_resolve better, by omitting all inlay hint fields specified in the client hint resolve capabilities.

Current list of all capabilities possible to resolve later:
```
"textEdits"
"tooltip"
"label.tooltip"
"label.location"
"label.command"
```

and every one specified in the client capabilities is now resolved by r-a, being omitted in the initial response.

--------------

When editing `inlay_hints.rs` file around line `457` with no resolve capabilities, I get
<details>
  <summary>resolved json, 10803 characters</summary>

```json
{"jsonrpc":"2.0","id":55,"result":[{"position":{"line":477,"character":1},"label":[{"value":"fn inlay_hints","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide/src/inlay_hints.rs","range":{"start":{"line":445,"character":14},"end":{"line":445,"character":25}}}}],"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":451,"character":10},"label":[{"value":": "},{"value":"ProfileSpan","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/profile/src/hprof.rs","range":{"start":{"line":85,"character":11},"end":{"line":85,"character":22}}}},{"value":""}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":451,"character":27},"label":[{"value":"label:","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/profile/src/hprof.rs","range":{"start":{"line":60,"character":12},"end":{"line":60,"character":17}}}}],"kind":2,"paddingLeft":false,"paddingRight":true,"data":{"file_id":0}},{"position":{"line":452,"character":12},"label":[{"value":": "},{"value":"Semantics","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/hir/src/semantics.rs","range":{"start":{"line":108,"character":11},"end":{"line":108,"character":20}}}},{"value":"<'_, "},{"value":"RootDatabase","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide-db/src/lib.rs","range":{"start":{"line":75,"character":11},"end":{"line":75,"character":23}}}},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":453,"character":12},"label":[{"value":": "},{"value":"SourceFile","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/ast/generated/nodes.rs","range":{"start":{"line":223,"character":11},"end":{"line":223,"character":21}}}},{"value":""}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":454,"character":12},"label":[{"value":": &"},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":456,"character":12},"label":": i32","kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":458,"character":15},"label":[{"value":": "},{"value":"Vec","location":{"uri":"file:///Users/someonetoignore/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/alloc/src/vec/mod.rs","range":{"start":{"line":395,"character":11},"end":{"line":395,"character":14}}}},{"value":"<"},{"value":"InlayHint","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide/src/inlay_hints.rs","range":{"start":{"line":149,"character":11},"end":{"line":149,"character":20}}}},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":460,"character":21},"label":[{"value":": "},{"value":"SemanticsScope","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/hir/src/semantics.rs","range":{"start":{"line":1651,"character":11},"end":{"line":1651,"character":25}}}},{"value":"<'_>"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":460,"character":36},"label":[{"value":"node:","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/hir/src/semantics.rs","range":{"start":{"line":482,"character":24},"end":{"line":482,"character":28}}}}],"kind":2,"paddingLeft":false,"paddingRight":true,"data":{"file_id":0}},{"position":{"line":461,"character":23},"label":[{"value":": "},{"value":"FamousDefs","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide-db/src/famous_defs.rs","range":{"start":{"line":20,"character":11},"end":{"line":20,"character":21}}}},{"value":"<'_, '_>"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":463,"character":17},"label":[{"value":": impl FnMut("},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">)"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":463,"character":25},"label":[{"value":": "},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":463,"character":33},"label":[{"value":"hints:","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/ide/src/inlay_hints.rs","range":{"start":{"line":480,"character":4},"end":{"line":480,"character":9}}}}],"kind":2,"paddingLeft":false,"paddingRight":true,"data":{"file_id":0}},{"position":{"line":465,"character":22},"label":[{"value":": "},{"value":"TextRange","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/text-size-1.1.0/src/range.rs","range":{"start":{"line":14,"character":11},"end":{"line":14,"character":20}}}},{"value":""}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":467,"character":35},"label":[{"value":": "},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":469,"character":92},"label":[{"value":"impl "},{"value":"Iterator","location":{"uri":"file:///Users/someonetoignore/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":72,"character":10},"end":{"line":72,"character":18}}}},{"value":"<"},{"value":"Item","location":{"uri":"file:///Users/someonetoignore/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":76,"character":9},"end":{"line":76,"character":13}}}},{"value":" = "},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">>"}],"kind":1,"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":468,"character":34},"label":[{"value":"impl "},{"value":"Iterator","location":{"uri":"file:///Users/someonetoignore/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":72,"character":10},"end":{"line":72,"character":18}}}},{"value":"<"},{"value":"Item","location":{"uri":"file:///Users/someonetoignore/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs","range":{"start":{"line":76,"character":9},"end":{"line":76,"character":13}}}},{"value":" = "},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">>"},{"value":""}],"kind":1,"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":467,"character":41},"label":[{"value":""},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">"}],"kind":1,"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":469,"character":40},"label":" -> bool","kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":469,"character":39},"label":[{"value":": &"},{"value":"SyntaxNode","location":{"uri":"file:///Users/someonetoignore/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rowan-0.15.11/src/api.rs","range":{"start":{"line":15,"character":11},"end":{"line":15,"character":21}}}},{"value":"<"},{"value":"RustLanguage","location":{"uri":"file:///Users/someonetoignore/work/rust-analyzer/crates/syntax/src/syntax_node.rs","range":{"start":{"line":15,"character":9},"end":{"line":15,"character":21}}}},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}}]}
```

</details>

for the visible editor range alone, pretty much repeated on every consequent edit.

With this patch and all inlay hint resolve capabilities enabled, for the same example I observe quite a footprint reduction:

<details>
  <summary>unresolved json, 4142 characters</summary>

```json
{"jsonrpc":"2.0","id":49,"result":[{"position":{"line":477,"character":1},"label":[{"value":"fn inlay_hints"}],"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":451,"character":10},"label":[{"value":": "},{"value":"ProfileSpan"},{"value":""}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":451,"character":27},"label":[{"value":"label:"}],"kind":2,"paddingLeft":false,"paddingRight":true,"data":{"file_id":0}},{"position":{"line":452,"character":12},"label":[{"value":": "},{"value":"Semantics"},{"value":"<'_, "},{"value":"RootDatabase"},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":453,"character":12},"label":[{"value":": "},{"value":"SourceFile"},{"value":""}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":454,"character":12},"label":[{"value":": &"},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":456,"character":12},"label":": i32","kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":458,"character":15},"label":[{"value":": "},{"value":"Vec"},{"value":"<"},{"value":"InlayHint"},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":460,"character":21},"label":[{"value":": "},{"value":"SemanticsScope"},{"value":"<'_>"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":460,"character":36},"label":[{"value":"node:"}],"kind":2,"paddingLeft":false,"paddingRight":true,"data":{"file_id":0}},{"position":{"line":461,"character":23},"label":[{"value":": "},{"value":"FamousDefs"},{"value":"<'_, '_>"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":463,"character":17},"label":[{"value":": impl FnMut("},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">)"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":463,"character":25},"label":[{"value":": "},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":463,"character":33},"label":[{"value":"hints:"}],"kind":2,"paddingLeft":false,"paddingRight":true,"data":{"file_id":0}},{"position":{"line":465,"character":22},"label":[{"value":": "},{"value":"TextRange"},{"value":""}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":467,"character":35},"label":[{"value":": "},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":469,"character":92},"label":[{"value":"impl "},{"value":"Iterator"},{"value":"<"},{"value":"Item"},{"value":" = "},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">>"}],"kind":1,"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":468,"character":34},"label":[{"value":"impl "},{"value":"Iterator"},{"value":"<"},{"value":"Item"},{"value":" = "},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">>"},{"value":""}],"kind":1,"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":467,"character":41},"label":[{"value":""},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">"}],"kind":1,"paddingLeft":true,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":469,"character":40},"label":" -> bool","kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}},{"position":{"line":469,"character":39},"label":[{"value":": &"},{"value":"SyntaxNode"},{"value":"<"},{"value":"RustLanguage"},{"value":">"}],"kind":1,"paddingLeft":false,"paddingRight":false,"data":{"file_id":0}}]}
```

</details>

with all unresolved parts needing only for navigation, hover or applying the hint edit — dynamic parts that are made after mouse hover or similar events, that resolve the hint data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ O-windows Operating system: Windows
Projects
None yet
Development

No branches or pull requests

8 participants