Open
Description
We want to stabilize numerics, which come with Option. But not stabilize iterators and tuples yet which are found in the Option API.
We need to mark those methods as unstable somehow so they won't be used by accident?
[[deprecated]]
?- A marker
unstable_fn
type? [[clang::annotate]]
?
We also want to mark concepts (e.g. NeverValueField) or types (e.g. Iterator) as unstable.
[[clang::annotate("sus::unstable")]]
seems like the most clear choice except it wouldn't do anything. We'd need to just say you can't use them, and we can write a clang-tidy pass that errors on their use?
The use of a clang-only attribute is unfortunate. Not sure how to address this in a cross-compiler way. This would be enough for some projects like Chromium.