rust/src
Dylan DPC 024f025934
Rollup merge of #73005 - Aaron1011:fix/error-overflow, r=estebank
Don't create impl candidates when obligation contains errors

Fixes #72839

In PR #72621, trait selection was modified to no longer bail out early
when an error type was encountered. This allowed us treat `ty::Error` as
`Sized`, causing us to avoid emitting a spurious "not sized" error after
a type error had already occured.

However, this means that we may now try to match an impl candidate
against the error type. Since the error type will unify with almost
anything, this can cause us to infinitely recurse (eventually triggering
an overflow) when trying to verify certain `where` clauses.

This commit causes us to skip generating any impl candidates when an
error type is involved.
2020-06-10 11:03:43 +02:00
..
bootstrap Enable LVI hardening for x86_64-fortanix-unknown-sgx 2020-06-07 12:12:30 +02:00
build_helper
ci Enable LVI hardening for x86_64-fortanix-unknown-sgx 2020-06-07 12:12:30 +02:00
doc Rollup merge of #73149 - cuviper:awailable, r=steveklabnik 2020-06-10 01:06:34 +02:00
etc
liballoc Rename some identifiers in RawVec and libarena. 2020-06-09 07:55:35 +10:00
libcore Rollup merge of #73148 - DarkEld3r:patch-1, r=jonas-schievink 2020-06-10 01:06:32 +02:00
libpanic_abort Bump bootstrap compiler 2020-04-25 09:25:33 -04:00
libpanic_unwind Bump to 1.46 2020-06-03 15:27:51 -04:00
libproc_macro Add test for proc_macro::LineColumn 2020-05-21 17:15:13 -07:00
libprofiler_builtins
librustc_apfloat Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
librustc_arena Rename some identifiers in RawVec and libarena. 2020-06-09 07:55:35 +10:00
librustc_ast Make things build again 2020-06-02 20:38:24 +03:00
librustc_ast_lowering Rename the crates in source code 2020-06-02 20:42:54 +03:00
librustc_ast_passes Disallow forbidden usage of non-ascii identifiers. 2020-05-17 01:31:18 +08:00
librustc_ast_pretty Move InlineAsmTemplatePiece and InlineAsmOptions to librustc_ast 2020-05-18 14:41:33 +01:00
librustc_attr Make things build again 2020-06-02 20:38:24 +03:00
librustc_builtin_macros Rename the crates in source code 2020-06-02 20:42:54 +03:00
librustc_codegen_llvm Make things build again 2020-06-02 20:38:24 +03:00
librustc_codegen_ssa Use shorthand linker strip arguments in order to support MacOS 2020-06-08 17:51:34 +01:00
librustc_data_structures Rename the crates in source code 2020-06-02 20:42:54 +03:00
librustc_driver Auto merge of #72927 - petrochenkov:rustc, r=Mark-Simulacrum 2020-06-06 09:00:51 +00:00
librustc_error_codes Rollup merge of #73123 - GuillaumeGomez:cleanup-e0647, r=Dylan-DPC 2020-06-10 01:06:29 +02:00
librustc_errors Rollup merge of #72026 - botika:master, r=estebank 2020-06-08 09:55:18 +02:00
librustc_expand Rollup merge of #73122 - doctorn:issue-73116, r=varkor 2020-06-10 01:06:27 +02:00
librustc_feature Rollup merge of #71862 - LeSeulArtichaut:unsafe-block-in-unsafe-fn, r=nikomatsakis 2020-05-29 21:58:25 +02:00
librustc_fs_util
librustc_graphviz Rename the crates in source code 2020-06-02 20:42:54 +03:00
librustc_hir Auto merge of #72927 - petrochenkov:rustc, r=Mark-Simulacrum 2020-06-06 09:00:51 +00:00
librustc_hir_pretty save_analysis: work on HIR tree instead of AST 2020-06-04 08:31:41 +01:00
librustc_incremental Rename the crates in source code 2020-06-02 20:42:54 +03:00
librustc_index Make things build again 2020-06-02 20:38:24 +03:00
librustc_infer Auto merge of #72114 - anyska:vtable-rename, r=nikomatsakis 2020-06-09 09:14:49 +00:00
librustc_interface Rollup merge of #72799 - Aaron1011:feature/span-debug, r=petrochenkov 2020-06-08 09:55:26 +02:00
librustc_lexer Simplify raw string error reporting. 2020-06-01 22:01:19 +02:00
librustc_lint lint: transitive FFI-safety for transparent types 2020-06-09 14:37:08 +01:00
librustc_llvm Don't skip building LLVM if already built 2020-05-02 18:43:55 -04:00
librustc_macros Add descriptions for all queries 2020-05-31 20:15:32 +01:00
librustc_metadata Use LocalDefId directly in Resolver::export_map and module_exports query 2020-06-07 21:15:57 +01:00
librustc_middle Rollup merge of #72890 - davidtwco:issue-66202-normalize-and-transparent-improper-ctypes, r=varkor 2020-06-10 11:03:40 +02:00
librustc_mir Rollup merge of #73133 - doctorn:unwind-mir-validation, r=jonas-schievink 2020-06-10 01:06:30 +02:00
librustc_mir_build rename FalseEdges -> FalseEdge 2020-06-07 10:12:21 +02:00
librustc_parse Create new error code E0758 for unterminated multi-line comments 2020-06-07 14:57:53 +02:00
librustc_parse_format Make things build again 2020-06-02 20:38:24 +03:00
librustc_passes liveness: Warn about unused captured variables 2020-05-29 17:46:38 +02:00
librustc_plugin_impl Remove ast::{Ident, Name} reexports. 2020-05-08 13:13:15 +02:00
librustc_privacy iterate List by value 2020-05-23 12:24:19 +02:00
librustc_query_system Rename the crates in source code 2020-06-02 20:42:54 +03:00
librustc_resolve Rollup merge of #72789 - petrochenkov:impcand, r=davidtwco 2020-06-10 11:03:38 +02:00
librustc_save_analysis save_analysis: fix panic in write_sub_paths_truncated 2020-06-06 23:40:24 +01:00
librustc_serialize Update fulldeps tests and clippy 2020-06-03 00:18:57 +03:00
librustc_session Rollup merge of #72799 - Aaron1011:feature/span-debug, r=petrochenkov 2020-06-08 09:55:26 +02:00
librustc_span Auto merge of #72927 - petrochenkov:rustc, r=Mark-Simulacrum 2020-06-06 09:00:51 +00:00
librustc_symbol_mangling iterate List by value 2020-05-23 12:24:19 +02:00
librustc_target Auto merge of #72655 - jethrogb:sgx-lvi-hardening, r=petrochenkov 2020-06-08 20:10:07 +00:00
librustc_trait_selection Rollup merge of #73005 - Aaron1011:fix/error-overflow, r=estebank 2020-06-10 11:03:43 +02:00
librustc_traits change WellFormed predicate to GenericArg 2020-06-02 15:02:36 +02:00
librustc_ty Auto merge of #72114 - anyska:vtable-rename, r=nikomatsakis 2020-06-09 09:14:49 +00:00
librustc_typeck Auto merge of #72114 - anyska:vtable-rename, r=nikomatsakis 2020-06-09 09:14:49 +00:00
librustdoc Rollup merge of #73098 - jyn514:rustdoc-is-fake, r=GuillaumeGomez 2020-06-10 01:06:25 +02:00
libstd Auto merge of #72655 - jethrogb:sgx-lvi-hardening, r=petrochenkov 2020-06-08 20:10:07 +00:00
libterm Replace filter_map().next() calls with find_map() 2020-04-24 20:03:45 -07:00
libtest typo: awailable -> available 2020-06-08 13:37:58 -07:00
libunwind Make libunwind build hermetic 2020-05-29 11:34:41 -07:00
llvm-project@02e0d7fa55 Update LLVM submodule to include lld NOLOAD fix 2020-06-05 11:36:45 -07:00
rtstartup
rustc
rustllvm Improve inline asm error diagnostics 2020-05-29 17:05:35 +01:00
stdarch@45340c0e2f Update stdarch submodule to latest head 2020-05-31 00:12:59 +02:00
test Rollup merge of #73005 - Aaron1011:fix/error-overflow, r=estebank 2020-06-10 11:03:43 +02:00
tools Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
README.md
stage0.txt Bump to 1.46 2020-06-03 15:27:51 -04: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 dev guide.