rust/src
bors ffaf3d2567 Auto merge of #52069 - zackmdavis:elided_states_of_america—and_to_the_re-pub-lic, r=nikomatsakis
add structured suggestions and fix false-positive for elided-lifetimes-in-paths lint

This adds structured suggestions to the elided-lifetimes-in-paths lint (introduced in Nov. 2017's #46254), prevents it from emitting a false-positive on anonymous (underscore) lifetimes (!), and adds it to the idioms-2018 group (#52041).

~~As an aside, "elided-lifetimes-in-paths" seems like an unfortunate name, because it's not clear exactly what "elided" means. The motivation for this lint (see original issue #45992, and [RFC 2115](e978a8d301/text/2115-argument-lifetimes.md (motivation))) seems to be specifically about not supplying angle-bracketed lifetime arguments to non-`&` types, but (1) the phrase "lifetime elision" has historically also referred to the ability to not supply a lifetime name to `&` references, and (2) an `is_elided` method in the HIR returns true for anoymous/underscore lifetimes, which is _not_ what we're trying to lint here. (That naming confusion is almost certainly what led to the false positive addressed here.) Given that the lint is relatively new and is allow-by-default, is it too late to rename it ... um, _again_ (#50879)?~~

~~This does _not_ address a couple of other false positives discovered in https://github.com/rust-lang/rust/issues/52041#issuecomment-402547901.~~

![elided_states](https://user-images.githubusercontent.com/1076988/42302137-2bf9479c-7fce-11e8-8bd0-f29aefc802b6.png)

r? @nikomatsakis
cc @nrc @petrochenkov
2018-07-22 20:54:05 +00:00
..
bootstrap Rollup merge of #52594 - Mark-Simulacrum:error-index-stage0, r=alexcrichton 2018-07-23 01:00:09 +08:00
build_helper Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
ci Rollup merge of #52465 - sekineh:add-ci-thumb, r=alexcrichton 2018-07-22 22:10:10 +08:00
dlmalloc@c99638dc2e
doc Fix links in rustdoc book. 2018-07-18 21:10:25 -07:00
etc
grammar
jemalloc@1f5a28755e
liballoc Rollup merge of #51807 - newpavlov:deprecate_str_slice, r=alexcrichton 2018-07-22 22:10:09 +08:00
liballoc_jemalloc
liballoc_system
libarena
libbacktrace@f4d02bbdbf
libcompiler_builtins@b4a3645cfe update compiler-builtins for openbsd 2018-07-18 10:38:56 -07:00
libcore Rollup merge of #52051 - scottmcm:swap-directly, r=alexcrichton 2018-07-23 01:02:41 +08:00
libfmt_macros fix test 2018-07-21 20:48:15 -07:00
libgraphviz
liblibc@b6d23ed45d
libpanic_abort
libpanic_unwind
libproc_macro proc_macro: avoid exposing internal details in formatting impls. 2018-07-20 06:27:16 +03:00
libprofiler_builtins
librustc Auto merge of #52069 - zackmdavis:elided_states_of_america—and_to_the_re-pub-lic, r=nikomatsakis 2018-07-22 20:54:05 +00:00
librustc_allocator
librustc_apfloat
librustc_asan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_borrowck
librustc_codegen_llvm Auto merge of #52438 - ljedrz:rustc_vec_capacity, r=eddyb 2018-07-21 00:55:46 +00:00
librustc_codegen_utils
librustc_cratesio_shim
librustc_data_structures Auto merge of #52250 - nnethercote:no-SparseBitMatrix, r=nikomatsakis 2018-07-22 02:43:57 +00:00
librustc_driver Auto merge of #52197 - euclio:exit-code, r=oli-obk 2018-07-19 13:46:15 +00:00
librustc_errors Auto merge of #51485 - estebank:dehighlight-secondary-msgs, r=GuillaumeGomez 2018-07-21 23:50:28 +00:00
librustc_incremental Implement existential types 2018-07-18 10:53:08 +02:00
librustc_lint in which the elided-lifetimes-in-paths lint undergoes a revolution 2018-07-22 08:27:10 -07:00
librustc_llvm rustc: Remove a workaroudn in ThinLTO fixed upstream 2018-07-18 11:37:56 -07:00
librustc_lsan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_metadata Auto merge of #52552 - eddyb:proc-macro-prep, r=alexcrichton 2018-07-21 08:31:32 +00:00
librustc_mir Auto merge of #52616 - kennytm:rollup, r=kennytm 2018-07-22 18:51:46 +00:00
librustc_msan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_passes
librustc_platform_intrinsics
librustc_plugin
librustc_privacy Implement existential types 2018-07-18 10:53:08 +02:00
librustc_resolve resolve: Add more comments to in-module resolution 2018-07-20 12:22:25 +03:00
librustc_save_analysis Match ergonomics 2018-07-18 10:53:10 +02:00
librustc_target
librustc_traits Convert implied_outlives_bounds to a query 2018-07-21 15:56:44 +03:00
librustc_tsan Don't build twice the sanitizers on Linux 2018-07-18 07:44:11 -07:00
librustc_typeck Auto merge of #52438 - ljedrz:rustc_vec_capacity, r=eddyb 2018-07-21 00:55:46 +00:00
librustdoc Rollup merge of #52581 - petrochenkov:bmacrodoc, r=alexcrichton 2018-07-23 01:00:03 +08:00
libserialize
libstd Rollup merge of #52582 - felixrabe:patch-2, r=pietroalbini 2018-07-23 01:00:05 +08:00
libstd_unicode
libsyntax Rollup merge of #52581 - petrochenkov:bmacrodoc, r=alexcrichton 2018-07-23 01:00:03 +08:00
libsyntax_ext fix logic bug 2018-07-21 17:17:49 -07:00
libsyntax_pos Auto merge of #52024 - oli-obk:existential_parse, r=nikomatsakis 2018-07-19 21:14:01 +00:00
libterm
libtest
libunwind
llvm@0368490510
llvm-emscripten@2717444753
rtstartup
rustc
rustllvm rustc: Remove a workaroudn in ThinLTO fixed upstream 2018-07-18 11:37:56 -07:00
stdsimd@b9de11ab43 Update stdsimd to undo an accidental stabilization 2018-07-20 22:34:09 -07:00
test Auto merge of #52069 - zackmdavis:elided_states_of_america—and_to_the_re-pub-lic, r=nikomatsakis 2018-07-22 20:54:05 +00:00
tools Don't invent new magic keywords 2018-07-21 12:36:18 +02:00
Cargo.lock Remove dependency on libsyntax 2018-07-21 16:18:06 -07:00
Cargo.toml
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.

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