rust/src
bors 1e58871d25 Auto merge of #75518 - davidtwco:issue-75326-polymorphization-symbol-mangling-v0-predicates, r=lcnr
polymorphize: `I` used if `T` used in `I: Foo<T>`

Fixes #75326.

This PR adjusts polymorphization's handling of predicates so that after ensuring that `T` is used in `I: Foo<T>` if `I` is used, it now ensures that `I` is used if `T` is used in `I: Foo<T>`. This is necessary to mark generic parameters that only exist in impl parameters as used - thereby avoiding symbol clashes when using the new mangling scheme.

With this PR, rustc will now fully bootstrap with polymorphization and the new symbol mangling scheme enabled - not all tests pass, but I'm not sure how much of that is the interaction of the two features, I'll be looking into that soon. All tests pass with only polymorphization enabled.

r? @lcnr (this isn't sufficiently complex that I need to add to eddy's review queue)
cc @eddyb
2020-08-15 09:46:22 +00:00
..
bootstrap Auto merge of #75539 - ehuss:fix-crate-version-rustdoc-bootstrap, r=Mark-Simulacrum 2020-08-15 07:55:58 +00:00
build_helper build: Harden env var tracking in build scripts 2020-07-22 19:51:19 +03:00
ci Auto merge of #73383 - ecstatic-morse:test-unoptimized-std, r=Mark-Simulacrum 2020-08-14 07:10:36 +00:00
doc Auto merge of #75431 - ehuss:platform-support, r=Mark-Simulacrum 2020-08-13 06:17:25 +00:00
etc Handle new HashMap layout in CDB, MSVC, WinDbg, etc. 2020-08-07 07:03:15 +01:00
librustc_apfloat
librustc_arena Simplify arena_types macros 2020-08-14 17:34:32 +01:00
librustc_ast Auto merge of #73851 - matthewjasper:serialize-not-special, r=oli-obk 2020-08-15 00:45:13 +00:00
librustc_ast_lowering Rollup merge of #75350 - estebank:foreign-fn-with-body-ice, r=davidtwco 2020-08-10 09:08:03 +09:00
librustc_ast_passes Flip order of const & type 2020-08-12 23:19:07 +00:00
librustc_ast_pretty Eliminate the SessionGlobals from librustc_ast. 2020-08-08 12:03:42 +10:00
librustc_attr Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_builtin_macros Rollup merge of #75319 - estebank:format-ice, r=eddyb 2020-08-13 18:00:08 -07:00
librustc_codegen_llvm Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_codegen_ssa Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_data_structures Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_driver Remove some unnecessary uses of Option. 2020-08-08 12:02:45 +10:00
librustc_error_codes Rollup merge of #75482 - GuillaumeGomez:cleanup-e0752, r=pickfire 2020-08-14 14:46:51 -07:00
librustc_errors Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_expand Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_feature fix min_const_generics version 2020-08-08 13:35:42 +02:00
librustc_fs_util
librustc_graphviz
librustc_hir Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_hir_pretty Remove lots of Symbol::as_str() calls. 2020-07-15 09:01:35 +10:00
librustc_incremental Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_index Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_infer Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_interface Avoid deleting temporary files on error 2020-08-09 08:28:15 -04:00
librustc_lexer Introduce rustc_lexer::is_ident and use it in couple of places 2020-08-11 00:08:04 +03:00
librustc_lint merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
librustc_llvm Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_macros Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_metadata Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_middle Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_mir Auto merge of #75518 - davidtwco:issue-75326-polymorphization-symbol-mangling-v0-predicates, r=lcnr 2020-08-15 09:46:22 +00:00
librustc_mir_build Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_parse Rollup merge of #75513 - estebank:confused-parser, r=davidtwco 2020-08-14 20:07:13 -07:00
librustc_parse_format fix clippy::map_identity: remove redundant .map(|x| x) call 2020-08-07 22:47:32 +02:00
librustc_passes merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
librustc_plugin_impl Increase recursion_limit in librustc_plugin_impl. 2020-08-08 12:05:10 +10:00
librustc_privacy merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
librustc_query_system Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_resolve Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_save_analysis Auto merge of #74932 - nnethercote:rm-ast-session-globals, r=petrochenkov 2020-08-08 05:58:57 +00:00
librustc_serialize Fix rustc_serialize unit tests 2020-08-14 17:34:32 +01:00
librustc_session Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_span Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_symbol_mangling merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
librustc_target Rework rustc_serialize 2020-08-14 17:34:30 +01:00
librustc_trait_selection Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustc_traits fix clippy::needless_return: remove unneeded return statements 2020-08-08 00:57:37 +02:00
librustc_ty merge as_local_hir_id with local_def_id_to_hir_id 2020-08-13 16:55:16 +02:00
librustc_typeck Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
librustdoc Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
llvm-project@86b120e6f3 Update llvm-project to latest origin/rustc/10.0-2020-05-05 commit which includes LVI segfault fix 2020-07-12 18:49:14 +00:00
rustc
rustllvm Auto merge of #75416 - richkadel:llvm-coverage-map-gen-5.3, r=richkadel 2020-08-14 16:27:00 +00:00
test Auto merge of #75518 - davidtwco:issue-75326-polymorphization-symbol-mangling-v0-predicates, r=lcnr 2020-08-15 09:46:22 +00:00
tools Rollup merge of #75448 - lcnr:rn-as_local_hir_id, r=davidtwco 2020-08-14 20:07:11 -07:00
README.md Update outdated readme 2020-07-27 22:05:34 -05:00
stage0.txt Bump to 1.47 2020-07-16 19:36:49 -04:00

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

  • rustc and its tests
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

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