Eduard Burtescu
221d1a97e5
serialize: allow specifying the default behavior for specializations.
2016-09-20 20:08:06 +03:00
Eduard Burtescu
b01d4891e2
rustc: don't recurse through nested items in decoded HIR fragments.
2016-09-20 20:08:06 +03:00
Eduard Burtescu
f2283a7be0
rustc_metadata: fix for the new ?
ambiguity around collect.
2016-09-20 20:08:06 +03:00
Eduard Burtescu
dadbaa48ac
rustc_metadata: move opt_item_name to TyCtxt::item_name.
2016-09-20 20:08:06 +03:00
Eduard Burtescu
dc26a23301
rustc_metadata: reduce Lazy{,Seq} overhead by using a relative encoding.
2016-09-20 20:08:05 +03:00
Eduard Burtescu
a96abca2a4
rustc_metadata: replace RBML with a simple and type-safe scheme.
2016-09-20 20:08:05 +03:00
Eduard Burtescu
24aef24e1a
rustc_metadata: split the Def description of a DefId from item_children.
2016-09-20 20:08:05 +03:00
Eduard Burtescu
adddfccf2b
rustc_metadata: move all encoding/decoding helpers to methods.
2016-09-20 20:08:05 +03:00
Eduard Burtescu
6890354f3b
rustc_metadata: use the shorthand encoding for predicates also.
2016-09-20 20:08:04 +03:00
Eduard Burtescu
cc47dc5c6e
rustc_metadata: store dense indexes in little-endian instead of big.
2016-09-20 20:08:04 +03:00
Eduard Burtescu
ef4352fba6
rustc_metadata: group information into less tags.
2016-09-20 20:08:04 +03:00
Eduard Burtescu
6742b239ac
rustc_metadata: remove all unnecessary tables from astencode.
2016-09-20 20:08:03 +03:00
Eduard Burtescu
d2ea3daad1
rustc_metadata: group the tags into root tags and item tags.
2016-09-20 20:08:03 +03:00
Eduard Burtescu
89736e8671
rustc: remove ImplOrTraitItemId and TraitDef's associated_type_names.
2016-09-20 20:08:03 +03:00
Eduard Burtescu
8734aaa33e
rustc_metadata: move more RBML tags to auto-serialization.
2016-09-20 20:08:02 +03:00
Eduard Burtescu
88c5679c4e
rustc_metadata: remove ty{en,de}code and move to auto-derived serialization.
2016-09-20 20:08:01 +03:00
Eduard Burtescu
bcbb4107a1
rustc_metadata: side-step ty{en,de}code for everything but Ty.
2016-09-20 20:08:01 +03:00
Eduard Burtescu
0863012fb9
Remove librbml and the RBML-tagged auto-encoder/decoder.
2016-09-20 20:08:01 +03:00
Eduard Burtescu
2ce0e6d4e7
rustc_trans: use the TypeId hashing mechanism instead of metadata.
2016-09-20 20:08:00 +03:00
Eduard Burtescu
02c4155d2c
rustc: remove hir::fold.
2016-09-20 20:08:00 +03:00
Eduard Burtescu
ed593bed88
rustc_metadata: go back to not using the opaque format.
2016-09-20 20:08:00 +03:00
Eduard Burtescu
903ec52ba9
rustc: replace uses of NodeId in Def, other than closures and labels.
2016-09-20 20:08:00 +03:00
Eduard Burtescu
fc363cb482
rustc_metadata: go only through rustc_serialize in astencode.
2016-09-20 20:07:54 +03:00
Eduard Burtescu
91e7239db4
rustc_metadata: combine DecodeContext and rbml::reader::Decoder.
2016-09-20 20:07:16 +03:00
Eduard Burtescu
97864d41a6
rustc_metadata: encode miscellaneous information opaquely.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
3cbe4b8bce
rustc_metadata: sign-extend when decoding signed integers.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
d47fd9eb5a
rustc_metadata: use specialization for {en,de}coding Ty and Substs.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
82197287a2
rustc_metadata: combine EncodeContext and rbml::writer::Encoder.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
7b073343db
rustc_metadata: remove astencode tests.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
78ace66b6a
rustc_metadata: remove extension traits from astencode.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
87db6b9e65
rustc_metadata: remove redundant lifetimes from astencode::DecodeContext.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
3ad8aa6b87
rbml: move the tagged encoder/decoder to librustc_metadata.
2016-09-20 19:21:33 +03:00
Eduard Burtescu
a79104e0c6
serialize: extend with specialization-based encoding/decoding multi-dispatch.
2016-09-20 19:21:33 +03:00
bors
2c2552b712
Auto merge of #36445 - infinity0:master, r=brson
...
mk: add a all-no-docs target to build everything except docs
This makes things slightly more efficient for Debian's auto-builders where the
docs can be built on just one architecture, and distributed to users of all
other architectures as well.
2016-09-20 01:24:54 -07:00
bors
cbd84aeb73
Auto merge of #34942 - porglezomp:master, r=sfackler
...
Fix overflow checking in unsigned pow()
The pow() method for unsigned integers produced 0 instead of trapping overflow for certain inputs. Calls such as 2u32.pow(1024) produced 0 when they should trap an overflow. This also adds tests for the correctly handling overflow in unsigned pow().
This was previously fixed for signed integers in #28248 , but it seems unsigned integers got missed that time.
For issue number #34913
2016-09-19 19:03:52 -07:00
bors
e0547019eb
Auto merge of #36102 - GuillaumeGomez:rustc_metadata_diagnostics, r=jonathandturner
...
Rustc metadata diagnostics
r? @jonathandturner
2016-09-19 13:23:12 -07:00
bors
412a637704
Auto merge of #36471 - nnethercote:rm-to_binop, r=sanxiyn
...
Remove unused Token::to_binop function
Just some dead code removal.
2016-09-19 08:32:05 -07:00
bors
5f6f838448
Auto merge of #36545 - Cobrand:wild-print-fix, r=sfackler
...
Remove stray println! when invoking error E0316
Removed a wild println! statement that has been here for over a year and a half.
Closes #36543
2016-09-18 21:01:49 -07:00
bors
bfac5d6d9f
Auto merge of #36523 - Mark-Simulacrum:format-args-link, r=GuillaumeGomez
...
Add links between format_args! macro and std::fmt::Arguments struct
r? @GuillaumeGomez
2016-09-18 17:25:01 -07:00
bors
55bf6a4f87
Auto merge of #36487 - nrc:save-doc-urls, r=@eddyb
...
save-analysis: better 'parent' info
In particular, this fixes some bugs displaying doc URLs for method calls.
2016-09-18 14:00:02 -07:00
Nick Cameron
48e69e029b
save-analysis: better 'parent' info
...
In particular, this fixes some bugs displaying doc URLs for method calls.
2016-09-19 07:17:49 +12:00
bors
33927757ae
Auto merge of #36390 - frewsxcv:panic-set-hook, r=GuillaumeGomez
...
Add basic doc examples for `std::panic::{set_hook, take_hook}`.
None
2016-09-18 10:34:48 -07:00
Corey Farwell
5505ebc31d
Add basic doc examples for std::panic::{set_hook, take_hook}
.
2016-09-18 10:03:34 -04:00
bors
22d15eaca9
Auto merge of #36555 - jseyfried:issue_36540, r=eddyb
...
Visit and fold macro invocations in the same order
Fixes #36540 .
r? @nrc
2016-09-18 04:11:51 -07:00
bors
f39039e6e5
Auto merge of #36527 - nnethercote:last_token_kind, r=jseyfried
...
Optimize the parser's last token handling.
The parser currently makes a heap copy of the last token in four cases:
identifiers, paths, doc comments, and commas. The identifier and
interpolation cases are unused, and for doc comments and commas we only
need to record their presence, not their value.
This commit consolidates the last token handling and avoids the
unnecessary copies by replacing `last_token`, `last_token_eof`, and
`last_token_interpolated` with a new field `last_token_kind`. This
simplifies the parser slightly and speeds up parsing on some files by
3--4%.
2016-09-18 00:48:51 -07:00
bors
0b03ba1f55
Auto merge of #36502 - TimNN:correct-cancel, r=jseyfried
...
correctly cancel some errors
Fixes #36499 .
I also (proactively) changed all other calls in `parser.rs` to use `Handler::cancel`.
2016-09-17 20:57:05 -07:00
bors
d37e54b419
Auto merge of #36504 - pcwalton:and-star, r=eddyb
...
librustc_mir: Remove `&*x` when `x` has a reference type.
This introduces a new `InstCombine` pass for us to place such peephole
optimizations.
r? @eddyb
2016-09-17 17:30:22 -07:00
Jeffrey Seyfried
c7e4ae0d8d
Add regression test.
2016-09-17 23:40:17 +00:00
Jeffrey Seyfried
2cee9ec3b3
Ensure that macro invocations are folded and visited the same order.
2016-09-17 23:40:15 +00:00
bors
32571c05c8
Auto merge of #36508 - nagisa:llvm-backport, r=eddyb
...
Up the LLVM
Fixes #36474
The relevant patch to rust-llvm is at https://github.com/rust-lang/llvm/pull/51
r? @alexcrichton
2016-09-17 12:02:34 -07:00