Skip to content

Engine: global names: change the representation from krate * path to path * path * item #1163

@W95Psp

Description

@W95Psp

Represent names as:

  • A namespacing path (e.g. crate::m1 for field)
    One namespace will be exactly one module in the backend

  • A “virtual namespace”: for instance the f1::S1 part in the case of field.
    This virtual namespace collapses to a simple name in the “real” namespace

  • A final path: field “field” from struct
    This virtual namespace collapses to a simple name in the “real” namespace

    Note: this changes the representation of concrete_ident.ml. But this module keeps this representation opaque, so those changes should be fairly local to that module.

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions