Commit Graph

109361 Commits

Author SHA1 Message Date
Ralf Jung
82f4a1a9b9 get rid of ConstPropUnsupported; use ZST marker structs instead 2020-03-22 12:16:24 +01:00
Bastian Kauschke
853377817d rename tests 2020-03-22 11:59:01 +01:00
Bastian Kauschke
ed4885359a simplify eval_mir_constant 2020-03-22 11:53:13 +01:00
Bastian Kauschke
0c5c3bbdab handle unevaluated consts after monomophize 2020-03-22 11:34:42 +01:00
Vadim Petrochenkov
bdd07f932b proc_macro_harness: Use item header spans for errors 2020-03-22 12:59:32 +03:00
Wonwoo Choi
1e5d81de1d Fix invalid suggestion on &mut iterators yielding & references 2020-03-22 18:37:34 +09:00
bors
94d43d6566 Auto merge of #68098 - ssomers:btreemap_gdb_pretty_print, r=Mark-Simulacrum
Test gdb pretty printing more and fix overzealous type substitution

Adresses a problem concerning printing BTreeMap / BTreeSet data in gdb: when the key or value type name contains substring "LeafNode", and the map has multiple nodes (e.g. more than 11 elements), printing causes an exception. E.g.

```
rustc -g - <<EOF
    use std::collections::BTreeMap;

    struct MyLeafNode(i8);

    fn main() {
        let m: BTreeMap<i8, MyLeafNode> = (0..12).map(|i| (i, MyLeafNode(i))).collect();
        assert!(!m.is_empty());
    }
EOF
```

```
$ rust-gdb rust_out
(gdb) b 7
(gdb) r
(gdb) p m
$1 = BTreeMap<i8, rust_out::MyLeafNode>(len: 12)Python Exception <class 'gdb.error'> No type named alloc::collections::btree::node::InternalNode<i8, rust_out::MyInternalNode>.:
use std::collections::BTreeMap;
```

The code was written in #56144 by @tromey (and later touched upon by @RalfJung in #57045, but I think that had nothing to do with the issues in this PR).
2020-03-22 08:55:18 +00:00
Wesley Wiser
61d3be8de7 Use Reveal::All in MIR inliner 2020-03-21 23:08:32 -04:00
Wesley Wiser
4f405119e8 Resolve worsened debug build codegen 2020-03-21 22:37:51 -04:00
mark
cdb2c3c368 use static strs 2020-03-21 21:32:35 -05:00
bors
5574b1df57 Auto merge of #70153 - flip1995:clippyup, r=Dylan-DPC
Update Clippy

Closes #70128

cc rust-lang/rust-clippy#5342

r? @Manishearth
2020-03-22 00:57:57 +00:00
mark
1661a0a99b convert a couple more errors 2020-03-21 19:47:23 -05:00
CAD97
dd973d1b12 Allow calculating the layout behind a pointer
Let align/size_of_of_val intrinsics work on ptrs
2020-03-21 19:45:45 -04:00
Matthias Krüger
74d68ea7eb don't create variable bindings just to return the bound value immediately (clippy::let_and_return) 2020-03-22 00:35:25 +01:00
Mazdak Farrokhzad
eaa0ae503f parse: nix new_sub_parser_from_file 2020-03-22 00:35:20 +01:00
Matthias Krüger
3599fd389d summarize if-else-code with identical blocks (clippy::if_same_then_else) 2020-03-22 00:34:16 +01:00
Jonas Platte
3f42104cef
Remove another wrong entry from RELEASES.md 2020-03-22 00:29:12 +01:00
Jonas Platte
c746d93e14
Remove wrong entry from RELEASES.md 2020-03-21 23:33:33 +01:00
DeeDeeG
99ae42876b Improve E0308 error message wording 2020-03-21 18:12:29 -04:00
Mark Rousskov
af243d4d91 Avoid relying on const parameters to function
LLVM seems to at least sometimes optimize better when the length comes directly
from the `len()` of the array vs. an equivalent integer.

Also, this allows easier copy/pasting of the function into compiler explorer for
experimentation.
2020-03-21 18:01:50 -04:00
bors
c6b172f788 Auto merge of #70246 - Dylan-DPC:rollup-vt9wex2, r=Dylan-DPC
Rollup of 10 pull requests

Successful merges:

 - #70003 (symbol_names: treat ReifyShim like VtableShim.)
 - #70051 (Allow `hir().find` to return `None`)
 - #70126 (Fix ICE caused by truncating a negative ZST enum discriminant)
 - #70197 (For issue 53957: revise unit test to focus on underlying bug of 23076.)
 - #70215 (ast: Compress `AttrId` from `usize` to `u32`)
 - #70218 (Fix deprecated Error.description() usage in docs)
 - #70228 (Remove CARGO_BUILD_TARGET from bootstrap.py)
 - #70231 (Add explanation message for E0224)
 - #70232 (Tweak wording for std::io::Read::read function)
 - #70238 (Add a test for out-of-line module passed through a proc macro)

Failed merges:

r? @ghost
2020-03-21 21:57:38 +00:00
Dylan DPC
17e6ed1fd9
Rollup merge of #70238 - petrochenkov:procmod, r=Centril
Add a test for out-of-line module passed through a proc macro

Closes https://github.com/rust-lang/rust/issues/58818.
2020-03-21 22:56:31 +01:00
Dylan DPC
39c52225dd
Rollup merge of #70232 - adrian5:patch-1, r=Dylan-DPC
Tweak wording for std::io::Read::read function

