Skip to content

Update special types. #591

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions