Skip to content

libcore docs should mention that some atomic operations may not be available #54250

Closed
@mvirkkunen

Description

@mvirkkunen

A number of atomic operations such as AtomicUsize::compare_exchange are simply missing on some platforms such as thumbv6m-none-eabi. The methods are behind this condition:

#[cfg(target_has_atomic = "cas")]

It's understandable that these methods aren't available on platforms that don't support compare-and-swap in hardware. However the documentation doesn't mention that at all, which might lead to people assuming that the functionality is available on all platforms. I think the documentation should clearly mention which parts of libcore may be unavailable depending on the platform.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-enhancementCategory: An issue proposing an enhancement or a PR with one.P-mediumMedium priorityT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions