Comments (5)
Copying from #123526 (comment):
we [should] introduce a new, separate, version of panicking that doesn't "look" like an ICE but rather a generic "invalid language state" error that stops the compilation, with no stack trace.
I think this ticket is a good example of a case where having a distinction between "the compiler made a mistake" and "the user modifiable language state is incorrect" in the panic output would be useful. It'd be already great if it only applied to the "expect" methods (like "assume the Sized trait is available" methods). If those weren't an automatic ICE, I think we could clean up rustc
code a bunch.
from rust.
i think we should just make the ICE message here a bit clearer
keep the stack trace or whatever but mention way more clearly that internal features are not supported and that if the ICE is related to that, that we don't want a bug report.
from rust.
note: using internal features is not supported and expected to cause internal compiler errors when used incorrectly
It's a bit hidden in the ICE message, understandable that you've missed it.
from rust.
Oh. I should've seen that. Thanks :)
from rust.
You could replace all of the bug
s with that but you can't replace things like indexing with it without making the compiler code uglier. I am not sure where rustc could be cleaned up by making this code less panicky... if there's anything that would be cleaner in the compiler code without panicking then please just do that today!
from rust.
Related Issues (20)
- Constructing struct through associated type in trait fails with E0599 HOT 1
- panic: unexpected error during closedir "Bad file descriptor" for unix::fs::Dir HOT 28
- Decl macro parser reaching end of input reports as "found `<eof>`" which could be more descriptive HOT 2
- Regression: invalid memory reference HOT 5
- Known limitations of branch coverage instrumentation HOT 8
- Optionally extend branch coverage to instrument the last operand of lazy boolean expressions HOT 10
- opaque types got hidden types registered from within subtype predicate HOT 2
- I didnt change anything :( HOT 2
- ICE: hit debug-assertions assertion `left == right` failed in compiler/rustc_middle/src/hir/map/mod.rs HOT 5
- std::env::args_os always returns an empty iterator in a musl+gcompat environment HOT 13
- Change SwitchTarget (in TerminatorKind::SwitchInt) to use ScalarInt
- Suggest declaring module when trying to use it
- Colored stack traces HOT 10
- Track implementation for MC/DC HOT 18
- Lints stop firing if macro reports with `Span::call_site`? HOT 4
- Miscompilation due to MatchBranchSimplification MIR pass mixing up discriminants HOT 13
- ICE: `tried to combine ConstKind::Infer/ConstKind::Infer(InferConst::Var)` HOT 1
- Documentation for abs() on signed integers doesn't mention unsigned_abs() HOT 1
- Allowlist for SanitizerCoverage
- ICW when Unknown MIR dialect: ' ' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust.