-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
rustdoc fails unpleasantly when it can't tokenise a code block #12834
Labels
T-rustdoc
Relevant to the rustdoc team, which will review and decide on the PR/issue.
Comments
I think that "A-rustdoc" label can be added. |
Triage: no changes. |
Merged
Relevant issue: servo/servo#9704 |
frewsxcv
added a commit
to servo/webrender
that referenced
this issue
Feb 24, 2016
frewsxcv
added a commit
to servo/webrender
that referenced
this issue
Feb 24, 2016
fasterthanlime
pushed a commit
to fasterthanlime/rust
that referenced
this issue
Jul 22, 2022
…ain, r=Veykril Add PROC_MACRO_TEST_TOOLCHAIN environment variable This allows overriding the toolchain used to run `proc-macro-srv` tests. --- Sample usage. Testing the current ABI (variable unset/empty): ```shell amos@tails ~/bearcove/rust-analyzer/crates/proc-macro-srv proc-macro-test-toolchain* ❯ PROC_MACRO_TEST_TOOLCHAIN="" cargo test --quiet running 16 tests ................ test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s ``` Testing an older ABI: ```shell amos@tails ~/bearcove/rust-analyzer/crates/proc-macro-srv proc-macro-test-toolchain* ❯ PROC_MACRO_TEST_TOOLCHAIN="1.58" cargo test --quiet running 16 tests ................ test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s ``` Testing current nightly ABI: ```shell ❯ rustc +nightly --version rustc 1.64.0-nightly (f858854 2022-07-18) ❯ PROC_MACRO_TEST_TOOLCHAIN="nightly" cargo test --quiet running 16 tests ................ test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s ``` Testing future ABI (`rust-lang/rust` master): ```shell amos@tails ~/bearcove/rust-analyzer/crates/proc-macro-srv proc-macro-test-toolchain ❯ PROC_MACRO_TEST_TOOLCHAIN="stage1" cargo test --quiet running 16 tests ..........thread '<unnamed>' panicked at 'range end index 216221164920373249 out of range for slice of length 18', library/core/src/slice/index.rs:73:5 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ....F. failures: ---- tests::test_fn_like_macro2 stdout ---- thread 'tests::test_fn_like_macro2' panicked at 'called `Result::unwrap()` on an `Err` value: "range end index 216221164920373249 out of range for slice of length 18"', crates/proc-macro-srv/src/tests/utils.rs:38:83 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace failures: tests::test_fn_like_macro2 test result: FAILED. 15 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s error: test failed, to rerun pass '--lib ``` --- Tagging `@jonas-schievink:` this might be helpful when updating versioned ABIs later on.
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Consider a file like this:
Here's rustdoc's opinion of this:
☹
You see, it attempted to tokenise the contents of that code block.
The current solution for this is marking that code block as "notrust":
rustdoc should do one of two things:
Permit tokenisation to fail silently, discarding the notion of syntax highlighting should it fail; or
Retain the current notrust-must-be-explicit behaviour, but with two alterations:
sad.rs:4:11: 4:12
as the error span rather than<stdin>:1:7: 1:7
.In total, perhaps something like this:
The text was updated successfully, but these errors were encountered: