rust/src
bors a19edd6b16 Auto merge of #68802 - eddyb:debuginfo-there-can-only-be-one-arg, r=nagisa
rustc_codegen_ssa: don't treat inlined variables as debuginfo arguments.

Fixes #67586 by limiting `ArgumentVariable` special-casing to `VarDebugInfo` entries that are in `OUTERMOST_SOURCE_SCOPE`, i.e. the function's own argument scope.
That excludes `VarDebugInfo` from inlined callees, which can also point to the caller's argument locals.

This is a snippet from the optimized MIR (including inlining) of the testcase:
```rust
fn  foo(_1: usize) -> usize {
    debug bar => _1;                     // in scope 0 at ./example.rs:2:12: 2:15
    let mut _0: usize;                   // return place in scope 0 at ./example.rs:2:27: 2:32
    scope 1 {
        debug x => _1;                   // in scope 1 at /rustc/9ed29b6ff6aa2e048b09c27af8f62ee3040bdb37/src/libcore/convert/mod.rs:106:26: 106:27
    }
```
`scope 1` is from inlining the `identity` call, and `debug x => _1;` comes from the body of `core::convert::identity`, so they are now ignored for the purposes of determining the `ArgumentVariable` debuginfo associated to `_1`.
2020-02-08 21:28:05 +00:00
..
bootstrap rustc: rename -Zexternal-macro-backtrace to -Zmacro-backtrace. 2020-02-06 21:32:07 +02:00
build_helper
ci
doc Rollup merge of #68164 - tmiasko:no-sanitize, r=nikomatsakis 2020-02-07 17:00:16 +01:00
etc
liballoc Auto merge of #68499 - ssomers:btree_search_tidying, r=Mark-Simulacrum 2020-02-07 06:24:55 +00:00
libarena
libcore Auto merge of #68358 - matthewjasper:spec-fix, r=nikomatsakis 2020-02-08 03:46:56 +00:00
libfmt_macros
libgraphviz
libpanic_abort
libpanic_unwind
libproc_macro
libprofiler_builtins
librustc Auto merge of #68452 - msizanoen1:riscv-abi, r=nagisa,eddyb 2020-02-08 18:10:48 +00: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
librustc_ast_pretty
librustc_attr
librustc_builtin_macros Rollup merge of #68788 - Centril:unified-fn-bodies, r=petrochenkov 2020-02-06 15:37:41 +01:00
librustc_codegen_llvm
librustc_codegen_ssa Auto merge of #68802 - eddyb:debuginfo-there-can-only-be-one-arg, r=nagisa 2020-02-08 21:28:05 +00:00
librustc_codegen_utils
librustc_data_structures Rollup merge of #68524 - jonas-schievink:generator-resume-arguments, r=Zoxc 2020-02-06 22:38:33 +01:00
librustc_driver Move the krate method to Hir and remove the Krate dep node 2020-02-06 13:23:32 +01:00
librustc_error_codes Rollup merge of #68928 - GuillaumeGomez:cleanup-e0276, r=Dylan-DPC 2020-02-07 17:00:27 +01:00
librustc_errors rustc_macros: don't limit the -Zmacro-backtrace suggestion to extern macros. 2020-02-06 21:46:38 +02:00
librustc_expand Rollup merge of #68788 - Centril:unified-fn-bodies, r=petrochenkov 2020-02-06 15:37:41 +01:00
librustc_feature
librustc_fs_util
librustc_hir
librustc_incremental
librustc_index index ReEmpty by universe 2020-02-06 15:58:00 -05:00
librustc_interface Remove the Forest type 2020-02-06 13:41:37 +01:00
librustc_lexer
librustc_lint Rollup merge of #68844 - euclio:debug-impl-def-path, r=petrochenkov 2020-02-06 15:37:46 +01:00
librustc_llvm
librustc_macros
librustc_metadata Add a Hir wrapper type 2020-02-06 12:05:40 +01:00
librustc_mir Auto merge of #65232 - nikomatsakis:lazy-norm-anon-const-push-2, r=matthewjasper 2020-02-07 23:08:52 +00:00
librustc_mir_build Rollup merge of #68524 - jonas-schievink:generator-resume-arguments, r=Zoxc 2020-02-06 22:38:33 +01:00
librustc_parse Rollup merge of #68845 - dwrensha:fix-68783, r=estebank 2020-02-06 15:37:47 +01:00
librustc_passes Rollup merge of #68889 - Zoxc:hir-krate, r=eddyb 2020-02-07 17:00:19 +01:00
librustc_plugin_impl
librustc_privacy
librustc_resolve Rollup merge of #68889 - Zoxc:hir-krate, r=eddyb 2020-02-07 17:00:19 +01:00
librustc_save_analysis
librustc_session Auto merge of #65232 - nikomatsakis:lazy-norm-anon-const-push-2, r=matthewjasper 2020-02-07 23:08:52 +00:00
librustc_span Rollup merge of #68164 - tmiasko:no-sanitize, r=nikomatsakis 2020-02-07 17:00:16 +01:00
librustc_target Auto merge of #68452 - msizanoen1:riscv-abi, r=nagisa,eddyb 2020-02-08 18:10:48 +00:00
librustc_traits Auto merge of #65232 - nikomatsakis:lazy-norm-anon-const-push-2, r=matthewjasper 2020-02-07 23:08:52 +00:00
librustc_ty Rollup merge of #68837 - jonas-schievink:assoc-item-lookup-2, r=estebank 2020-02-06 15:37:43 +01:00
librustc_typeck Auto merge of #65232 - nikomatsakis:lazy-norm-anon-const-push-2, r=matthewjasper 2020-02-07 23:08:52 +00:00
librustdoc Auto merge of #65232 - nikomatsakis:lazy-norm-anon-const-push-2, r=matthewjasper 2020-02-07 23:08:52 +00:00
libserialize
libstd Rollup merge of #68524 - jonas-schievink:generator-resume-arguments, r=Zoxc 2020-02-06 22:38:33 +01: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 Auto merge of #68802 - eddyb:debuginfo-there-can-only-be-one-arg, r=nagisa 2020-02-08 21:28:05 +00:00
tools update miri 2020-02-07 15:04:44 +01: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.