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

P0900: Per Property Assignability combined with "default property mode" #65

@crtrott

Description

@crtrott

In order to get through the "pass it into a generic context" and everybody can convert into everybody quandary we could propose that every property has a default mode. If a span with a property A and a mode alpha is trying to get to assigned to a span which doesn't have property A than assignability is determined by the compatibility of mode alpha with the default mode of A. Thus for example the default mode of atomic_access could be false and the property could define that assigning atomic_access with true to a span with false is not allowed. Thus we have a pretty straight forward non-exponential mechanism to distinguish between properties where it is safe to just ignore the property then passing a span to a function and properties, such as atomic, where it may not be safe to do so. The beauty of this approach is that each property itself is responsibility to define the validity of a decay. One requirement of the default mode of a property would be that it does not have any effect on the span, i.e. it is the same as not defining it.

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