Thanks, that’s extremely helpful. I’m not doing anything shady, so I’ll have a go auditing and otherwise keep trying to make a minimal repro. And that bisect looks so easy!
The bisect is a bit more involved as it, by default, only compiles and checks compiler error messages for errors or internal compiler errors (configurable via flag). I have never tried to run the program and check for segfaults - perhaps it is possible with cargo bisect-rustc with the right custom options. Speaking of options, Iʼd always recommend adding --access github and --with-cargo.
On the topic of minimal reproducing example: There's also tools for automating the minimization. Iʼve had a bit of experience finding minimal examples semi-automatically on some rustc bugs. I'd offer too try and help here, too. Youʼd have to provide a complete description of some way to reproduce it though.
Hey all, update for you. I made a minimal repro with no dependencies and no unsafe code.
I've also just run cargo bisect-rustc. Turns out when it segfaults it has exit code None, so -- run --release works perfectly.
The result? The regression happened in https://github.com/rust-lang/rust/commit/5a6b426e3471382c0385c11b09c2d6b37f70ac49. Seems vaguely related! I made a rust issue for it: https://github.com/rust-lang/rust/issues/77359
This seems to be mac specific as here (Fedora 32, rust 1.46.0 or 1.48 nightly) no problem at all.
You should take a look at the issue, as the underlying bug did turn out as non-platform-specific.
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.