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
{{ message }}
Repository navigation
Exponential parse time involving maybe_suggest_struct_literal #105067
fn main(){0&{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
x: y &{
Where it's slow
According to -Z time-passes, the slow pass is parse_crate.
We could add a flat to ensure that we don't recurse into that function given that this is meant only for error recovery and beyond a certain point all bets are off so it's better to bail early if we recognize that we don't know what we're dealing with. Ho was this found? Through fuzzing?
Also, now that I think about the approach can be changed entirely now that type ascription is no longer accepted syntax.
Activity
estebank commentedon Nov 29, 2022
We could add a flat to ensure that we don't recurse into that function given that this is meant only for error recovery and beyond a certain point all bets are off so it's better to bail early if we recognize that we don't know what we're dealing with. Ho was this found? Through fuzzing?
Also, now that I think about the approach can be changed entirely now that type ascription is no longer accepted syntax.
jruderman commentedon Nov 30, 2022
Yes, this was found through fuzzing. I'm using a fork of fuzz-rustc where I've added a custom mutator.