I don't know if it's RA's update or VSCode's one because got them at the same time, but now, when editing code, highlighting seems broken:聽I need to close / open the file to have the highlighting right.

I'm also getting this.

The log is showing that it's seeing something completely different than what's on screen:
--> <stdin>:38:9
|
38 | pub mod trait s;
| ^^^^^ expected identifier, found keyword
error: expected one of `;` or `{`, found `s`
--> <stdin>:38:15
|
38 | pub mod trait s;
| ^ expected one of `;` or `{`
error: expected identifier, found keyword `trait`
--> <stdin>:38:9
|
38 | pub mod trait s;
| ^^^^^ expected identifier, found keyword
error: expected one of `;` or `{`, found `s`
--> <stdin>:38:15
|
38 | pub mod trait s;
| ^ expected one of `;` or `{`
error: expected one of `,`, `::`, `as`, or `}`, found `uNba`
--> <stdin>:32:2
|
31 | pub use traits::{Instruction,
p
| -
| |
| expected one of `,`, `::`, `as`, or `}`
| help: missing `,`
Is that an incremental sync bug? @RamiHg I suppose you can't reproduce it, can you?
@lnicola, I can actually reproduce it 100% of the time. It happens on any file I open, edit, then save.
Confirm. It begins about a week ago.

RA nightly,
Windows 7x64, VSCode 1.47.3
@DustinByfuglien does it get fixed if you edit the file?
No.
Here is how a hover popup looks:

@DustinByfuglien if you're saying it started a week ago, would you be able to bisect it? You'd have to use git bisect and build from source a couple of versions.
I don't know how to do it. But I 'll try to google...
Sometimes now RA outputs this error when I edit a my project code:
thread 'main' panicked at 'assertion failed: start <= end', /rustc/c367798cfd3817ca6ae908ce675d1d99242af148\src\libstd\macros.rs:13:23
stack backtrace:
0: <unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: <unknown>
13: <unknown>
14: <unknown>
15: <unknown>
16: <unknown>
17: <unknown>
18: BaseThreadInitThunk
19: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\lsp-server-0.3.3\src\stdio.rs:29:13
stack backtrace:
0: <unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: BaseThreadInitThunk
13: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[Info - 11:32:48] Connection to server got closed. Server will restart.
[Error - 11:32:48] Request textDocument/foldingRange failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
[Error - 11:32:48] Request textDocument/codeLens failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
[Error - 11:32:48] Request textDocument/semanticTokens failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
[Error - 11:32:48] Request textDocument/documentSymbol failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\MX\.vscode\extensions\matklad.rust-analyzer-0.3.261-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
I guess it is related to coloring bug.
@DustinByfuglien if you're saying it started a week ago, would you be able to bisect it? You'd have to use git bisect and build from source a couple of versions.
For me it started with the nightly of the day I posted
You'd have to use git bisect and build from source a couple of versions.
Sorry. I not find simple help for newbies how to do this bisect.
So the idea is to find a "good" version of rust-analyzer and a "bad" one. You could probably start with the weekly releases on GitHub -- find a version that has this bug where the previous release worked. Let's say that 2020-07-27 (91b2f0baafa5fe1827ed13c56721b5f505564e7c) was the first bad one and
2020-07-20 (c9c518e5e9761bf35d466c47c57c3a1358b56b3c) worked.
Then you can clone the repository and use git bisect:
git clone https://github.com/rust-analyzer/rust-analyzer/
# these are optional if you've already checked
git checkout c9c518e5e9761bf35d466c47c57c3a1358b56b3c # good release
cargo xtask install --server # make sure it works
git checkout 91b2f0baafa5fe1827ed13c56721b5f505564e7c # bad release
cargo xtask install --server # make sure it has the bug
git bisect start
git bisect good c9c518e5e9761bf35d466c47c57c3a1358b56b3c
git bisect bad 91b2f0baafa5fe1827ed13c56721b5f505564e7c
# now git will suggest you some commit to test
cargo xtask install --server # test it, let's say it still works
git bisect good
# you're now on a different commit
cargo xtask install --server # test it again, let's say it doesn't work
git bisect bad
# and so on until it stops
Since each try halves the number of commits remaining (like in binary search), it should only take 5 steps or so. https://www.metaltoad.com/blog/beginners-guide-git-bisect-process-elimination might help.
I compile RA by
cargo xtask install --server
Now how can I use this compiled RA commit in vscode RA extension instead of installed nightly to look how it works?
You can try installing it with cargo xtask install (without --server) the first time, or use "rust-analyzer.serverPath": "rust-analyzer".
I try "rust-analyzer.serverPath": "rust-analyzer" but error occurs when I reload vscode:
rust-analyzer failed to load workspace: Failed to find sysroot for Cargo.toml file e:\Progr\MyTestProject\Ares_test\Cargo.toml. Is rust-src installed?: can't load standard library from sysroot E:\Progr\Rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust/src (discovered via `rustc --print sysroot`) try running `rustup component add rust-src` or set `RUST_SRC_PATH
But rust-src is installed
There was a change in the standard library organization. You should probably "rustup default stable" before running it. It doesn't matter which one you use to build rust-analyzer itself. See #5586 for details.
Sorry, I used it a little on Windows today, but couldn't reproduce it. There's another open issue that might be related to this one and it seems to be Windows-specific.
Last time rust-analyzer broke on nightly was caused by a change to the procmacro bridge. I鈥檝e seen some changes recently on rust master affecting the procmacro bridge (https://github.com/rust-lang/rust/commit/62c9fa939d95fcc009afb7ab80483081c3d1f068). Perhaps this is related?
@cynecx that's #5640.
I try "rust-analyzer.serverPath": "rust-analyzer" but error occurs when I reload vscode:
rust-analyzer failed to load workspace: Failed to find sysroot for Cargo.toml file e:\Progr\MyTestProject\Ares_test\Cargo.toml. Is rust-src installed?: can't load standard library from sysroot E:\Progr\Rust\rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib/rustlib/src/rust/src (discovered via `rustc --print sysroot`) try running `rustup component add rust-src` or set `RUST_SRC_PATHBut rust-src is installed
this error is because of a move in sysroots.
I got this error with highlights and assertion failed: start <= end as well but can't remember how I got it, I think I tried bisecting but hit problems with sysroot, so had to cherrypick the sysroot changes in and I kinda forgot about the bisect.
I'll try to see how this error came about.
It's become very annoying to use rust-analyzer on windows with nightly since a week or so, there's multiple errors all seemingly unrelated to each other. Highlighting not working, line spans reporting wrongly for assists, panics and no completion.
I feel like with the next nightly on monday there's going to come in a lot more reports for windows not working. I'm hoping I can figure out how to properly debug this but I need to get more familiar with the project.
I am having the same kind of problem with both stable and nigthly on Win10 (tested with vs-code insiders too)
Everything work at first, but soon after I start typing a lot of strange errors begin to happen
If I close the file and open again highlight and errors are fixed (until I type)

@Born2Go do you get any errors in the Rust Analyzer Language Server output pane?
@Born2Go do you get any errors in the Rust Analyzer Language Server output pane?
In the "Rust Analyser Language Server Trace" pane I can only see trace logs
In the "Rust Analyser Client" pane I can see trace/debug/info logs
NOTE: It took me a while to make the bug happen this time (1 or 2 minutes typing and asking for completions)
After more testing I received the following stack trace in the Language Server pane:
rust-analyzer -> v0.3.263-nightly
vs-code -> 1.47.3
obs: after this everything only works again after a vscode reboot
note: how can I enable a more detailed stack trace? (I see the note to add RUST_BACKTRACE=full, but where should I add it in vs code?)
thread 'main' panicked at 'assertion failed: start <= end', /rustc/c367798cfd3817ca6ae908ce675d1d99242af148\src\libstd\macros.rs:13:23
stack backtrace:
0: <unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: <unknown>
13: <unknown>
14: <unknown>
15: <unknown>
16: <unknown>
17: <unknown>
18: BaseThreadInitThunk
19: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\lsp-server-0.3.3\src\stdio.rs:29:13
stack backtrace:
0: <unknown>
1: <unknown>
2: <unknown>
3: <unknown>
4: <unknown>
5: <unknown>
6: <unknown>
7: <unknown>
8: <unknown>
9: <unknown>
10: <unknown>
11: <unknown>
12: BaseThreadInitThunk
13: RtlUserThreadStart
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[Info - 15:57:40] Connection to server got closed. Server will restart.
[Error - 15:57:40] Request textDocument/foldingRange failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
[Error - 15:57:40] Request textDocument/codeLens failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
[Error - 15:57:40] Request textDocument/documentSymbol failed.
Error: Connection got disposed.
at Object.dispose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:3881:25)
at Object.dispose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:8446:35)
at LanguageClient.handleConnectionClosed (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:10692:42)
at LanguageClient.handleConnectionClosed (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:12023:15)
at closeHandler (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:10679:18)
at CallbackList.invoke (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2028:36)
at closeHandler (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:3202:26)
at CallbackList.invoke (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:1965:39)
at Emitter.fire (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2028:36)
at StreamMessageReader.fireClose (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2148:27)
at Socket.<anonymous> (c:\Users\PICHAU\.vscode\extensions\matklad.rust-analyzer-0.3.263-nightly\out\src\main.js:2188:46)
at Socket.emit (events.js:208:15)
at Pipe.<anonymous> (net.js:588:12)
You can enable debug symbols in Cargo.toml (see the comment), but check out #5656.
Anyone having this issue, can you try the latest nightly release (or building from source)? I suspect that https://github.com/rust-analyzer/rust-analyzer/pull/5659 improved things.
@lnicola The latest did improve things a lot for me. I no longer have errors on completely wrong lines & the analyzer is not complaining about "Missing SEMI" etc.
Seems better indeed! I'm closing, feel free to reopen if ever you feel more needs to be addressed