rust/src
bors 78ca1bda35 Auto merge of #62473 - timvermeulen:is_sorted_by_key, r=scottmcm
Only call the closure parameter of Iterator::is_sorted_by_key once per item

See https://github.com/rust-lang/rust/issues/53485#issuecomment-472314004.

This changes `Iterator::is_sorted_by_key` to only call the given closure once for each item, which allows us to pass the items to the closure by value instead of by reference.

**Important**: `is_sorted_by_key` for slices and slice iterators is now no longer implemented in terms of the custom `slice::Iter::is_sorted_by` implementation. It's a trade-off: we could forward `slice::Iter::is_sorted_by_key` to it directly for potential SIMD benefits, but that would mean that the closure is potentially called twice for (almost) every element of the slice.
2019-07-08 12:03:06 +00:00
..
bootstrap Rollup merge of #62438 - petrochenkov:buildwarn, r=Mark-Simulacrum 2019-07-07 05:11:55 +02:00
build_helper Bump compiler-builtins to 0.1.15 2019-05-22 07:46:36 -07:00
ci cfg: linkcheck only on x86-64 linux 2019-07-06 11:05:22 -03:00
doc rustdoc: set cfg(doctest) when collecting doctests 2019-07-06 21:37:17 -05:00
etc Rollup merge of #62337 - Mark-Simulacrum:fix-cpu-usage-script, r=alexcrichton 2019-07-04 01:38:59 +02:00
grammar
liballoc Rollup merge of #61862 - vorner:weak-into-raw-methods, r=sfackler 2019-07-06 22:14:35 +02:00
libarena rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
libcore Auto merge of #62473 - timvermeulen:is_sorted_by_key, r=scottmcm 2019-07-08 12:03:06 +00:00
libfmt_macros rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
libgraphviz rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
libpanic_abort
libpanic_unwind Make use of ptr::null(_mut) instead of casting zero 2019-06-17 10:52:46 +00:00
libproc_macro Rollup merge of #62249 - czipperz:use-mem-take-instead-of-replace-default, r=dtolnay,Centril 2019-07-04 01:38:46 +02:00
libprofiler_builtins Ship profiler with windows-gnu 2019-05-23 13:32:30 +02:00
librustc Rollup merge of #62042 - petrochenkov:macstab, r=matthewjasper 2019-07-07 17:00:17 +02:00
librustc_allocator rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_apfloat rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_asan
librustc_borrowck rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_codegen_llvm normalize use of backticks for compiler messages in librustc_codegen 2019-07-08 00:54:38 +02:00
librustc_codegen_ssa normalize use of backticks for compiler messages in librustc_codegen 2019-07-08 00:54:38 +02:00
librustc_codegen_utils normalize use of backticks for compiler messages in librustc_codegen 2019-07-08 00:54:38 +02:00
librustc_data_structures rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_driver Rollup merge of #62168 - ljedrz:the_culmination_of_hiridification, r=Zoxc 2019-07-05 20:26:56 +02:00
librustc_errors rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_fs_util rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_incremental rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_interface rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_lint Rollup merge of #61883 - zackmdavis:non_ascii_idents_lint, r=Manishearth 2019-07-07 17:00:15 +02:00
librustc_llvm rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_lsan
librustc_macros Rollup merge of #61545 - flip1995:internal_lints, r=oli-obk 2019-07-05 20:26:51 +02:00
librustc_metadata rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_mir rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_msan
librustc_passes rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_plugin Rollup merge of #62042 - petrochenkov:macstab, r=matthewjasper 2019-07-07 17:00:17 +02:00
librustc_privacy rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_resolve Rollup merge of #62042 - petrochenkov:macstab, r=matthewjasper 2019-07-07 17:00:17 +02:00
librustc_save_analysis rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_target Auto merge of #59800 - Zoxc:less-dylibs, r=alexcrichton 2019-07-07 11:32:58 +00:00
librustc_traits rustc: Remove dylib crate type from most rustc crates 2019-07-07 03:23:00 +02:00
librustc_tsan
librustc_typeck normalize use of backticks in compiler messages for librustc_typecheck 2019-07-07 18:27:21 +02:00
librustdoc rustdoc: set cfg(doctest) when collecting doctests 2019-07-06 21:37:17 -05:00
libserialize Rollup merge of #62042 - petrochenkov:macstab, r=matthewjasper 2019-07-07 17:00:17 +02:00
libstd Document while keyword 2019-07-07 22:17:26 +09:00
libsyntax Rollup merge of #62213 - QuietMisdreavus:cfg-doctest, r=GuillaumeGomez 2019-07-07 17:00:18 +02:00
libsyntax_ext Rollup merge of #62042 - petrochenkov:macstab, r=matthewjasper 2019-07-07 17:00:17 +02:00
libsyntax_pos Rollup merge of #62213 - QuietMisdreavus:cfg-doctest, r=GuillaumeGomez 2019-07-07 17:00:18 +02:00
libterm Remove use of mem::uninitialized in libterm crate 2019-07-06 03:27:05 +00:00
libtest Separate libtest module 2019-06-16 14:17:01 +03:00
libunwind Re-add bootstrap attribute to libunwind for llvm-libunwind feature 2019-07-07 15:45:04 -07:00
llvm-emscripten@7f23313edf
llvm-project@8538d56b2d Update LLVM: apply patches for pc-relative addressing on 64-bit RISC-V 2019-07-01 23:52:04 +03:00
rtstartup
rustc Remove leading newlines 2019-04-22 17:01:33 +01:00
rustllvm Limit internalization in LLVM 8 ThinLTO 2019-04-26 08:58:14 -07:00
stdsimd@4bf456c35e Breaking update of stdsimd 2019-04-22 09:07:25 +02:00
test Rollup merge of #62478 - fakenine:normalize_use_of_backticks_compiler_messages_p3, r=Centril 2019-07-08 02:40:58 +02:00
tools Auto merge of #62434 - Manishearth:clippyup, r=Manishearth 2019-07-07 08:07:54 +00:00
.gitignore
README.md
stage0.txt Switch master to 1.38 2019-07-04 11:26:57 -04:00

This directory contains the source code of the rust project, including:

  • rustc and its tests
  • libstd
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc guide.

There is also useful content in the following READMEs, which are gradually being moved over to the guide: