Skip to content

Function generated for keyword methods does not have globally unique name #59385

@yuyichao

Description

@yuyichao

It's arguable whether gensym could be used for globally unique names but as of now, defining meta function in package can break Docs.

This currently happens for Tracy.jl. It just happens that the local function meta is defined such that the symbol it got for the keyword method helper function is exactly the same as the gensym symbol for Base.Docs's META.

Not sure if any generic guarantee can be provided here (it might be possible to guarantee between Base and other packages but it might be impossible between packages that has no explicit dependencies unless the UUID of the package being precompiled is incorporated into the result of gensym). It might be necessary to do manual namespacing when gensym is used this way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions