rust/src
bors 499484f56d Auto merge of #35684 - nikomatsakis:incr-comp-metadata-audit-35111, r=mw
Restructure metadata encoder to track deps precisely

This issue restructures meta-data encoding to track dependencies very precisely. It uses a cute technique I hope to spread elsewhere, where we can guard the data flowing into a new dep-graph task and ensure that it is not "leaking" information from the outside, which would result in missing edges. There are no tests because we don't know of any bugs in the old system, but it's clear that there was leaked data.

The commit series is standalone, but the refactorings are kind of "windy". It's a good idea to read the comment in `src/librustc_metadata/index_builder.rs` to get a feeling for the overall strategy I was aiming at.

In several cases, I wound up adding some extra hashtable lookups, I think primarily for looking up `AdtDef` instances. We could remove these by implementing `DepGraphRead` for an `AdtDef` and then having it register a read to the adt-defs table, I guess, but I doubt it is really noticeable.

Eventually I think I'd like to extend this pattern to the dep-graph more generally, since it effectively guarantees that data cannot leak.

Fixes #35111.

r? @michaelwoerister
2016-08-18 08:54:10 -07:00
..
bootstrap Add 'make help' for rustbuild 2016-08-17 16:23:11 +02:00
build_helper Fix issue where rustbuild expected msvc to have ar 2016-06-16 08:38:06 -04:00
compiler-rt@8598065bd9 Update compiler-rt 2016-07-29 10:29:44 +02:00
doc Rollup merge of #35681 - Rufflewind:patch-1, r=apasel422 2016-08-17 06:25:26 -07:00
driver
etc Auto merge of #35163 - sanxiyn:rollup, r=sanxiyn 2016-08-01 08:57:32 -07:00
grammar Move errors from libsyntax to its own crate 2016-06-23 08:07:35 -04:00
jemalloc@e058ca6616 Update jemalloc to include a fix for startup issues on OSX 10.12 2016-07-08 14:15:04 +09:00
liballoc Fix a couple of typos in RawVec 2016-08-14 06:59:43 +02:00
liballoc_jemalloc arm-musl targets now use cfg(env = "musl") 2016-07-30 15:39:13 -05:00
liballoc_system
libarena
libbacktrace
libcollections Auto merge of #35747 - jonathandturner:rollup, r=jonathandturner 2016-08-17 09:49:34 -07:00
libcollectionstest Auto merge of #35747 - jonathandturner:rollup, r=jonathandturner 2016-08-17 09:49:34 -07:00
libcore Rollup merge of #35695 - matthew-piziak:vec-assert-over-println, r=GuillaumeGomez 2016-08-17 06:25:26 -07:00
libcoretest Don't gate methods Fn(Mut,Once)::call(mut,once) with feature unboxed_closures 2016-07-31 17:48:20 +03:00
libflate Update gcc crate dependency to 0.3.27. 2016-07-30 15:39:13 -05:00
libfmt_macros format: remove all implicit ref handling outside of libfmt_macros 2016-07-14 02:54:47 +08:00
libgetopts
libgraphviz
liblibc@5066b7dcab point the libc submodule back to rust-lang/libc 2016-07-30 15:39:13 -05:00
liblog
libpanic_abort
libpanic_unwind Auto merge of #35032 - vadimcn:rusty-ehabi, r=alexcrichton 2016-07-29 20:29:43 -07:00
libproc_macro Proc_macro is alive 2016-08-16 13:17:36 -07:00
librand prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
librbml
librustc Display secondary span for E0053 for Sort TypeErrors 2016-08-17 15:12:51 -07:00
librustc_back add mips-uclibc targets 2016-08-16 17:12:51 -05:00
librustc_bitflags
librustc_borrowck Auto merge of #35732 - jonathandturner:region_error_labels, r=nikomatsakis 2016-08-18 05:39:11 -07:00
librustc_const_eval Rollup merge of #35744 - DevShep:ds/update_E0009, r=jonathandturner 2016-08-18 06:12:22 +03:00
librustc_const_math Update wording on E0080 2016-08-04 07:31:06 +05:30
librustc_data_structures generalize BitMatrix to be NxM and not just NxN 2016-08-09 08:26:06 -04:00
librustc_driver rustc: remove ParamSpace from Substs. 2016-08-17 06:32:00 +03:00
librustc_errors Rebase. Fix mutable iteration nit. 2016-08-17 15:11:18 -07:00
librustc_incremental Save dep-tracking hash of commandline arguments in dep-graph file. 2016-08-11 09:56:00 -04:00
librustc_lint rustc: reduce Substs and Generics to a simple immutable API. 2016-08-17 05:50:57 +03:00
librustc_llvm Merge branch 'master' into issue-30961 2016-08-06 15:50:48 +10:00
librustc_metadata remove seemingly unnecessary call to encode_predicates 2016-08-17 15:21:59 -04:00
librustc_mir Rollup merge of #35751 - nagisa:mir-scope-fix-again, r=eddyb 2016-08-18 06:12:23 +03:00
librustc_passes Rollup merge of #35415 - silenuss:e0030-formatting, r=jonathandturner 2016-08-17 06:25:23 -07:00
librustc_platform_intrinsics Add intrinsics for x86 bit manipulation instruction sets: BMI 1.0, BMI 2.0, and TBM. 2016-06-22 16:34:10 +02:00
librustc_plugin Remove the 'cfg' field from session::config::Options. 2016-08-11 09:56:00 -04:00
librustc_privacy Auto merge of #35162 - canndrew:bang_type_coerced, r=nikomatsakis 2016-08-16 00:12:12 -07:00
librustc_resolve Rollup merge of #35768 - GuillaumeGomez:err_codes, r=jonathandturner 2016-08-18 06:12:23 +03:00
librustc_save_analysis rustc: remove SelfSpace from ParamSpace. 2016-08-17 05:50:57 +03:00
librustc_trans rustc: remove ParamSpace from Substs. 2016-08-17 06:32:00 +03:00
librustc_typeck Rollup merge of #35765 - KiChjang:e0053-bonus, r=jonathandturner 2016-08-18 06:12:23 +03:00
librustc_unicode Auto merge of #34485 - tbu-:pr_unicode_debug_str, r=alexcrichton 2016-07-28 11:20:33 -07:00
librustdoc Auto merge of #35236 - nrc:rustdoc-redirects, r=@alexcrichton 2016-08-17 03:20:13 -07:00
libserialize prefer if let to match with None => {} arm in some places 2016-07-03 16:27:02 -07:00
libstd Rollup merge of #35621 - frewsxcv:cstring-from-vec-doc, r=peschkaj 2016-08-17 06:25:24 -07:00
libsyntax Auto merge of #35538 - cgswords:libproc_macro, r=nrc 2016-08-16 16:35:10 -07:00
libsyntax_ext run rustfmt on libsyntax_ext folder 2016-08-12 09:40:12 +05:30
libsyntax_pos Replace local backtrace with def-use, repair std macro spans 2016-08-17 14:26:14 -07:00
libterm
libtest Auto merge of #35414 - jupp0r:feature/test-threads-flag, r=alexcrichton 2016-08-13 09:52:49 -07:00
libunwind [emscripten] Disable code paths that don't work on emscripten 2016-08-10 16:39:32 +02:00
llvm@c3eb3c7608 Update LLVM to include 4 backported commits by @majnemer. 2016-08-17 05:37:48 +03:00
rt
rtstartup
rust-installer@c37d3747da
rustc Proc_macro is alive 2016-08-16 13:17:36 -07:00
rustllvm Update LLVM to include 4 backported commits by @majnemer. 2016-08-17 05:37:48 +03:00
test Auto merge of #35732 - jonathandturner:region_error_labels, r=nikomatsakis 2016-08-18 05:39:11 -07:00
tools Auto merge of #35538 - cgswords:libproc_macro, r=nrc 2016-08-16 16:35:10 -07:00
stage0.txt rustc: Update stage0 to beta-2016-07-06 2016-07-06 09:29:15 -07:00