Commit Graph

599 Commits

Author SHA1 Message Date
kennytm
9c0f946fe2
Rollup merge of #54095 - kenta7777:kenta7777#53719, r=davidtwco
Rename all mentions of `nil` to `unit`

Fixes #53719.

Renamed keywords nil to unit.
2018-09-14 14:50:11 +08:00
toidiu
731f4efae5 stabalize infer outlives requirements (RFC 2093).
Co-authored-by: nikomatsakis
2018-09-11 11:40:04 -04:00
kenta7777
8134ee25b8 renamed emit_nil to emit_unit 2018-09-11 23:32:41 +09:00
kenta7777
7f8160409f Revert "renamed emit_nil to emit_unit"
This reverts commit d02a5ffaed.
2018-09-11 22:20:22 +09:00
kenta7777
fa683ac656 Revert "renamed read_nil to read_unit"
This reverts commit 37d0600c23.
2018-09-11 22:20:09 +09:00
kenta7777
37d0600c23 renamed read_nil to read_unit 2018-09-10 10:36:07 +09:00
kenta7777
d02a5ffaed renamed emit_nil to emit_unit 2018-09-10 10:31:37 +09:00
Niko Matsakis
f702bd6a52 rewrite constants to use NewType::MAX instead of u32::MAX
Also, adjust the MAX to be `u32::MAX - 1`, leaving room for `u32::MAX`
to become a sentinel value in the future.
2018-09-07 11:37:47 -04:00
Niko Matsakis
73fb1622b3 check that adding infer-outlives requirement to all crates works 2018-08-24 17:10:50 -04:00
Igor Gutorov
4d81fe9243 Use optimized SmallVec implementation 2018-08-23 10:45:53 +03:00
kennytm
b21e956f27
Rollup merge of #53393 - BurntPizza:serialize-inlines, r=alexcrichton
Mark libserialize functions as inline

Got to thinking: "what if that big pile of tiny functions isn't inlining as it should?"
So a few `replace-regex` later the local perf run says this:
<details>

