Open Sherlock-Holo opened 7 months ago
Minimized:
#![feature(type_alias_impl_trait)]
use std::future::Future;
type Fut<Io: IoAsyncRead> = impl Future;
pub struct CompatRead<Io: IoAsyncRead> {
fut: Fut<Io>,
}
impl<Io: IoAsyncRead> CompatRead<Io> {
fn poll_fill_buf(self, io: Io) {
let _: Fut<Io> = async move { io.read().await };
}
}
trait IoAsyncRead {
async fn read(&self);
}
Note that a different ICE can be triggered with a few changes:
#![feature(type_alias_impl_trait)]
use std::future::Future;
type Fut = impl Future;
pub struct CompatRead {
fut: Fut,
}
Not sure how related they are.
Code
this commit codes https://github.com/Sherlock-Holo/compio_compat/commit/468c054752932add17d0f30a90f129350cfb36dd
Meta
rustc --version --verbose
:Error output
rustc-ice-2024-02-03T11_08_13-130160.txt
Backtrace
``` Documenting compio_compat v0.1.0 (/home/sherlock/git/compio_compat) error: internal compiler error: src/librustdoc/clean/auto_trait.rs:745:18: unexpected region: RePlaceholder(!1_BoundRegion { var: 0, kind: BrAnon }) thread 'rustc' panicked at /rustc/bf3c6c5bed498f41ad815641319a1ad9bcecb8e8/compiler/rustc_errors/src/lib.rs:932:30: Box
stack backtrace:
0: std::panicking::begin_panic::
1: ::emit_producing_guarantee
2: ::bug::
3: rustc_middle::util::bug::opt_span_bug_fmt::::{closure#0}
4: rustc_middle::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0}
5: rustc_middle::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !>
6: rustc_middle::util::bug::bug_fmt
7: >::fold_region
8: <&rustc_middle::ty::list::List as rustc_type_ir::fold::TypeFoldable>::try_fold_with::
9: >::try_super_fold_with::
10: <&rustc_middle::ty::list::List as rustc_type_ir::fold::TypeFoldable>::try_fold_with::
11: ::param_env_to_generics
12: ::find_auto_trait_generics::::generate_for_trait::{closure#0}>
13: ::generate_for_trait
14: rustdoc::clean::utils::get_auto_trait_and_blanket_impls
15: ::visit_item
16: ::visit_item
17: ::visit_item
18: rustdoc::passes::collect_trait_impls::collect_trait_impls
19: rustdoc::core::run_global_ctxt
20: rustdoc::main_args::{closure#1}::{closure#0}::{closure#0}
21: rustc_interface::interface::run_compiler::, rustdoc::main_args::{closure#1}>::{closure#0}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-rustdoc&template=ice.md
note: please attach the file at `/home/sherlock/git/compio_compat/rustc-ice-2024-02-03T11_11_10-133512.txt` to your bug report
note: compiler flags: --crate-type lib
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
end of query stack
error: could not document `compio_compat`
Caused by:
process didn't exit successfully: `/home/sherlock/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustdoc --edition=2021 --crate-type lib --crate-name compio_compat src/lib.rs -o /home/sherlock/git/compio_compat/target/doc --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=150 -C metadata=82bf5ac2095ab40f -L dependency=/home/sherlock/git/compio_compat/target/debug/deps --extern compio_buf=/home/sherlock/git/compio_compat/target/debug/deps/libcompio_buf-3f6a7492d880a9a6.rmeta --extern compio_io=/home/sherlock/git/compio_compat/target/debug/deps/libcompio_io-6ba0a1a4d4aab3c6.rmeta --extern futures_util=/home/sherlock/git/compio_compat/target/debug/deps/libfutures_util-9f338ae92a96bae3.rmeta --crate-version 0.1.0` (exit status: 101)
```