Paul Fanelli
58ced1635b
Update E0463 error message to new format
2016-08-29 15:44:05 +00:00
Gavin Baker
0412fa8b8e
E0458 Update error format #35932
...
- Fixes #35932
- Part of #35233
r? @jonathandturner
2016-08-29 13:12:25 +10:00
Gavin Baker
65249a5431
E0459 Update error format #35933
...
- Fixes #35933
- Part of #35233
r? @jonathandturner
2016-08-29 13:12:25 +10:00
Jeffrey Seyfried
c14ff2884d
Rollup merge of #35917 - jseyfried:remove_attr_ext_traits, r=nrc
...
syntax: Remove traits `AttrMetaMethods`, `AttributeMethods`, and `AttrNestedMetaItemMethods`
2016-08-28 10:40:04 +00:00
Jeffrey Seyfried
6303640e85
Rollup merge of #35850 - SergioBenitez:master, r=nrc
...
Implement RFC#1559: allow all literals in attributes
Implemented rust-lang/rfcs#1559, tracked by #34981 .
2016-08-28 10:38:19 +00:00
Jonas Schievink
2eeca3ccd2
Make metadata encoding deterministic
...
`ty::Predicate` was being used as a key for a hash map, but its hash
implementation indirectly hashed addresses, which vary between each
compiler run. This is fixed by sorting predicates by their ID before
encoding them.
In my tests, rustc is now able to produce deterministic results when
compiling libcore and libstd.
I've beefed up `run-make/reproducible-build` to compare the produced
artifacts bit-by-bit. This doesn't catch everything, but should be a
good start.
cc #34902
2016-08-27 15:20:45 +02:00
Jonas Schievink
144e576c87
Use FnvHashMap
in more places
...
* A step towards #34902
* More stable error messages in some places related to crate loading
* Possible slight performance improvements since all `HashMap`s
replaced had small keys where `FnvHashMap` should be faster
(although I didn't measure)
2016-08-27 15:20:45 +02:00
bors
099b9fdb1a
Auto merge of #36030 - Manishearth:rollup, r=Manishearth
...
Rollup of 7 pull requests
- Successful merges: #35124 , #35877 , #35953 , #36002 , #36004 , #36005 , #36014
- Failed merges:
2016-08-27 03:07:48 -07:00
bors
b7e2157dba
Auto merge of #35542 - scottcarr:visitor_refactor, r=nikomatsakis
...
[MIR] track Location in MirVisitor, combine Location
All the users of MirVisitor::visit_statement implement their own statement index tracking. This PR move the tracking into MirVisitor itself.
Also, there were 2 separate implementations of Location that were identical. This PR eliminates one of them.
2016-08-26 19:05:11 -07:00
Eduard Burtescu
7a8d4822d8
rustc: use Vec<Kind> in Substs, where Kind is a &TyS | &Region tagged pointer.
2016-08-27 01:15:07 +03:00
Eduard Burtescu
dffd238f8b
rustc: pass ty::Region behind an interned 'tcx reference.
2016-08-27 01:15:06 +03:00
Eduard Burtescu
5222fa58a1
rustc: use accessors for Substs::{types,regions}.
2016-08-27 00:25:04 +03:00
Jeffrey Seyfried
bfb01bbb26
Refactor away AttrMetaMethods
.
2016-08-25 20:41:40 +00:00
Jeffrey Seyfried
4eb08bb2ab
Refactor away AttrNestedMetaItemMethods
.
2016-08-25 20:41:32 +00:00
Sergio Benitez
8250a26b5b
Implement RFC#1559: allow all literals in attributes.
2016-08-25 13:25:22 -07:00
Manish Goregaokar
cf597ab2ba
Rollup merge of #35955 - frewsxcv:idiomatic-methods, r=eddyb
...
Use idiomatic names for string-related methods names.
None
2016-08-25 17:08:01 +05:30
bors
0ccd5c802b
Auto merge of #35971 - jonathandturner:rollup, r=jonathandturner
...
Rollup of 4 pull requests
- Successful merges: #35876 , #35920 , #35948 , #35961
- Failed merges: #35395
2016-08-24 18:42:24 -07:00
Mohit Agarwal
11e9b8de7d
Update E0445 and E0454 to new error format
...
Fixes #35922 .
Fixes #35930 .
Part of #35233 .
r? @GuillaumeGomez
2016-08-24 17:43:51 +05:30
Eduard Burtescu
25cf8001b1
Remove AST from metadata except for consts and const fns.
2016-08-24 13:23:38 +03:00
Corey Farwell
19aae8e069
Reuse iterator to avoid unnecessary creation.
2016-08-23 21:34:53 -04:00
Corey Farwell
2655c89549
Use idiomatic names for string-related methods names.
2016-08-23 21:28:26 -04:00
Guillaume Gomez
2c190ad0d2
Update block codes' flags
2016-08-19 16:44:29 +02:00
Scott A Carr
0ff128228f
track Location in visitor, combine Location
2016-08-18 14:57:42 -04:00
Niko Matsakis
37d974f353
remove seemingly unnecessary call to encode_predicates
2016-08-17 15:21:59 -04:00
Niko Matsakis
6b33f47514
remove usize: DepGraphRead
and add Untracked
...
The idea is that a `usize` is sort of ambiguous: in this case, it
represents indices that do not need tracking, but it could as easily be
some data read out from a tracked location, and hence represent tracked
data. Therefore, we add an `Untracked` type that lets user assert
that value is not tracked.
Also correct various typos.
2016-08-17 15:21:59 -04:00
Niko Matsakis
9daea5b639
Add a comment, remove Deref/DerefMut
...
The comment explains the `index-builder` pattern. We no longer need the
`Deref/DerefMut` relationship, and it seems nicer without it.
2016-08-17 15:21:59 -04:00
Niko Matsakis
1a91e67614
pacify the mercilous tidy
2016-08-17 15:21:59 -04:00
Niko Matsakis
f3990feb2e
create a trait to ensure that data is tracked
...
Also write a comment explaining the system.
2016-08-17 15:21:58 -04:00
Niko Matsakis
00e699faf3
change callback for expr/type to a fn pointer
...
The idea is that, this way, we can cleanly isolate ALL state that is
being passed, since it goes as an argument to the fn pointer.
2016-08-17 15:21:45 -04:00
Niko Matsakis
c0c8ab9cd2
extract two more record calls
2016-08-17 15:21:45 -04:00
Niko Matsakis
8c4a224589
extract encode_info_for_trait_item into method
2016-08-17 15:21:45 -04:00
Niko Matsakis
8dc8151b49
pull out call to record
for impl items
2016-08-17 15:21:44 -04:00
Niko Matsakis
9afcd77246
don't pass extra state fo encode_struct_ctor
2016-08-17 10:38:49 -04:00
Niko Matsakis
c716ad8af5
pull out encode_field
2016-08-17 10:38:49 -04:00
Niko Matsakis
f35196326d
pull out code for encoding enum variants
2016-08-17 10:38:49 -04:00
Niko Matsakis
5166682583
pull out the record call for encode_info_for_item
2016-08-17 10:38:48 -04:00
Niko Matsakis
6277b1fef6
separate main items from addl items in metadata
2016-08-17 10:25:01 -04:00
Niko Matsakis
d49e1a9191
move rbml_w into the self struct
2016-08-17 10:25:01 -04:00
Niko Matsakis
baccdc01ae
make record take a closure
2016-08-17 09:24:58 -04:00
Niko Matsakis
6b76932ba8
introduce Deref/DerefMut to model subtype rel
...
The idea is that ItemContentBuilder is a base-type of IndexBuilder.
2016-08-17 09:03:50 -04:00
Niko Matsakis
b2c7922d7f
move free encode fns into methods of IndexBuilder
2016-08-17 09:03:50 -04:00
Niko Matsakis
92f269e665
put ecx into IndexBuilder so we don't have to pass
2016-08-17 08:03:50 -04:00
Niko Matsakis
25bb51d98f
store ecx, not dep-graph
2016-08-17 07:51:12 -04:00
Niko Matsakis
85ac63e9ec
rename CrateIndex to IndexBuilder
2016-08-17 07:51:12 -04:00
Niko Matsakis
b5fa8ab593
move CrateIndex into its own module
2016-08-17 07:39:11 -04:00
Eduard Burtescu
9453d9b8ad
rustc: remove ParamSpace from Substs.
2016-08-17 06:32:00 +03:00
Eduard Burtescu
6f5e455c2d
rustc: split GenericPredicates of a method from its parent predicates.
2016-08-17 05:50:57 +03:00
Eduard Burtescu
3e74e5bffe
rustc: split Generics of a method from its parent Generics.
2016-08-17 05:50:57 +03:00
Eduard Burtescu
c1cfd58cbd
rustc: remove SelfSpace from ParamSpace.
2016-08-17 05:50:57 +03:00
Eduard Burtescu
4158673ad7
rustc: reduce Substs and Generics to a simple immutable API.
2016-08-17 05:50:57 +03:00