reference icon indicating copy to clipboard operation
reference copied to clipboard

Update special types.

Open ehuss opened this issue 6 years ago • 1 comments

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?:
    • ~~Termination — Exposed indirectly via main.~~ Done in #1194
    • Unsize / CoerceUnsized — Automatically implemented, involved in coercions?
    • UnsafeCell — Maybe for const eval?
    • StructuralPartialEq / StructuralEq — Needed for match checking?
  • 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?

ehuss avatar Apr 21 '19 17:04 ehuss

And type or trait is special if it requires or is a dependency of compiler machinery. The types you think are missing are probably the operator traits and we should probably duplicate that list into the page.

Havvy avatar Apr 22 '19 04:04 Havvy