Commit Graph

45570 Commits

Author SHA1 Message Date
Tobias Bucher
587a32b61b Change TODO to FIXME 2015-08-09 22:05:23 +02:00
Tobias Bucher
5309fbb6c9 Make str::as_bytes_mut private 2015-08-09 22:05:22 +02:00
Tobias Bucher
47041fe289 Make slice::transmute* private 2015-08-09 22:05:22 +02:00
Tobias Bucher
22ec5f4af7 Replace many uses of mem::transmute with more specific functions
The replacements are functions that usually use a single `mem::transmute` in
their body and restrict input and output via more concrete types than `T` and
`U`. Worth noting are the `transmute` functions for slices and the `from_utf8*`
family for mutable slices. Additionally, `mem::transmute` was often used for
casting raw pointers, when you can already cast raw pointers just fine with
`as`.
2015-08-09 22:05:22 +02:00
Alisdair Owens
d07a094fb0 add diagnostics for E0193 2015-08-09 16:45:56 +01:00
Ariel Ben-Yehuda
febdc3b201 Mark round_up_to_next as inline
This speeds up rustc on #25916 from 1.36Â0.022s to 1.326Â0.025s
2015-08-09 17:20:12 +03:00
Robin Kruppe
82dbc2ea61 Add optional, external tests for floating point parsing.
Running these tests takes hours, so they are not run by @bors.
2015-08-09 14:17:39 +02:00
Vincent Bernat
721dc47a69 doc/core: fix description of nth function
The "nth" element can be confusing. In an array context, we know indexes
start from 0 but one may believe this is not the case with "nth". For
example, would `.nth(1)` return the first (1th/1st) or the second
element?  Rephrase a bit to be less confusing.
2015-08-09 01:04:59 +02:00
Vincent Bernat
b67adbed5a TRPL: minor correction on how chars().nth() work
The previous wording was confusing. While would we need to go through
the whole list just to find the first code point? `chars()` being an
iterator, we only need to walk from the beginning of the list.
2015-08-09 00:56:38 +02:00
bors
a5d33d8911 Auto merge of #27182 - AlisdairO:diagnostics382, r=Manishearth
As title :-)
Part of #24407.

r? @Manishearth
2015-08-08 20:32:27 +00:00
Alisdair Owens
dadc717041 add long diagnostics for E0382 2015-08-08 20:17:03 +01:00
Sean McArthur
cfcd449c4c rustc: rename multiple imports in a list 2015-08-08 11:54:15 -07:00
Alisdair Owens
d83a0fdf7d add diagnostics for E0387 2015-08-08 17:38:50 +01:00
bors
cbf4c342cf Auto merge of #27595 - mike-marcacci:patch-1, r=steveklabnik
Keeping integer values and integer references in the "value" columns made the examples quite difficult for me to follow. I've added unicode arrows to references to make them more obvious, without using any characters with actual meaning in the rust language (like `&` or previously `~`).

r? @steveklabnik
2015-08-08 16:27:12 +00:00
Robin Kruppe
ba792a4baa Accurate decimal-to-float parsing routines.
This commit primarily adds implementations of the algorithms from William
Clinger's paper "How to Read Floating Point Numbers Accurately". It also
includes a lot of infrastructure necessary for those algorithms, and some
unit tests.

Since these algorithms reject a few (extreme) inputs that were previously
accepted, this could be seen as a [breaking-change]
2015-08-08 17:15:31 +02:00
Robin Kruppe
b7e39a1c2d Script for generating the powers-of-ten tables necessary for correct and
fast decimal-to-float conversions.
2015-08-08 17:15:25 +02:00
Robin Kruppe
7ebd7f3b9a Add various methods to Bignum:
- Exposing digits and individual bits
- Counting the number of bits
- Add small (digit-sized) values
- Multiplication by power of 5
- Division with remainder

