rust-marker / marker

An experimental linting interface for Rust. Let's make custom lints a reality
https://rust-marker.github.io/marker/
Other
144 stars 11 forks source link

[Panic]: unreachable #338

Open matthiaskrgr opened 11 months ago

matthiaskrgr commented 11 months ago

Summary

/home/matthias/vcs/github/rust_misc_stuff/tests/ui/resolve/issue-117920.rs

Reproducer

#![crate_type = "lib"]

use super::A; //~ ERROR failed to resolve

mod b {
    pub trait A {}
    pub trait B {}
}

/// [`A`]
pub use b::*;

Version

No response

Logs and Backtrace

MARKER_ERROR_TRACE=1 MARKER_LOG=info RUST_BACKTRACE=1    LD_LIBRARY_PATH='/home/matthias/o/target/debug/deps:/home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/lib:/home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/lib:/home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib'  RUSTC_WORKSPACE_WRAPPER=/home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/bin/marker_rustc_driver MARKER_LINT_CRATES=marker_lints:/home/matthias/o/target/marker/lints/libmarker_lints.so   RUSTUP_TOOLCHAIN=nightly-2023-11-16    /home/matthias/.rustup/toolchains/nightly-2023-11-16-x86_64-unknown-linux-gnu/bin/marker_rustc_driver /home/matthias/vcs/github/rust_misc_stuff/tests/ui/resolve/issue-117920.rs
error[E0433]: failed to resolve: there are too many leading `super` keywords
 --> /home/matthias/vcs/github/rust_misc_stuff/tests/ui/resolve/issue-117920.rs:3:5
  |
3 | use super::A; //~ ERROR failed to resolve
  |     ^^^^^ there are too many leading `super` keywords

thread 'rustc' panicked at compiler/rustc_resolve/src/lib.rs:2006:67:
internal error: entered unreachable code
stack backtrace:
   0: rust_begin_unwind
             at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/core/src/panicking.rs:72:14
   2: core::panicking::panic
             at /rustc/6b771f6b5a6c8b03b6322a9c77ac77cb346148f0/library/core/src/panicking.rs:127:5
   3: <rustc_resolve::late::LateResolutionVisitor>::resolve_and_cache_rustdoc_path
   4: <rustc_resolve::late::LateResolutionVisitor>::resolve_doc_links
   5: <rustc_resolve::late::LateResolutionVisitor as rustc_ast::visit::Visitor>::visit_item
   6: <rustc_resolve::Resolver>::resolve_crate::{closure#0}
   7: <rustc_resolve::Resolver>::resolve_crate
   8: rustc_interface::passes::resolver_for_lowering
      [... omitted 1 frame ...]
   9: rustc_interface::interface::run_compiler::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-marker/marker/issues/new?template=panic.yml

note: please attach the file at `/tmp/marker/rustc-ice-2023-12-18T00_09_38-2060015.txt` to your bug report

query stack during panic:
#0 [resolver_for_lowering] getting the resolver for lowering
end of query stack
note: marker_rustc_driver 0.4.3

note: Achievement Unlocked: [Free Ice Cream]

error: aborting due to previous error

For more information about this error, try `rustc --explain E0433`.
xFrednet commented 11 months ago

It looks like this bug is still on stable, but fixed on nightly. I'll check if this ICE persists after the next toolchain update.

xFrednet commented 11 months ago

cc: #315