rust/src
Dylan DPC 79ebf53cbb
Rollup merge of #67585 - ranma42:fix/char-is-ascii-codegen, r=Amanieu
Improve `char::is_ascii_*` codegen

This PR is an attempt to fix https://github.com/rust-lang/rust/issues/65127

A couple of warnings:
 1. the generated code might be further improved (in LLVM and/or MIR) by emitting better comparison sequences; in particular, this would improve the performance of "complex" checks such as those in `is_ascii_punctuation`
 2. the second commit is currently marked "DO NOT MERGE", because it regresses SIMD on `u8` slices; this could likely be fixed by improving the computation/usage of demanded bits in LLVM

An alternative approach to remove the code duplication might be the use of macros, but currently most of the duplication is actually in the doc comments, so maybe just keeping the redundancy could be ok
2020-02-12 14:21:05 +01:00
..
bootstrap Rollup merge of #68947 - chrissimpkins:python-fmt, r=alexcrichton 2020-02-12 18:55:41 +09:00
build_helper
ci Rollup merge of #68947 - chrissimpkins:python-fmt, r=alexcrichton 2020-02-12 18:55:41 +09:00
doc Rollup merge of #68824 - ajpaverd:cfguard-rustbuild, r=Mark-Simulacrum 2020-02-11 16:36:57 +01:00
etc shorten comment blocks to < 100 characters 2020-02-08 08:13:01 -05:00
liballoc Rollup merge of #69058 - TimDiekmann:box, r=Amanieu 2020-02-12 18:55:48 +09:00
libarena
libcore Rollup merge of #67585 - ranma42:fix/char-is-ascii-codegen, r=Amanieu 2020-02-12 14:21:05 +01:00
libfmt_macros
libgraphviz Add option to dot::render for monospace font 2020-02-09 10:33:06 -08:00
libpanic_abort
libpanic_unwind
libproc_macro
libprofiler_builtins
librustc Rollup merge of #69077 - jumbatm:fix-comment, r=Dylan-DPC 2020-02-12 18:55:51 +09:00
librustc_apfloat
librustc_ast_lowering Rollup merge of #68524 - jonas-schievink:generator-resume-arguments, r=Zoxc 2020-02-06 22:38:33 +01:00
librustc_ast_passes Make issue references consistent 2020-02-09 20:43:49 +01:00
librustc_ast_pretty print generic bounds on associated types 2020-02-07 18:18:07 +03:00
librustc_attr Auto merge of #68491 - pnkfelix:hide-niches-under-unsafe-cell, r=oli 2020-02-11 20:48:27 +00:00
librustc_builtin_macros Add #[repr(no_niche)]. 2020-02-10 14:44:12 -05:00
librustc_codegen_llvm Rollup merge of #68487 - 0dvictor:nolink, r=tmandry 2020-02-12 18:55:36 +09:00
librustc_codegen_ssa Merge rustc::middle::*lang_items. 2020-02-11 23:15:27 +01:00
librustc_codegen_utils
librustc_data_structures Move macro enum_from_u32 to rustc_data_structures. 2020-02-11 23:03:53 +01:00
librustc_driver Rollup merge of #68487 - 0dvictor:nolink, r=tmandry 2020-02-12 18:55:36 +09:00
librustc_error_codes Rollup merge of #69055 - GuillaumeGomez:clean-up-e0307, r=Dylan-DPC 2020-02-11 16:37:06 +01:00
librustc_errors Auto merge of #69062 - Dylan-DPC:rollup-7wpjpqu, r=Dylan-DPC 2020-02-11 17:45:49 +00:00
librustc_expand Run RustFmt 2020-02-11 19:49:01 +10:00
librustc_feature Add #[repr(no_niche)]. 2020-02-10 14:44:12 -05:00
librustc_fs_util
librustc_hir Review comments. 2020-02-11 23:21:21 +01:00
librustc_incremental Rollup merge of #66498 - bjorn3:less_feature_flags, r=Dylan-DPC 2020-02-11 16:36:54 +01:00
librustc_index index ReEmpty by universe 2020-02-06 15:58:00 -05:00
librustc_interface Rollup merge of #68487 - 0dvictor:nolink, r=tmandry 2020-02-12 18:55:36 +09:00
librustc_lexer
librustc_lint Auto merge of #69062 - Dylan-DPC:rollup-7wpjpqu, r=Dylan-DPC 2020-02-11 17:45:49 +00:00
librustc_llvm
librustc_macros remove some dependencies on itertools 2020-02-11 19:28:38 +01:00
librustc_metadata Rollup merge of #66498 - bjorn3:less_feature_flags, r=Dylan-DPC 2020-02-11 16:36:54 +01:00
librustc_mir Review comments. 2020-02-11 23:21:21 +01:00
librustc_mir_build Rollup merge of #68999 - andjo403:itertools, r=Centril 2020-02-12 18:55:42 +09:00
librustc_parse Run RustFmt 2020-02-11 19:49:01 +10:00
librustc_passes Rollup merge of #68554 - cjgillot:lang_items, r=Zoxc 2020-02-12 18:55:37 +09:00
librustc_plugin_impl
librustc_privacy Move more into decorate functions. 2020-02-11 19:50:26 +10:00
librustc_resolve Auto merge of #69062 - Dylan-DPC:rollup-7wpjpqu, r=Dylan-DPC 2020-02-11 17:45:49 +00:00
librustc_save_analysis Make associated_items query return a slice 2020-02-08 14:29:18 +01:00
librustc_session Rollup merge of #68487 - 0dvictor:nolink, r=tmandry 2020-02-12 18:55:36 +09:00
librustc_span Auto merge of #68491 - pnkfelix:hide-niches-under-unsafe-cell, r=oli 2020-02-11 20:48:27 +00:00
librustc_target Rollup merge of #66498 - bjorn3:less_feature_flags, r=Dylan-DPC 2020-02-11 16:36:54 +01:00
librustc_traits Reduce the number of RefCells in InferCtxt. 2020-02-10 08:55:34 +11:00
librustc_ty Make associated_items query return a slice 2020-02-08 14:29:18 +01:00
librustc_typeck Review comments. 2020-02-11 23:21:21 +01:00
librustdoc Review comments. 2020-02-11 23:21:21 +01:00
libserialize Remove unused feature gate from libserialize 2020-02-07 13:59:31 +01:00
libstd Rollup merge of #67695 - gilescope:truth, r=centril 2020-02-12 18:55:34 +09:00
libsyntax
libterm
libtest Respect --nocapture in panic=abort test mode 2020-02-06 14:43:53 -08:00
libunwind
llvm-project@d7cdb43592
rtstartup
rustc
rustllvm
stdarch@dea57529b3
test Rollup merge of #69026 - TimDiekmann:common-usage, r=Amanieu 2020-02-12 18:55:44 +09:00
tools Auto merge of #69088 - JohnTitor:rollup-x7bk7h7, r=JohnTitor 2020-02-12 10:10:15 +00:00
README.md
stage0.txt

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.