I think the sentence as a whole reads smoother that way.
2020-03-21 22:56:30 +01:00
Dylan DPC
4b5ca6e4a7
Rollup merge of #70231 - aDotInTheVoid:E0224, r=Dylan-DPC
Add explanation message for E0224

Addresses some of #61137
2020-03-21 22:56:28 +01:00
Dylan DPC
6e9720d452
Rollup merge of #70228 - lzutao:patch-1, r=Mark-Simulacrum
Remove CARGO_BUILD_TARGET from bootstrap.py

Closes #70208
2020-03-21 22:56:27 +01:00
Dylan DPC
36d6e94831
Rollup merge of #70218 - intgr:fix-deprecated-method-in-docs, r=jonas-schievink
Fix deprecated Error.description() usage in docs
2020-03-21 22:56:25 +01:00
Dylan DPC
8e90533413
Rollup merge of #70215 - petrochenkov:attrid, r=Centril
ast: Compress `AttrId` from `usize` to `u32`

An easy size win for `ast::Attribute` (96 bytes -> 88 bytes).

Also stop encoding/decoding `AttrId` entirely.
2020-03-21 22:56:24 +01:00
Dylan DPC
a3bdfc4035
Rollup merge of #70197 - pnkfelix:issue-53957-revise-test-of-23076, r=LukasKalbertodt
For issue 53957: revise unit test to focus on underlying bug of 23076.

Fix #53957 by revising unit test to focus on underlying bug of #23076.

Namely, this version focuses on the end-to-end behavior that the attempt to create the UDP binding will fail, regardless of the semantics of how particular DNS servers handle junk inputs.

(I spent some time trying to create a second more-focused test that would sidestep the DNS resolution, but this is not possible without more invasive changes to the internal infrastructure of `ToSocketAddrs` and what not. It is not worth it.)
2020-03-21 22:56:22 +01:00
Dylan DPC
ecf3ef52a6
Rollup merge of #70126 - wesleywiser:fix_miri_ice_neg_zst_enum_discr, r=RalfJung,eddyb
Fix ICE caused by truncating a negative ZST enum discriminant

Fixes #70114

r? @oli-obk or @RalfJung
2020-03-21 22:56:20 +01:00
Dylan DPC
ce0af8a5bd
Rollup merge of #70051 - Zoxc:opt-find, r=eddyb
Allow `hir().find` to return `None`

Fixes https://github.com/rust-lang/rust/issues/70041

r? @eddyb
2020-03-21 22:56:19 +01:00
Dylan DPC
834ed36a53
Rollup merge of #70003 - eddyb:symbol-mangling-reify-shims, r=nikomatsakis
symbol_names: treat ReifyShim like VtableShim.

Without this, the `#[track_caller]` tests don't pass with `-Zsymbol-mangling-version=v0`, because there is a symbol name collision between the `ReifyShim` and the original definition.

cc @anp
2020-03-21 22:56:18 +01:00
Mark Rousskov
a7ec6f8fe0 Arrange for zero to be canonical
We find that it is common for large ranges of chars to be false -- and that
means that it is plausibly common for us to ask about a word that is entirely
empty. Therefore, we should make sure that we do not need to rotate bits or
otherwise perform some operation to map to the zero word; canonicalize it first
if possible.
2020-03-21 17:53:18 -04:00
Mark Rousskov
233ab2f168 Push the byte of LAST_CHUNK_MAP into the array
This optimizes slightly better.

Alphabetic     : 2536 bytes
Case_Ignorable : 1771 bytes
Cased          : 788 bytes
Cc             : 24 bytes
Grapheme_Extend: 1488 bytes
Lowercase      : 863 bytes
N              : 1038 bytes
Uppercase      : 776 bytes
White_Space    : 83 bytes
Total table sizes: 9367 bytes  (-18 bytes; 2 bytes per set)
2020-03-21 17:51:40 -04:00
Mazdak Farrokhzad
d18ed205c9 parse: nix unused root_module_name. 2020-03-21 22:51:03 +01:00
Mark Mansi
2daaf2b252 replace some adhoc logic with article_and_descr 2020-03-21 16:33:36 -05:00
Mazdak Farrokhzad
40cec7854b lowering: remove librustc dependency 2020-03-21 22:20:24 +01:00
Mazdak Farrokhzad
14f89ded2c {rustc::hir::map -> rustc_hir}::definitions 2020-03-21 22:20:24 +01:00
Mazdak Farrokhzad
bb8785ea00 move CrateDisambiguator -> rustc_ast 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
fdf2d2d9dc dep_graph.assert_ignored() -> rustc_interface 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
2c55902e3c add_elided_lifetime_in_path_suggestion -> rustc_session 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
e0403bcde3 lowering: bug! -> panic! 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
0f68ab03c3 separate out an arena for HIR 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
4c28d68bc3 move move stuff into declare_arena! 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
e60205fe52 move more logic into declare_arena! 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
093bcf2e7a merge impl_arena_allocatable & declare_arena 2020-03-21 22:18:57 +01:00
Mazdak Farrokhzad
6aff92a7d2 move DropArena -> libarena 2020-03-21 22:18:57 +01:00
Matthias Krüger
e45fdcfa9a remove unused unit values (clippy::unused_unit) 2020-03-21 20:45:19 +01:00
Matthias Krüger
47e9775a9a make some let-if-bindings more idiomatic (clippy::useless_let_if_seq) 2020-03-21 20:45:18 +01:00
Matthias Krüger
a6692b7935 clarify when we pass () to functions (clippy::unit_arg) 2020-03-21 20:45:14 +01:00
Mark Rousskov
5f71d98f90 Deduplicate test and primary range_search definitions
This ensures that what we test is what we get for final results as well.
2020-03-21 15:21:31 -04:00