All are necessary for decimal to floating point conversions.
All but the most trivial ones come with tests.
2015-08-08 17:15:19 +02:00
Robin Kruppe
7ff10209aa Enlarge Bignum type from 1152 to 1280 bits.
This is necessary for decimal-to-float code (in a later commit) to handle
inputs such as 4.9406564584124654e-324 (the smallest subnormal f64).
According to the benchmarks for flt2dec::dragon, this does not
affect performance measurably. It probably uses slightly more stack
space though.
2015-08-08 17:15:14 +02:00
Robin Kruppe
b55806ca8f Make core::num::dec2flt::strategy::grisu::Fp methods public.
The intent is to allow decimal-to-float parsing to use Fp in its fast path.
That code is added in a later commit.
2015-08-08 17:12:29 +02:00
Björn Steinbrink
f804872502 Fix the function return type used in get_res_dtor()
Instead of the actual return type, we're currently passing the function
type to get_extern_fn(). The only reason this doesn't explode is because
get_extern_fn() actually doesn't care about the actual return type, just
about it being converging or not.
2015-08-08 15:32:35 +02:00
bors
920cf4b4b2 Auto merge of #27596 - tsion:fix-27450, r=arielb1
Fixes #27450.

r? @steveklabnik
2015-08-08 09:55:42 +00:00
Mike Marcacci
bcf3921a2a Added arrows to references in tables
Keeping integer values and integer references in the "value" columns made the examples quite difficult for me to follow. I've added unicode arrows to make references more obvious, without using a character with actual meaning in the rust language (like `&` or previously `~`).
2015-08-07 23:13:08 -07:00
Scott Olson
f351e762f0 Fix the diagnostic for fat pointer to usize casts.
Fixes #27450.
2015-08-07 22:08:28 -04:00
bors
e5d90d9840 Auto merge of #27378 - GuillaumeGomez:patch-2, r=brson
Part of #24407.
r? @Manishearth
2015-08-07 17:58:17 +00:00
Björn Steinbrink
1eeaf2065b Fix ICE when trying to drop an unsized type from a different crate
The code to get the LLVM type signature for the drop function doesn't
handle unsized types correctly.
2015-08-07 18:29:44 +02:00
bors
1b5d52122e Auto merge of #27582 - pnkfelix:disable-nonzeroing-move-hint-by-default, r=nikomatsakis
Turn nonzeroing move hints back off by default.

Works around bugs injected by PR #26173.

 * (@pnkfelix is unavailable in the short-term (i.e. for the next week) to fix them.)

 * When the bugs are fixed, we will turn nonzeroing move hints back on by default.

Fix #27401
2015-08-07 16:24:22 +00:00
Felix S. Klock II
1a68b18763 placate the pretty tests by ignoring my test. 2015-08-07 18:23:37 +02:00
Tim Neumann
c115c51363 improve span of erroneous empty macro invocation
The ideas is to use the span of the complete macro invocation if the span of a
macro error is `DUMMY_SP`.

fixes #7970
2015-08-07 16:53:13 +02:00
Felix S. Klock II
6170435055 Regression test for dropflag reinit issue.
Fix #27401.
2015-08-07 16:21:22 +02:00
Felix S. Klock II
e9b28d22fb Turn nonzeroing move hints back off by default.
This is a temporary workaround for the bugs that have been found in
the implementation of PR #26173.

 * pnkfelix is unavailable in the short-term (i.e. for the next week) to fix them.

 * When the bugs are fixed, we will turn this back on by default.

(If you want to play with the known-to-be-buggy optimization in the
meantime, you can opt-back in via the debugging option that this
commit is toggling.)
2015-08-07 15:51:25 +02:00
Guillaume Gomez
c3d147eea6 Add a guard example for E0416 2015-08-07 15:23:00 +02:00
Guillaume Gomez
5aa6c155a3 Improve examples of E0102 2015-08-07 15:07:20 +02:00
bors
ab77c1d8d0 Auto merge of #27551 - arielb1:adt-def, r=nikomatsakis
This ended up being a bigger refactoring than I thought, as I also cleaned a few ugly points in rustc. There are still a few areas that need improvements.

Performance numbers:
```
Before:
572.70user 5.52system 7:33.21elapsed 127%CPU (0avgtext+0avgdata 1173368maxresident)k
llvm-time: 385.858

After:
545.27user 5.49system 7:10.22elapsed 128%CPU (0avgtext+0avgdata 1145348maxresident)k
llvm-time: 387.119
```