![](https://i.imgur.com/gvdJEgG.png)
</details>
Not huge, but still a win, which is interesting. Want to verify with the real perf run, but I understand there's a backlog.

I didn't notice any increase in compile time or binary sizes for rustc/libs.
2018-08-21 17:51:40 +08:00
BurntPizza
1540e8cac0 Remove inline attribute on generic functions 2018-08-17 02:59:55 -04:00
kennytm
e6068828bd
Rollup merge of #53313 - llogiq:two-small-improvements, r=estebank
Two small improvements

In `librustc_apfloat/ieee.rs`, use the iterator.[r]find methods to simplify the code. In `libserialize/json.rs`, make use of the fact that `Vec.last` on an empty `Vec` returns `None` to simplify the code to a single match.
2018-08-17 00:13:20 +08:00
kennytm
07ce2a3518
Rollup merge of #52946 - Ajacmac:doc-impl-from, r=GuillaumeGomez
Documented impl From on line 367 of libserialize/json.rs

This is for the impl From mentioned in #51430 assigned to @skade .

Hopefully I didn't miss anything/get anything wrong. I looked over another PR for another part of this same issue to see what the proper formatting was, etc.

Thanks!
2018-08-17 00:13:19 +08:00
BurntPizza
bc900f5323 Mark libserialize functions as inline 2018-08-15 12:37:08 -04:00
Andre Bogus
4cae6650fd Two small improvements
In `librustc_apfloat/ieee.rs`, use the iterator.[r]find methods to
simplify the code. In `libserialize/json.rs`, make use of the fact
that `Vec.last` on an empty `Vec` returns `None` to simplify the
code to a single match.
2018-08-15 13:54:47 +02:00
Jacob
352b2e72f4
Corrected typing description in doc 2018-08-14 21:48:46 -03:00
kennytm
e77d9955a0
Rollup merge of #53246 - ljedrz:cleanup_various, r=kennytm
A few cleanups

- change `skip(1).next()` to `nth(1)`
- collapse some `if-else` expressions
- remove a few explicit `return`s
- remove an unnecessary field name
- dereference once instead of matching on multiple references
- prefer `iter().enumerate()` to indexing with `for`
- remove some unnecessary lifetime annotations
- use `writeln!()` instead of `write!()`+`\n`
- remove redundant parentheses
- shorten some enum variant names
- a few other cleanups suggested by `clippy`
2018-08-14 23:59:12 +08:00
ljedrz
535bd13fe4 A few cleanups for fmt_macros, graphviz, apfloat, target, serialize and term 2018-08-11 20:56:29 +02:00
memoryruins
75fa16bc60 [nll] libserialize: enable feature(nll) for bootstrap 2018-08-09 09:22:08 -04:00
Strategic Technologies
d4b7c6359e Documented impl From on line 367 of libserialize/json.rs 2018-08-01 11:59:45 -03:00
Pietro Albini
714fd37b8b
Rollup merge of #52778 - ljedrz:readable_serialize, r=kennytm
Improve readability of serialize.rs
2018-08-01 10:12:40 +02:00
bors
866a713258 Auto merge of #52738 - ljedrz:push_to_extend, r=eddyb
Replace push loops with extend() where possible

Or set the vector capacity where I couldn't do it.

According to my [simple benchmark](https://gist.github.com/ljedrz/568e97621b749849684c1da71c27dceb) `extend`ing a vector can be over **10 times** faster than `push`ing to it in a loop:

10 elements (6.1 times faster):
```
test bench_extension ... bench:          75 ns/iter (+/- 23)
test bench_push_loop ... bench:         458 ns/iter (+/- 142)
```

100 elements (11.12 times faster):
```
test bench_extension ... bench:          87 ns/iter (+/- 26)
test bench_push_loop ... bench:         968 ns/iter (+/- 3,528)
```

1000 elements (11.04 times faster):
```
test bench_extension ... bench:         311 ns/iter (+/- 9)
test bench_push_loop ... bench:       3,436 ns/iter (+/- 233)
```

Seems like a good idea to use `extend` as much as possible.
2018-07-29 21:37:47 +00:00
ljedrz
59c8a279da Replace push loops with collect() and extend() where possible 2018-07-29 18:53:22 +02:00
bors
023fd7e74a Auto merge of #52767 - ljedrz:avoid_format, r=petrochenkov
Prefer to_string() to format!()

Simple benchmarks suggest in some cases it can be faster by even 37%:
```
test converting_f64_long  ... bench:         339 ns/iter (+/- 199)
test converting_f64_short ... bench:         136 ns/iter (+/- 34)
test converting_i32_long  ... bench:          87 ns/iter (+/- 16)
test converting_i32_short ... bench:          87 ns/iter (+/- 49)
test converting_str       ... bench:          54 ns/iter (+/- 15)
test formatting_f64_long  ... bench:         349 ns/iter (+/- 176)
test formatting_f64_short ... bench:         145 ns/iter (+/- 14)
test formatting_i32_long  ... bench:          98 ns/iter (+/- 14)
test formatting_i32_short ... bench:          93 ns/iter (+/- 15)
test formatting_str       ... bench:          86 ns/iter (+/- 23)
```
2018-07-29 09:33:37 +00:00
ljedrz
7750a0d0a6 Improve readability of serialize.rs 2018-07-27 14:41:31 +02:00
ljedrz
57a5a9b054 Prefer to_string() to format!() 2018-07-27 11:11:18 +02:00
Tatsuyuki Ishi
e098985939 Deny bare_trait_objects globally 2018-07-25 10:25:29 +09:00
Vadim Petrochenkov
4d1a30c92b Remove most of PartialEq impls from AST and HIR structures 2018-07-14 14:56:57 +03:00
ljedrz
0878453119 Deny bare trait objects in src/libserialize 2018-07-12 12:49:29 +02:00
John Kåre Alsaker
14d3c6e8f4 Make opaque::Encoder append-only and make it infallible 2018-06-27 11:43:15 +02:00
Zack M. Davis
057715557b migrate codebase to ..= inclusive range patterns
These were stabilized in March 2018's #47813, and are the Preferred Way
to Do It going forward (q.v. #51043).
2018-06-26 07:53:30 -07:00
Mark Simulacrum
c115cc655c Move deny(warnings) into rustbuild
This permits easier iteration without having to worry about warnings
being denied.

Fixes #49517
2018-04-08 16:59:14 -06:00
Alex Crichton
8958815916 Bump the bootstrap compiler to 1.26.0 beta
Holy cow that's a lot of `cfg(stage0)` removed and a lot of new stable language
features!
2018-04-05 07:13:45 -07:00
Mark Mansi
7ce8191775 Stabilize i128_type 2018-03-26 08:36:50 -05:00
John Kåre Alsaker
878f5b0514 Fix Decodable impl for Arc 2018-03-02 10:45:32 +01:00
bors
816d765716 Auto merge of #46919 - michaelwoerister:new-leb128, r=sfackler
Speed up leb128 encoding and decoding for unsigned values.

Make the implementation for some leb128 functions potentially faster.

@Mark-Simulacrum, could you please trigger a perf.rlo run?
2018-01-20 02:00:13 +00:00
Wesley Wiser
01c890ee96 [incremental] Specialize encoding and decoding of Fingerprints
This saves the storage space used by about 32 bits per `Fingerprint`.
On average, this reduces the size of the `/target/{mode}/incremental`
folder by roughly 5%.

Fixes #45875
2018-01-09 20:20:50 -05:00
Michael Woerister
53c2f447ff Make leb128 coding a bit faster. 2018-01-09 16:53:35 +01:00
Wesley Wiser
fc2424b988 Add raw bytes functions
Part of #45875
2018-01-06 14:57:27 -05:00
kennytm
4daaee900f
Add trailing newlines to files which have no trailing newlines. 2017-12-30 15:50:52 +08:00
bors
8d4da4f4c4 Auto merge of #46881 - michaelwoerister:ensure-coherence, r=nikomatsakis
incr.comp.: Cache check_match and use ensure() for coherence-related queries.

Some minor optimizations.

r? @nikomatsakis
2017-12-23 23:06:13 +00:00
John Kåre Alsaker
84ce4f1c10 Add Encodable and Decodable impls for Arc<[T]> 2017-12-21 19:21:40 +01:00
Michael Woerister
8ac65af81f Implement Encodable and Decodable for Result. 2017-12-20 16:37:29 +01:00
Matt Brubeck
3024c1434a Use Try syntax for Option in place of macros or match 2017-12-09 14:18:33 -08:00
Michael Woerister
059bd80526 incr.comp.: Load diagnostics from previous session lazily and clean up on-disk-cache persistence code. 2017-12-01 13:48:59 +01:00
Michael Woerister
687e099b44 incr.comp.: Make a bunch of query results encodable. 2017-11-28 13:03:39 +01:00
Tamir Duberstein
b3f50caee0
*: remove crate_{name,type} attributes
Fixes #41701.
2017-08-25 16:18:21 -04:00
Zack M. Davis
1b6c9605e4 use field init shorthand EVERYWHERE
Like #43008 (f668999), but _much more aggressive_.
2017-08-15 15:29:17 -07:00
Bruce Mitchener
539df8121b Fix some doc/comment typos. 2017-07-23 22:48:01 +07:00