Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include a list of all built-in language items #117

Closed
Havvy opened this issue Sep 22, 2017 · 3 comments
Closed

Include a list of all built-in language items #117

Havvy opened this issue Sep 22, 2017 · 3 comments
Labels
New Content Missing features or aspects of language not currently documented.

Comments

@Havvy
Copy link
Contributor

Havvy commented Sep 22, 2017

From language items: "The set of language items is currently considered unstable. A complete list of the built-in language items will be added in the future."

@Havvy Havvy added Enhancement Improvement in a non-prose section of the book New Content Missing features or aspects of language not currently documented. and removed Enhancement Improvement in a non-prose section of the book labels Sep 22, 2017
@Havvy
Copy link
Contributor Author

Havvy commented Oct 2, 2017

This is a list of all lang items and which file they are located in as of this comment.
src/libstd/f32.rs:#[lang = "f32"]
src/libstd/panicking.rs:#[lang = "panic_fmt"]
src/libstd/f64.rs:#[lang = "f64"]
src/libstd/rt.rs:#[lang = "start"]
src/libstd_unicode/char.rs:#[lang = "char"]
src/libpanic_unwind/emcc.rs:#[lang = "eh_personality"]
src/libpanic_unwind/seh64_gnu.rs:#[lang = "eh_personality"]
src/libpanic_unwind/seh64_gnu.rs:#[lang = "eh_unwind_resume"]
src/libpanic_unwind/seh.rs:#[cfg_attr(not(test), lang = "msvc_try_filter")]
src/libpanic_unwind/seh.rs:#[lang = "eh_personality"]
src/libpanic_unwind/gcc.rs:#[lang = "eh_unwind_resume"]
src/liballoc/boxed.rs:#[lang = "owned_box"]
src/liballoc/slice.rs:#[lang = "slice"]
src/liballoc/str.rs:#[lang = "str"]
src/liballoc/heap.rs:#[lang = "exchange_malloc"]
src/liballoc/heap.rs:#[cfg_attr(not(test), lang = "box_free")]
src/libcore/ops/unsize.rs:#[lang = "coerce_unsized"]
src/libcore/ops/bit.rs:#[lang = "not"]
src/libcore/ops/bit.rs:#[lang = "bitand"]
src/libcore/ops/bit.rs:#[lang = "bitor"]
src/libcore/ops/bit.rs:#[lang = "bitxor"]
src/libcore/ops/bit.rs:#[lang = "shl"]
src/libcore/ops/bit.rs:#[lang = "shr"]
src/libcore/ops/bit.rs:#[lang = "bitand_assign"]
src/libcore/ops/bit.rs:#[lang = "bitor_assign"]
src/libcore/ops/bit.rs:#[lang = "bitxor_assign"]
src/libcore/ops/bit.rs:#[lang = "shl_assign"]
src/libcore/ops/bit.rs:#[lang = "shr_assign"]
src/libcore/ops/deref.rs:#[lang = "deref"]
src/libcore/ops/deref.rs:#[lang = "deref_mut"]
src/libcore/ops/index.rs:#[lang = "index"]
src/libcore/ops/index.rs:#[lang = "index_mut"]
src/libcore/ops/generator.rs:#[cfg_attr(not(stage0), lang = "generator_state")]
src/libcore/ops/generator.rs:#[cfg_attr(not(stage0), lang = "generator")]
src/libcore/ops/drop.rs:#[lang = "drop"]
src/libcore/ops/function.rs:#[lang = "fn"]
src/libcore/ops/function.rs:#[lang = "fn_mut"]
src/libcore/ops/function.rs:#[lang = "fn_once"]
src/libcore/ops/arith.rs:#[lang = "add"]
src/libcore/ops/arith.rs:#[lang = "sub"]
src/libcore/ops/arith.rs:#[lang = "mul"]
src/libcore/ops/arith.rs:#[lang = "div"]
src/libcore/ops/arith.rs:#[lang = "rem"]
src/libcore/ops/arith.rs:#[lang = "neg"]
src/libcore/ops/arith.rs:#[lang = "add_assign"]
src/libcore/ops/arith.rs:#[lang = "sub_assign"]
src/libcore/ops/arith.rs:#[lang = "mul_assign"]
src/libcore/ops/arith.rs:#[lang = "div_assign"]
src/libcore/ops/arith.rs:#[lang = "rem_assign"]
src/libcore/cmp.rs:#[lang = "eq"]
src/libcore/cmp.rs:#[lang = "ord"]
src/libcore/ptr.rs:#[lang = "drop_in_place"]
src/libcore/ptr.rs:#[lang = "const_ptr"]
src/libcore/ptr.rs:#[lang = "mut_ptr"]
src/libcore/panicking.rs:#[lang = "panic"]
src/libcore/panicking.rs:#[lang = "panic_bounds_check"]
src/libcore/panicking.rs:#[lang = "panic_fmt"]
src/libcore/clone.rs:#[lang = "clone"]
src/libcore/marker.rs:#[lang = "send"]
src/libcore/marker.rs:#[lang = "sized"]
src/libcore/marker.rs:#[lang = "unsize"]
src/libcore/marker.rs:#[lang = "copy"]
src/libcore/marker.rs:#[lang = "sync"]
src/libcore/marker.rs:#[lang = "phantom_data"]
src/libcore/marker.rs:#[lang = "freeze"]
src/libcore/cell.rs:#[lang = "unsafe_cell"]
src/libcore/num/mod.rs:#[lang = "i8"]
src/libcore/num/mod.rs:#[lang = "i16"]
src/libcore/num/mod.rs:#[lang = "i32"]
src/libcore/num/mod.rs:#[lang = "i64"]
src/libcore/num/mod.rs:#[lang = "i128"]
src/libcore/num/mod.rs:#[lang = "isize"]
src/libcore/num/mod.rs:#[lang = "isize"]
src/libcore/num/mod.rs:#[lang = "isize"]
src/libcore/num/mod.rs:#[lang = "u8"]
src/libcore/num/mod.rs:#[lang = "u16"]
src/libcore/num/mod.rs:#[lang = "u32"]
src/libcore/num/mod.rs:#[lang = "u64"]
src/libcore/num/mod.rs:#[lang = "u128"]
src/libcore/num/mod.rs:#[lang = "usize"]
src/libcore/num/mod.rs:#[lang = "usize"]
src/libcore/num/mod.rs:#[lang = "usize"]
src/libcore/fmt/mod.rs:#[lang = "debug_trait"]
src/libcore/nonzero.rs:#[lang = "non_zero"]
```</details>

Note that `eh_personality` and `eh_unwind_resume` are defined multiple times because it's platform specific.

@QuietMisdreavus
Copy link
Member

IMO this is more fit for the Unstable Book, in the chapter for lang_items.

@Havvy
Copy link
Contributor Author

Havvy commented Oct 10, 2017

Fixing in the Unstable Book via rust-lang/rust#45181

@Havvy Havvy closed this as completed Oct 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New Content Missing features or aspects of language not currently documented.
Projects
None yet
Development

No branches or pull requests

2 participants