A good 5% perf improvement. Note that after this patch >70% of the time is spent in LLVM - Amdahl's law is in full effect.

Passes make check locally.

r? @nikomatsakis
2015-08-07 12:23:06 +00:00
Victor Berger
5847ea7619 Customize error messages for self glob imports. 2015-08-07 14:18:20 +02:00
Ariel Ben-Yehuda
eedb1cc576 rename ADTDef to AdtDef etc. 2015-08-07 15:03:09 +03:00
Ariel Ben-Yehuda
62cd3cc46b stop using skip_binder 2015-08-07 13:57:39 +03:00
Ariel Ben-Yehuda
7d32533eab add documentation 2015-08-07 13:48:29 +03:00
bors
9bba711063 Auto merge of #27576 - rust-lang:steveklabnik-patch-1, r=Gankro
1. this isn't actually true about diabetes
2. people with diabetes will get *real sad* when reading this
3. it isn't actually necessary.

r? @Gankro
2015-08-07 05:57:24 +00:00
bors
b77d2f5ac7 Auto merge of #27558 - mlalic:patch-1, r=brson
r? @steveklabnik
2015-08-07 04:21:47 +00:00
bors
871fd5eb73 Auto merge of #27552 - tshepang:misc, r=brson 2015-08-07 02:46:43 +00:00
diaphore
2daa1b7530 Trim trailing newline from FormatMessageW 2015-08-07 03:49:31 +02:00
bors
1181679c8f Auto merge of #27574 - brson:cache-staged-api, r=huonw
This search happens a lot! Locally, compiling hyper sees the following improvements:

before

real    0m30.843s
user    0m51.644s
sys     0m2.128s

real    0m30.164s
user    0m53.320s
sys     0m2.208s

after

real    0m28.438s
user    0m51.076s
sys     0m2.276s

real    0m28.612s
user    0m51.560s
sys     0m2.192s
2015-08-07 01:12:15 +00:00
Steve Klabnik
ad9a0713fd Remove reference to diabetes
1. this isn't actually true about diabetes
2. people with diabetes will get *real sad* when reading this
3. it isn't actually necessary.
2015-08-06 20:18:49 -04:00
Brian Anderson
fd142bb741 Cache a linear search for the #[staged_api] attribute.
This search happens a lot! Locally, compiling hyper sees the following improvements:

before

real    0m30.843s
user    0m51.644s
sys     0m2.128s

real    0m30.164s
user    0m53.320s
sys     0m2.208s

after

real    0m28.438s
user    0m51.076s
sys     0m2.276s

real    0m28.612s
user    0m51.560s
sys     0m2.192s
2015-08-06 16:53:05 -07:00
Brian Anderson
e0d7497fb8 Revert "Revert "Fix missing_docs lint for const and static.""
This reverts commit 9191a78955.
2015-08-06 16:36:44 -07:00
bors
68f79288bf Auto merge of #27566 - rubymeow:master, r=steveklabnik
I got a bit confused reading the guide over why all of a sudden there was an asterisk in the code. I was explained what it was there for in the IRC, and I think it should added it to the docs to prevent any further confusion!
2015-08-06 20:45:39 +00:00
bors
11deb083f5 Auto merge of #27296 - jroesch:type-macros, r=huonw
This pull request implements the functionality for [RFC 873](https://github.com/rust-lang/rfcs/blob/master/text/0873-type-macros.md). This is currently just an update of @freebroccolo's branch from January, the corresponding commits are linked in each commit message.

@nikomatsakis and I had talked about updating the macro language to support a lifetime fragment specifier, and it is possible to do that work on this branch as well. If so we can (collectively) talk about it next week during the pre-RustCamp work week.
2015-08-06 19:11:17 +00:00
Guillaume Gomez
2a08cff97c Add another example for E0412 2015-08-06 20:57:36 +02:00
Ruby
d3e089f08b fixed the few nits! 2015-08-06 19:55:53 +01:00
Ruby
855f1ff321 Explained asterisk on & and &mut reference 2015-08-06 19:29:03 +01:00