rust/src
Alex Crichton bbb5448de4 std: Render large exit codes as hex on Windows
On Windows process exit codes are never signals but rather always 32-bit
integers. Most faults like segfaults and such end up having large
integers used to represent them, like STATUS_ACCESS_VIOLATION being
0xC0000005. Currently, however, when an `ExitStatus` is printed this
ends up getting rendered as 3221225477 which is somewhat more difficult
to debug.

This commit adds a branch in `Display for ExitStatus` on Windows which
handles exit statuses where the high bit is set and prints those exit
statuses as hex instead of with decimals. This will hopefully preserve
the current display for small exit statuses (like `exit code: 22`), but
assist in quickly debugging segfaults/access violations/etc. I've
found at least that the hex codes are easier to search for than decimal.

I wasn't able to find any official documentation saying that all system
exit codes have the high bit set, but I figure it's a good enough
heuristic for now.
2019-01-10 07:52:33 -08:00
..
bootstrap Build LLVM with -static-libstdc++ on dist builds 2019-01-07 19:48:16 -08:00
build_helper Remove licenses 2018-12-25 21:08:33 -07:00
ci ci: Upgrade Travis to Xenial 2019-01-03 12:22:37 -08:00
doc stabilise cfg_attr 2019-01-08 00:17:03 +05:30
etc Rollup merge of #57358 - euclio:docck-unicode, r=QuietMisdreavus 2019-01-07 16:25:36 +01:00
grammar Remove licenses 2018-12-25 21:08:33 -07:00
liballoc Rollup merge of #57313 - Nemo157:box-to-pin, r=cramertj 2019-01-05 23:56:58 +08:00
libarena Check the correct arena 2019-01-01 20:06:50 +01:00
libcore Rollup merge of #57375 - stjepang:duration-constants, r=joshtriplett 2019-01-07 16:25:40 +01:00
libfmt_macros Point at correct span for arguments in format strings 2018-12-26 20:36:02 -08:00
libgraphviz Remove licenses 2018-12-25 21:08:33 -07:00
libpanic_abort Bound sgx target_env with fortanix as target_vendor 2018-12-31 16:32:56 -08:00
libpanic_unwind Remove licenses 2018-12-25 21:08:33 -07:00
libproc_macro Work-around for shadowing of variant names with assoc const names in libproc_macro/bridge/rpc.rs. 2018-12-26 21:40:21 +00:00
libprofiler_builtins Remove licenses 2018-12-25 21:08:33 -07:00
librustc Auto merge of #57114 - Zoxc:query-perf11, r=michaelwoerister 2019-01-08 14:11:19 +00:00
librustc_allocator Remove licenses 2018-12-25 21:08:33 -07:00
librustc_apfloat Fix repeated word typos 2019-01-03 21:33:37 +01:00
librustc_asan Remove licenses 2018-12-25 21:08:33 -07:00
librustc_borrowck Update link to rustc guide 2018-12-28 13:34:00 -05:00
librustc_codegen_llvm add support for principal-less trait object types 2019-01-04 00:34:52 +02:00
librustc_codegen_ssa Auto merge of #57145 - RalfJung:panic-if-uninhabited, r=alexcrichton 2019-01-05 14:58:57 +00:00
librustc_codegen_utils Remove licenses 2018-12-25 21:08:33 -07:00
librustc_cratesio_shim Remove licenses 2018-12-25 21:08:33 -07:00
librustc_data_structures Rollup merge of #57308 - Zoxc:controller-sync, r=michaelwoerister 2019-01-07 16:25:35 +01:00
librustc_driver Auto merge of #57303 - matthiaskrgr:clippy_submodule_upd, r=oli-obk 2019-01-07 19:44:00 +00:00
librustc_errors Remove licenses 2018-12-25 21:08:33 -07:00
librustc_fs_util Remove licenses 2018-12-25 21:08:33 -07:00
librustc_incremental Clean up and optimize OpenTask / read_index 2018-12-31 16:24:22 +01:00
librustc_lint Fix repeated word typos 2019-01-03 21:33:37 +01:00
librustc_llvm Rollup merge of #57369 - petrhosek:llvm-libcxx, r=alexcrichton 2019-01-07 16:25:38 +01:00
librustc_lsan Remove licenses 2018-12-25 21:08:33 -07:00
librustc_metadata Store Ident rather than just Name in HIR types Item and ForeignItem. 2018-12-26 21:26:37 +00:00
librustc_mir Auto merge of #56638 - matthewjasper:remove-ref-region, r=nikomatsakis 2019-01-08 19:33:20 +00:00
librustc_msan Remove licenses 2018-12-25 21:08:33 -07:00
librustc_passes Do not abort compilation if expansion produces errors 2018-12-27 15:51:36 +03:00
librustc_platform_intrinsics Remove licenses 2018-12-25 21:08:33 -07:00
librustc_plugin Remove licenses 2018-12-25 21:08:33 -07:00
librustc_privacy Address review comments 2019-01-06 03:31:43 +03:00
librustc_resolve Fix repeated word typos 2019-01-03 21:33:37 +01:00
librustc_save_analysis Replace CrateAnalysis::access_levels with query 2019-01-04 19:12:48 +01:00
librustc_target Remove licenses 2018-12-25 21:08:33 -07:00
librustc_traits Auto merge of #56837 - arielb1:nonprincipal-trait-objects, r=nikomatsakis 2019-01-05 03:36:31 +00:00
librustc_tsan Remove licenses 2018-12-25 21:08:33 -07:00
librustc_typeck Auto merge of #57291 - euclio:method-call-suggestion, r=estebank 2019-01-06 10:30:05 +00:00
librustdoc Rollup merge of #57343 - Xanewok:querify-access-levels, r=nikomatsakis 2019-01-05 23:57:06 +08:00
libserialize Remove licenses 2018-12-25 21:08:33 -07:00
libstd std: Render large exit codes as hex on Windows 2019-01-10 07:52:33 -08:00
libsyntax remove unwanted stage0 line, fix style 2019-01-08 00:21:16 +05:30
libsyntax_ext make panictry! private to libsyntax 2019-01-02 11:02:30 -05:00
libsyntax_pos Remove licenses 2018-12-25 21:08:33 -07:00
libterm Remove licenses 2018-12-25 21:08:33 -07:00
libtest Bound sgx target_env with fortanix as target_vendor 2018-12-31 16:32:56 -08:00
libunwind Remove licenses 2018-12-25 21:08:33 -07:00
llvm@f4728ed8fa Update LLVM submodule 2018-12-18 15:26:10 +05:30
llvm-emscripten@7f23313edf Pull in fix for dist-i686-linux build 2018-11-09 16:59:45 +01:00
rtstartup Remove licenses 2018-12-25 21:08:33 -07:00
rustc rustc: Fix regression where jemalloc isn't used 2019-01-03 13:52:36 -08:00
rustllvm Remove licenses 2018-12-25 21:08:33 -07:00
stdsimd@ddb30221d7 Update the stdsimd submodule 2019-01-02 11:37:59 -08:00
test Auto merge of #57332 - Dylan-DPC:feature/stabilise-cfg-attr, r=Centril 2019-01-08 07:49:13 +00:00
tools submodules: update rls from 6f5e4bb to 1a6361b 2019-01-07 18:57:21 +01:00
.gitignore
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
stage0.txt Bump stage0 2019-01-04 07:30:20 -08: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: