bors
e7db42fb5b
Auto merge of #46808 - eddyb:issue-46769-quick, r=arielb1
...
rustc: ensure optimized enums have a properly aligned size.
Fixes #46769 by padding the optimized enums wrapping packed data as necessary.
Note that this is not the only way to solve this - on nightly, #46436 makes it easier to fix without adding new padding because of the replacement of `packed` flags with a non-redundant scheme.
But because it can't be backported, the optimal fix will be in a separate nightly-only PR (#46809 ).
2017-12-18 20:44:18 +00:00
Guillaume Gomez
cf18b1f22a
Fix dynamic crates listing in doc sidebar
2017-12-18 21:15:46 +01:00
varkor
c0ff8144c4
Fix tidy issue
2017-12-18 19:52:45 +00:00
varkor
5741dcd1f8
Fix tidy error
2017-12-18 19:48:20 +00:00
Alex Crichton
e0ab5d5feb
rustc: Work around DICompileUnit
bugs in LLVM
...
This commit implements a workaround for #46346 which basically just
avoids triggering the situation that LLVM's bug
https://bugs.llvm.org/show_bug.cgi?id=35562 arises. More details can be
found in the code itself but this commit is also intended to ...
Closes #46346
2017-12-18 11:44:00 -08:00
Eduard-Mihai Burtescu
087f1c23a7
rustc: ensure optimized enums have a properly aligned size.
2017-12-18 21:31:52 +02:00
Esteban Küber
e1dc7ac33c
Tweak "unecessary unsafe block" error spans
2017-12-18 11:11:35 -08:00
varkor
e65c741637
Add delay_span_bug
and increase idiomaticity
2017-12-18 18:38:35 +00:00
Maik Klein
6e78b66578
Add rustc_data_structures for trans_utils/lib.rs
2017-12-18 19:10:06 +02:00
Maik Klein
c847cf3f5e
Fix incorrect rebase in collector::find_vtable_types
2017-12-18 19:10:01 +02:00
Esteban Küber
0555d256dd
Rework expected closure error
...
* point at def span
* add label to primary span
* use `span_label`s instead of `span_note`s
2017-12-18 08:55:52 -08:00
Esteban Küber
c08dab841d
Point at def span in "impl has stricter requirements" diagnostic
2017-12-18 08:54:20 -08:00
varkor
55b0f14890
Fix the regression
2017-12-18 16:49:32 +00:00
bors
b058dc0107
Auto merge of #46811 - michaelwoerister:depkind-is-input, r=nikomatsakis
...
incr.comp.: Mark DepKind node as input.
Fixes `euclid` on https://travis-ci.org/rust-icci .
r? @nikomatsakis
2017-12-18 16:48:37 +00:00
NODA, Kai
6bce6acebb
libcore/num/mod.rs: simplify the int_impl! macro.
...
We can simply use generic intrinsics since cd1848a1a6
Also, minimize unsafe blocks.
Signed-off-by: NODA, Kai <nodakai@gmail.com>
2017-12-19 00:39:05 +08:00
varkor
dbffc4278b
Add trailing newline
2017-12-18 15:51:44 +00:00
varkor
a4210ef437
Fix ICE when calling non-functions within closures
...
The visitor for walking function bodies did not previously properly
handle error-cases for function calls. These are now ignored,
preventing the panic.
2017-12-18 15:51:44 +00:00
varkor
c76cdce3d9
Prevent rustc overwriting input files
...
If rustc is invoked on a file that would be overwritten by the
compilation, the compilation now fails, to avoid accidental loss. This
resolves #13019 .
2017-12-18 15:35:45 +00:00
Ariel Ben-Yehuda
f6fcfa3915
normalize the results of tcx.type_of
after substituting
...
Also remove `def_ty`, which was a footgun because it did not do the
above.
2017-12-18 17:08:50 +02:00
Maik Klein
88866b5c85
Update lockfile
2017-12-18 17:08:49 +02:00
Maik Klein
b48ba026fe
Rename more functions from trans to monomorphize
2017-12-18 17:08:49 +02:00
Maik Klein
d4b372d6e2
Rename trans to monomorphize in comments
2017-12-18 17:08:49 +02:00
Maik Klein
45f8a3b30c
Move partitioning.rs to rustc_mir
2017-12-18 17:08:49 +02:00
Maik Klein
116e43f73b
Prefer type_of().substs over instance::ty()
2017-12-18 17:08:49 +02:00
Maik Klein
282b231af2
Move has_metadata back to context.rs
2017-12-18 17:08:49 +02:00
Maik Klein
6e94a7a91e
Remove branch with has_metadata
2017-12-18 17:08:49 +02:00
Maik Klein
ab0f8fcdac
Test with trans_apply_param_substs
2017-12-18 17:08:49 +02:00
Maik Klein
1df6f8321b
Remove duplicated functions from trans::common.rs
2017-12-18 17:08:49 +02:00
Maik Klein
7996f63ce4
Move meta_data into TyS
2017-12-18 17:08:49 +02:00
Maik Klein
dfbb6e8640
Move instance related methods from TyCtxt to Instance
2017-12-18 17:08:49 +02:00
Maik Klein
d3c4142880
Fix some comments to refer to MonoItem
2017-12-18 17:08:49 +02:00
Maik Klein
c06e3aa446
Refactor paths to middle::trans to mir::mono
2017-12-18 17:08:49 +02:00
Maik Klein
ae468ab38b
Move middle::trans.rs to mir::mono.rs
2017-12-18 17:08:49 +02:00
Maik Klein
09ad6ebd0b
Rename mono_item.rs to item.rs
2017-12-18 17:08:49 +02:00
Maik Klein
28f7d223f4
Rename as_trans_item to as_mono_item
2017-12-18 17:08:49 +02:00
Maik Klein
17bfd74955
Rename more functions from trans to mono
2017-12-18 17:08:48 +02:00
Maik Klein
b9ab487a7a
Rename TransItemExt to MonoItemExt
2017-12-18 17:08:48 +02:00
Maik Klein
531c27d805
Move common.rs functionality into TyCtxt
2017-12-18 17:08:48 +02:00
Maik Klein
98b9eba316
Rename TransItemCollectionMode to MonoItemCollectionMode
2017-12-18 17:08:48 +02:00
Maik Klein
1181f45813
Rename TransItem to MonoItem
2017-12-18 17:08:48 +02:00
Maik Klein
e579b067db
Move trans_item and monomorphize to rustc_mir
2017-12-18 17:08:48 +02:00
Maik Klein
094c021218
Move collector to monomorphize
2017-12-18 17:08:48 +02:00
kennytm
749d8a880f
Fix the wrong subtraction in align_offset intrinsic.
2017-12-18 22:52:24 +08:00
Michael Woerister
a3c3245e91
incr.comp.: Mark DepKind node as input.
2017-12-18 15:40:07 +01:00
Michael Woerister
796264b6df
incr.comp.: Add -Cincremental in addition to -Zincremental
2017-12-18 14:37:24 +01:00
bjorn3
2e2defdfce
Cleanup for libgraphviz
2017-12-18 14:00:07 +01:00
Guillaume Gomez
0df39bfff7
Fix ?Sized where bound not being displayed at the correct place
2017-12-18 10:44:26 +01:00
Esteban Küber
ea64ab7d4e
Use def span for conflicting impls and recursive fn
2017-12-17 23:46:55 -08:00
Esteban Küber
61181aeead
Point at def span on redefined name diagnostic
2017-12-17 22:44:32 -08:00
bors
a3a7203e2c
Auto merge of #46798 - Diggsey:debug-osstr, r=dtolnay
...
Add lossless debug implementation for unix OsStrs
Fixes #22766
Invalid utf8 byte sequences are replaced with `\xFF` style escape codes, while valid utf8 goes through the normal `Debug` implementation.
This is necessarily different from the windows Debug implementation, which uses `\u{xxxx}` style escape sequences for unpaired surrogates, but both implementations are consistent in that they are both lossless, and display invalid sequences in the way most similar to existing language syntax.
r? @dtolnay
2017-12-18 02:54:11 +00:00