Closed bbigras closed 2 years ago
@bbigras - Can you share the repository where this happened?
It's https://github.com/bbigras/async-graphql-900 but I can't reproduce at will.
Note that I created this repo to try to reproduce a weird lifetime bug I had with async-graphql (see https://github.com/async-graphql/async-graphql/issues/900).
@Aaron1011 I don't know if related, but I managed to reproduce a stand-alone incremental compilation bug (but with no ICE) by using:
set -euo pipefail
cd $(mktemp -d)
cargo init -q --name example --lib
cat> src/lib.rs <<'EOF'
#![allow(unused)]
struct Foo;
impl Foo {
async fn f(&self, _: &&()) -> &() {
&()
}
}
EOF
(set -x
cargo c -q
{ set +x; echo 'enum Bar {}'; } 2>/dev/null | tee -a src/lib.rs
cargo c -q
)
echo ✅
I suspect that https://github.com/rust-lang/rust/pull/86118 exposed an existing instability in the construction of BorrowCheckResult
by changing the concrete_opaque_types
field from FxHashMap
to VecMap
.
FxHashMap
(invalidly) ignores its ordering during stable hashing while VecMap
doesn't.
No idea if it's related to https://github.com/rust-lang/rust/issues/84970 if the compiler still asked me to fill out a bug report.
Code
Meta
rustc --version --verbose
:Error output
Backtrace
```
```