rust/src
David Wood 59e621c196
interp: needs_subst -> ensure_monomorphic_enough
This commit adds a `ensure_monomorphic_enough` utility function which
checks whether a type needs substitution, but only for parameters
that the `unused_generic_params` query considers used.

`ensure_monomorphic_enough` is then used throughout interpret where
`needs_subst` checks previously existed (in particular, for some
pointer casts and for reflection intrinsics more precise).

Signed-off-by: David Wood <david@davidtw.co>
2020-07-31 16:36:42 +01:00
..
bootstrap Auto merge of #74613 - Mark-Simulacrum:revert-gimli, r=nnethercote 2020-07-23 11:14:48 +00:00
build_helper build: Harden env var tracking in build scripts 2020-07-22 19:51:19 +03:00
ci Rollup merge of #74600 - Mark-Simulacrum:try-perf, r=pietroalbini 2020-07-22 16:34:44 -07:00
doc Rollup merge of #74589 - ehuss:update-books, r=ehuss 2020-07-22 09:29:15 -07:00
etc
liballoc Prefer type@str 2020-07-23 02:42:37 +00:00
libcore Rollup merge of #74141 - euclio:typos, r=steveklabnik 2020-07-23 00:42:01 -07:00
libpanic_abort
libpanic_unwind
libproc_macro
libprofiler_builtins build: Avoid unnecessary build script reruns in libstd 2020-07-22 20:06:37 +03:00
librustc_apfloat
librustc_arena
librustc_ast build: Remove unnecessary cargo:rerun-if-env-changed annotations 2020-07-22 19:12:32 +03:00
librustc_ast_lowering
librustc_ast_passes tweak wording 2020-07-23 08:14:39 +02:00
librustc_ast_pretty
librustc_attr build: Remove unnecessary build = "build.rs" annotations 2020-07-22 19:13:02 +03:00
librustc_builtin_macros
librustc_codegen_llvm Rollup merge of #74659 - alexcrichton:wasm-codegen, r=varkor 2020-07-23 00:42:20 -07:00
librustc_codegen_ssa Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_data_structures Auto merge of #69749 - davidtwco:issue-46477-polymorphization, r=eddyb 2020-07-21 03:09:04 +00:00
librustc_driver build: Remove unnecessary cargo:rerun-if-env-changed annotations 2020-07-22 19:12:32 +03:00
librustc_error_codes Change error code number 2020-07-22 13:12:34 -07:00
librustc_errors
librustc_expand
librustc_feature Rollup merge of #73868 - ecstatic-morse:fix-stable-version, r=jonas-schievink 2020-07-22 16:34:37 -07:00
librustc_fs_util
librustc_graphviz
librustc_hir Increase accuracy of lifetime bound on trait object impl suggestion 2020-07-22 12:25:54 -07:00
librustc_hir_pretty
librustc_incremental build: Remove unnecessary cargo:rerun-if-env-changed annotations 2020-07-22 19:12:32 +03:00
librustc_index Auto merge of #69749 - davidtwco:issue-46477-polymorphization, r=eddyb 2020-07-21 03:09:04 +00:00
librustc_infer Change error code number 2020-07-22 13:12:34 -07:00
librustc_interface Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_lexer
librustc_lint
librustc_llvm Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_macros
librustc_metadata build: Remove unnecessary cargo:rerun-if-env-changed annotations 2020-07-22 19:12:32 +03:00
librustc_middle Auto merge of #74611 - Mark-Simulacrum:revert-74069-bad-niche, r=eddyb 2020-07-23 07:11:01 +00:00
librustc_mir interp: needs_subst -> ensure_monomorphic_enough 2020-07-31 16:36:42 +01:00
librustc_mir_build fetch -> lookup 2020-07-21 23:12:10 +02:00
librustc_parse
librustc_parse_format
librustc_passes
librustc_plugin_impl
librustc_privacy
librustc_query_system
librustc_resolve Rollup merge of #74557 - jakubadamw:issue-74539, r=nagisa 2020-07-20 12:30:32 -07:00
librustc_save_analysis
librustc_serialize
librustc_session Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_span mir: use attribute over -Z polymorphize-errors 2020-07-20 19:35:35 +01:00
librustc_symbol_mangling mir: unused_generic_params query 2020-07-20 19:35:30 +01:00
librustc_target Rollup merge of #74643 - petrochenkov:noenvrerun, r=Mark-Simulacrum 2020-07-22 16:34:50 -07:00
librustc_trait_selection Use ty::Instance::resolve to identify 'static bound source 2020-07-22 12:25:55 -07:00
librustc_traits
librustc_ty
librustc_typeck Auto merge of #74509 - matthewjasper:empty-verify, r=nikomatsakis 2020-07-23 13:43:42 +00:00
librustdoc rustdoc: Add explanation when linting against public to private item links 2020-07-22 21:40:51 +02:00
libstd Auto merge of #74613 - Mark-Simulacrum:revert-gimli, r=nnethercote 2020-07-23 11:14:48 +00:00
libterm
libtest
libunwind build: Remove unnecessary build = "build.rs" annotations 2020-07-22 19:13:02 +03:00
llvm-project@86b120e6f3
rtstartup
rustc
rustllvm
stdarch@45340c0e2f
test interp: needs_subst -> ensure_monomorphic_enough 2020-07-31 16:36:42 +01:00
tools Update cargo 2020-07-23 08:28:50 -07: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 dev guide.