Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enable backtraces by default and stop injecting row / col via a macro #17386

Closed
thestinger opened this issue Sep 19, 2014 · 1 comment
Closed
Labels
C-enhancement Category: An issue proposing an enhancement or a PR with one. I-compiletime Issue: Problems and improvements with respect to compile times. I-slow Issue: Problems and improvements with respect to performance of generated code.

Comments

@thestinger
Copy link
Contributor

The row and column aren't usually useful, because there's no context. An error pointing to unwrap is almost completely useless. On platforms where backtraces are already working, it should replace the current failure messages. Failure indicates a logic error (bug) and context is important for tracking it down.

An abort would be far more usable because it provides a whole core dump including a backtrace with all of the local variables.

Relocations from the bloated failure messages are the cause of over 50% of the time taken by rustc for hello world on Windows. It's much less ridiculous on other platforms, but the bloat is still a very serious performance issue in many performance critical parts of the standard libraries and in user code.

@thestinger thestinger added I-slow Issue: Problems and improvements with respect to performance of generated code. C-enhancement Category: An issue proposing an enhancement or a PR with one. I-compiletime Issue: Problems and improvements with respect to compile times. labels Sep 19, 2014
@emberian emberian self-assigned this Mar 25, 2015
@emberian emberian removed their assignment Jan 5, 2016
@steveklabnik
Copy link
Member

A change of this magnitude, these days, requires an RFC. We have two competing ones open right now: rust-lang/rfcs#2091 and rust-lang/rfcs#2154

I'm going to close this in favor of those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: An issue proposing an enhancement or a PR with one. I-compiletime Issue: Problems and improvements with respect to compile times. I-slow Issue: Problems and improvements with respect to performance of generated code.
Projects
None yet
Development

No branches or pull requests

3 participants