Mark Rousskov
4229dc3538
Rollup merge of #63464 - Mark-Simulacrum:deref-instance, r=eddyb
...
Copy ty::Instance instead of passing by reference
ty::Instance is small and Copy, we should not be adding additional
indirection.
Fixes #63409 .
r? @eddyb
2019-08-11 15:18:49 -04:00
Mark Rousskov
86ceab47b1
Rollup merge of #63453 - Mark-Simulacrum:rustdoc-clean-2, r=GuillaumeGomez
...
rustdoc: general cleanup
Almost all commits stand alone; but all commits can be reviewed individually.
2019-08-11 15:18:47 -04:00
Mark Rousskov
e16b12fd49
Rollup merge of #63442 - lzutao:vec-bin-search-insert, r=Mark-Simulacrum
...
Add an example to show how to insert item to a sorted vec
Closes #61684
cc #61742
r? @Mark-Simulacrum, @jonas-schievink
2019-08-11 15:18:46 -04:00
Mark Rousskov
c805a38dff
Rollup merge of #63441 - bjorn3:patch-1, r=Mark-Simulacrum
...
Derive Debug for CrateInfo
2019-08-11 15:18:44 -04:00
Mark Rousskov
8122a01b27
Rollup merge of #63440 - RalfJung:ctfe-backtrace, r=oli-obk
...
rename RUST_CTFE_BACKTRACE to RUSTC_CTFE_BACKTRACE
This matches `RUSTC_LOG`. Both affect only rustc, not any Rust program.
2019-08-11 15:18:43 -04:00
Mark Rousskov
24a83374b6
Rollup merge of #63433 - RalfJung:miri-call, r=oli-obk
...
Miri shouldn't look at types
r? @oli-obk
Fixes https://github.com/rust-lang/rust/issues/62137
2019-08-11 15:18:41 -04:00
Mark Rousskov
061245e2b1
Rollup merge of #63346 - RalfJung:zeroed-lint, r=eddyb
...
Lint on some incorrect uses of mem::zeroed / mem::uninitialized
Cc https://github.com/rust-lang/rust/issues/62825 and https://internals.rust-lang.org/t/make-mem-uninitialized-and-mem-zeroed-panic-for-some-types-where-0-is-a-niche/10605
This does not yet handle `NonNull`/`NonZero*`, but it is a start.
I also improved some doc issues I hit on the way, and added a useful helper to `TyS`.
EDIT: I added the relnotes label mostly as a proposal -- I think this is worth mentioning, but leave the decision up to the release team.
2019-08-11 15:18:40 -04:00
Mark Rousskov
88629778e6
Rollup merge of #61969 - MikailBag:master, r=Centril
...
Add #[repr(transparent)] for several types
In some functions, types mentioned in this PR are transmuted into their inner value.
Example for `PathBuf`: https://github.com/rust-lang/rust/blob/master/src/libstd/path.rs#L1132 .
This PR adds `#[repr(transparent)]` to those types, so their correct behavior doesn't depend on compiler details. (As far as I understand, currently that line, converting `PathBuf` to `Vec<u8>`, is UB).
2019-08-11 15:18:38 -04:00
Mark Rousskov
43de341f19
Copy ty::Instance instead of passing by reference
...
ty::Instance is small and Copy, we should not be adding additional
indirection.
2019-08-11 10:54:38 -04:00
bjorn3
b204232fd3
Derive Debug for NativeLibrary and NativeLibraryKind
2019-08-11 16:51:36 +02:00
Mark Rousskov
3b8a24d193
Reduce nesting in externalfiles implementation
...
Utilize `?` instead of and_then/map operators
2019-08-11 10:47:58 -04:00
Mark Rousskov
1aa0964b54
Drop RefCell from IdMap in markdown rendering
2019-08-11 10:47:58 -04:00
Mark Rousskov
c250b5fd03
Remove fmt::Display impls on Markdown structs
...
These impls prevent ergonomic use of the config (e.g., forcing us to use
RefCell) despite all usecases for these structs only using their Display
impls once.
2019-08-11 10:36:46 -04:00
Mark Rousskov
dbad77ffdd
Remove thread-local for playground config
2019-08-11 10:36:46 -04:00
Mark Rousskov
ade8b02828
Remove unnecessary channel
2019-08-11 10:36:46 -04:00
Mark Rousskov
eea2f879af
Use a HashSet instead of Vec
2019-08-11 10:36:46 -04:00
Mark Rousskov
0347480151
Don't store all traits in DocContext
...
This is already a query so we're just needlessly copying the data
around.
2019-08-11 10:36:46 -04:00
Mark Rousskov
00319519bb
Store typed Passes
2019-08-11 10:36:46 -04:00
Mark Rousskov
6be2857a6c
Replace Arc with Rc around external_traits
2019-08-11 10:36:46 -04:00
Mark Rousskov
c57481001e
Remove ReentrantMutex
...
This drops the parking_lot dependency; the ReentrantMutex type appeared
to be unused (at least, no compilation failures occurred).
This is technically a possible change in behavior of its users, as
lock() would wait on other threads releasing their guards, but since we
didn't actually remove any threading or such in this code, it appears
that we never used that behavior (the behavior change is only noticeable
if the type previously was used in two threads, in a single thread
ReentrantMutex is useless).
2019-08-11 10:36:46 -04:00
Mark Rousskov
8f80a8d7d5
Use entry API in store_path
2019-08-11 10:36:46 -04:00
Mark Rousskov
00d7bc7688
Remove crate_name from DocContext
...
tcx.crate_name is the appropriate way to retrieve the crate name.
2019-08-11 10:36:46 -04:00
Mark Rousskov
19c85a8f8a
Move def_id_to_path to use site in visit_ast
2019-08-11 10:36:46 -04:00
Mark Rousskov
65ea7b7947
rustdoc: Replace HirVec with slices in doctree
2019-08-11 10:36:46 -04:00
bors
8a068699a2
Auto merge of #63446 - Centril:refactor-lowering, r=oli-obk
...
Refactor and categorize lowering wrt. items / exprs
Split lowering into more files along the lines of "expression related" and "item related".
Also refactor huge methods into smaller ones.
A next step might be to introduce "type related" and merge patterns and statements combined with expressions into "value related". There's still more work to do but the PR was getting too big :)
r? @oli-obk
2019-08-11 13:37:37 +00:00
Ralf Jung
09307474c2
update clippy
2019-08-11 12:06:12 +02:00
Ralf Jung
5c77a17d18
note down some more future plans
2019-08-11 12:04:49 +02:00
Ralf Jung
c5a63566d6
allow the lint if a few UB-demonstrating doc tests
2019-08-11 12:04:49 +02:00
Ralf Jung
3972d05fec
proper doc comment for 'recovered' field of variant
...
Curtesy of petrochenkov
2019-08-11 12:04:49 +02:00
Ralf Jung
4b062a175f
note a FIXME
2019-08-11 12:04:49 +02:00
Ralf Jung
8e6fbbec83
add tuple_fields convenience method and use it in a few places
2019-08-11 12:04:49 +02:00
Ralf Jung
fbd56131a9
fix a comment
2019-08-11 12:04:49 +02:00
Ralf Jung
ca1e94b131
warn for more cases
2019-08-11 12:04:49 +02:00
Ralf Jung
da6fbb1895
add basic lint testing for misuse of mem::zeroed and mem::uninitialized
2019-08-11 12:04:49 +02:00
bors
2b78e10ac1
Auto merge of #63343 - ishitatsuyuki:revert-62150, r=RalfJung
...
Back out #62150
Ref: #62825
cc @RalfJung
2019-08-11 09:58:01 +00:00
bors
ee36cfaff9
Auto merge of #63413 - RalfJung:miri, r=oli-obk
...
update Miri
With https://github.com/rust-lang/rust/pull/63404 landed, we need https://github.com/rust-lang/miri/pull/898 to avoid failures in https://github.com/RalfJung/miri-test-libstd .
r? @oli-obk
2019-08-11 02:05:40 +00:00
bors
8fd7df664d
Auto merge of #63250 - petrochenkov:descrate, r=davidtwco
...
diagnostics: Describe crate root modules in `DefKind::Mod` as "crate"
Or we can use "extern crate" like resolve previously did sometimes, not sure.
r? @davidtwco
2019-08-10 22:29:20 +00:00
Vadim Petrochenkov
26d26eb6a1
Update cargo
2019-08-10 23:19:09 +03:00
Vadim Petrochenkov
e18ad70d2b
diagnostics: Describe crate root modules in DefKind::Mod
as "crate"
2019-08-10 23:17:20 +03:00
Mazdak Farrokhzad
eb229bca0d
lowering: move lower_arg -> item.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
28af53367a
lowering: move scope & capture_clause stuff -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
5ab73450f8
lowering: refactor into item.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
7f522155dd
lowering: move {lower_arm,arm} -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
93570b02bd
lowering: move field -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
29e9b5ddd4
lowering: refactor label/dest -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
961ace3fc2
lowering: move lower_{unop,binop} -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
e71f6e1fbc
lowering: move lower_field -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
94876c22db
lowering: move expr builder methods -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
5cba0ac0bf
lowering: move make_async_expr -> expr.rs
2019-08-10 20:24:43 +02:00
Mazdak Farrokhzad
199d585981
lowering: extract lower_expr_let
2019-08-10 20:24:43 +02:00