Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Rework use of internal to allow defining of callabes that are not part of public API but implemented outside of original binary #389

@swernli

Description

@swernli

If I mark a Q# callable as internal but also as body intrinsic it must be implemented in the same binary or in a binary that has been allowed via the InternalsVisibleTo attribute. If we want to allow implementations of Q# helper callabes to come from outside of this repo, we need a different way to expose those callables that is neither public nor internal. Perhaps an attribute on a non-internal declaration that marks it as not part of the API surface? Some other trick that makes use of specific patterns in the generated code?

See discussion for this issue in #367, as well as original context in #249.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions