Skip to content

Update special types. #591

Open
Open
@ehuss

Description

@ehuss

I think there are some types missing from special-types-and-traits.md. In particular, I think Fn, FnMut, and FnOnce are special. What is the criteria for being special? Is there anything else missing from the list?

Things to consider adding:

  • cmp:
    • Eq
    • PartialEq
    • Ord
    • PartialOrd
  • ops:
    • Add
    • AddAssign
    • BitAnd
    • BitAndAssign
    • BitOr
    • BitOrAssign
    • BitXor
    • BitXorAssign
    • Div
    • DivAssign
    • Fn
    • FnMut
    • FnOnce
    • Index
    • IndexMut
    • Mul
    • MulAssign
    • Neg
    • Not
    • Rem
    • RemAssign
    • Shl
    • ShlAssign
    • Shr
    • ShrAssign
    • Sub
    • SubAssign
  • Misc:
    • Unpin — Automatically implemented on most types, but not otherwise "used" by the language?
    • Future
    • ManuallyDrop
    • IntoIterator
    • IntoFuture
  • Unstable but maybe exposed in some way?:
  • Unstable (not exposed?):
    • Generator, GeneratorState
    • Try
    • DispatchFromDyn ()
    • VaListImpl (va_list lang item)
    • Receiver (currently hard-coded in reference)
    • start
    • eh_personality
    • eh_catch_typeinfo
  • Panic stuff — From a language perspective, is there anything relevant here?
  • Relevance unknown:
    • Freeze
    • exchange_malloc
    • box_free
    • drop_in_place
    • oom
    • alloc_layout
    • MaybeUninit
    • align_offset — const eval?

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