You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When debugging is enabled for the rustc::middle::trans::meth module, and a program using trait bounded type params is compiled, there is a segfault in the string formatting. (Actually, it is nondeterministic; sometimes there is an assertion failure.)
The particular line that is triggering the failure is
(This isn't anything like the nicest way to formulate this debug output, but it should of course still work...)
I have not yet managed to produce a nice small test case, but I can trigger it with the following program (any program that uses trait parameterized functions should do, though)
Ah! The problem is a mismatch between the code generated by the bootstrap compiler and the library code for %?. The stage2 compiler works just fine, above, and the following code, compiled with the stage0 compiler, segfaults
fn main() {
error!("%?", ~[1]);
}
@thestinger said he has a fix. A snapshot will also fix it.
When debugging is enabled for the
rustc::middle::trans::meth
module, and a program using trait bounded type params is compiled, there is a segfault in the string formatting. (Actually, it is nondeterministic; sometimes there is an assertion failure.)The particular line that is triggering the failure is
(This isn't anything like the nicest way to formulate this debug output, but it should of course still work...)
I have not yet managed to produce a nice small test case, but I can trigger it with the following program (any program that uses trait parameterized functions should do, though)
and the command
RUST_LOG=rustc=1,rustc::middle::trans::meth ./x86_64-unknown-linux-gnu/stage1/bin/rustc simple-parametric.rs
I bisected and the commit that introduces the failure is e118555.
Example failure output
The text was updated successfully, but these errors were encountered: