Skip to content

Detect and handle cyclic data / share substructure involving all reference types #1

@cpcallen

Description

@cpcallen

Flatpack (and in particular the methods flatpack.flatten and .unflatten) correctly handle cyclic data and shared substructure involving pointers, but from reading the source for reflect.DeepEqual it's clear that it's possible to encounter cycles that do not involve pointers.

In particular, slices and maps are both reference types which can share substructure and result in circular references (in conjunction with interface types, which, while they may internally be implemented with a pointer, cannot by themselves result in shared substructure or cycles).

(Moved from CodeCity)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions