Skip to content

Reflection-based printing traverses cycles and runs out of stack #3768

Closed
@burg

Description

@burg

Whenever %? is used on a data structure with cycles (such as servo's util::tree), it will traverse cycles and run out of stack. This could be fixed with some expensive but easy thing like keeping a list of already-traversed boxed things, and declining to traverse twice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-prettyArea: Pretty printing (including `-Z unpretty`)A-runtimeArea: std's runtime and "pre-main" init for handling backtraces, unwinds, stack overflowsI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.P-lowLow priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions