Commit Graph

42711 Commits

Author SHA1 Message Date
bors
13a4b83c1a Auto merge of #25402 - parir:master, r=Manishearth
r? @steveklabnik
2015-05-15 13:35:49 +00:00
Björn Steinbrink
eeeb2cc0df Allow for better optimizations of iterators for zero-sized types
Using regular pointer arithmetic to iterate collections of zero-sized types
doesn't work, because we'd get the same pointer all the time. Our
current solution is to convert the pointer to an integer, add an offset
and then convert back, but this inhibits certain optimizations.

What we should do instead is to convert the pointer to one that points
to an i8*, and then use a LLVM GEP instructions without the inbounds
flag to perform the pointer arithmetic. This allows to generate pointers
that point outside allocated objects without causing UB (as long as you
don't dereference them), and it wraps around using two's complement,
i.e. it behaves exactly like the wrapping_* operations we're currently
using, with the added benefit of LLVM being able to better optimize the
resulting IR.
2015-05-15 15:30:22 +02:00
Pascal Hertleif
94be1153f1 TRPL: Fix Inline Code Typography 2015-05-15 14:42:58 +02:00
bors
7ebaf1c5c6 Auto merge of #25423 - dotdash:assume, r=huonw
The assume intrinsic has a strong, negative impact on compile times, so
we're currently only using it in places where LLVM can simplify it to
nonnull metadata on a load intruction. Unfortunately a recent change
that fixed invalid assume calls introduce new assume calls for which
this simplification can not happen, leading to a massive regression in
compile times in certain cases.

Moving the assumptions from the middle of the function to the beginning
allows the simplification to happen again, bringing compile times back
to their old levels.

Fixes #25393
2015-05-15 11:57:31 +00:00
Pascal Hertleif
7d0ae692c9 TRPL: Remove Duplicate Reference
Pandoc shows a warning for this. I'm not sure if it's actually invalid Markdown.
2015-05-15 12:23:26 +02:00
bors
579e31929f Auto merge of #25400 - nrc:save-api, r=huonw
Also start factoring out an API for compiler tools to use and fix a bug that was preventing DXR indexing Rust properly.

r? @huonw
2015-05-15 10:10:35 +00:00
parir
94ecc372b2 5 != 4
Closes #25430
2015-05-15 11:28:32 +02:00
Nick Cameron
7555e7081d comments 2015-05-15 19:06:56 +12:00
bors
072cba9a53 Auto merge of #25422 - cactorium:unsafe_errors, r=huonw
For https://github.com/rust-lang/rust/issues/24407
2015-05-15 06:40:20 +00:00
Nick Hamann
74f1818608 Update README
Tries to make the introductory portion of the README flow better.
2015-05-15 00:43:40 -05:00
Kelvin Ly
190de695f5 Add backticks around language keyword 2015-05-15 00:07:01 -04:00
bors
0077ffe547 Auto merge of #25419 - nrc:time, r=alexcrichton
r? @alexcrichton
2015-05-15 03:46:42 +00:00
bors
daabc8a0c7 Auto merge of #25421 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #25404, #25405, #25407, #25408, #25410, #25412, #25413, #25414, #25418, #25420
- Failed merges:
2015-05-15 01:53:03 +00:00
Björn Steinbrink
02603334ae Fix major compile time regression
The assume intrinsic has a strong, negative impact on compile times, so
we're currently only using it in places where LLVM can simplify it to
nonnull metadata on a load intruction. Unfortunately a recent change
that fixed invalid assume calls introduce new assume calls for which
this simplification can not happen, leading to a massive regression in
compile times in certain cases.

Moving the assumptions from the middle of the function to the beginning
allows the simplification to happen again, bringing compile times back
to their old levels.

Fixes #25393
2015-05-15 03:31:53 +02:00
Kelvin Ly
507f8b8d94 Fix merge conflict and also add markdown formatting 2015-05-14 20:45:18 -04:00
Steve Klabnik
6df13d4d88 Rollup merge of #25420 - habnabit:master, r=steveklabnik
It seems to refer to something that used to exist, but got moved, and then not everything got cleaned up.
2015-05-14 20:30:44 -04:00
Steve Klabnik
5501f076c2 Rollup merge of #25418 - leunggamciu:patch-trpl, r=steveklabnik 2015-05-14 20:30:43 -04:00
Steve Klabnik
8d522746f3 Rollup merge of #25414 - apasel422:patch-1, r=alexcrichton 2015-05-14 20:30:43 -04:00
Steve Klabnik
aa560115b0 Rollup merge of #25413 - killercup:patch-11, r=alexcrichton
r? @steveklabnik
2015-05-14 20:30:43 -04:00
Steve Klabnik
609b4a117c Rollup merge of #25412 - koute:master, r=alexcrichton
Every time I profile my code I find something new to add #[inline] to. (:
2015-05-14 20:30:43 -04:00
Steve Klabnik
dd60abc697 Rollup merge of #25410 - durka:patch-2, r=steveklabnik 2015-05-14 20:30:42 -04:00
Steve Klabnik
765a55ed20 Rollup merge of #25408 - Nashenas88:rust-book-stack-and-heap-typo, r=steveklabnik
I fixed the typo of the value of e in the memory tables. It is a reference to d, and so it should contain the memory location of d. I also fixed the incorrectly formatted tables so they display properly in html pages.
2015-05-14 20:30:42 -04:00
Steve Klabnik
c3562110d0 Rollup merge of #25407 - durka:patch-1, r=alexcrichton 2015-05-14 20:30:42 -04:00
Steve Klabnik
0028f855e2 Rollup merge of #25405 - dreid:patch-3, r=nikomatsakis 2015-05-14 20:30:42 -04:00
Steve Klabnik
1f40cde836 Rollup merge of #25404 - dnaeon:doc-fixes, r=steveklabnik
This PR fixes a comment in the `while Loops` section of the Rust book with the correct type of a variable binding.
2015-05-14 20:30:41 -04:00
Kelvin Ly
6e9e76ae5f Fix error codes E0197-E0200 2015-05-14 20:08:30 -04:00
bors
2792855fe6 Auto merge of #25399 - kballard:crate-attributes-cfg_attr, r=alexcrichton
Stripping unconfigured items prior to collecting crate metadata means we
can say things like `#![cfg_attr(foo, crate_type="lib")]`.

Fixes #25347.
2015-05-15 00:06:56 +00:00
Aaron Gallagher
568f13ac70 Remove an almost-duplicated sentence.
It seems to refer to something that used to exist, but got moved, and
then not everything got cleaned up.
2015-05-14 17:04:00 -07:00
Nick Cameron
140577b5aa Don't use <Duration as Display>::display() in time passes 2015-05-15 11:08:44 +12:00
leunggamciu
82c7282bec trpl: Fix missing internal links 2015-05-15 06:25:01 +08:00
bors
571f371b3f Auto merge of #25403 - Manishearth:rollup, r=Manishearth
- Successful merges: #25354, #25381, #25391, #25395, #25397, #25398, #25401
- Failed merges:
2015-05-14 20:03:39 +00:00
Andrew Paseltiner
50fb669241 s/Iterater/Iterator/ 2015-05-14 15:57:33 -04:00
Pascal Hertleif
a1577db825 TRPL: Fix Internal Link 2015-05-14 21:24:09 +02:00
Jan Bujak
4bdeb31124 Add #[inline] to Borrow<str>::borrow for String. 2015-05-14 20:54:02 +02:00
Alex Burka
c8b06891f0 trpl: punctuation fix in Patterns 2015-05-14 14:51:16 -04:00
Alex Burka
c147ac42ca trpl: fix link from Match to If Let 2015-05-14 14:43:50 -04:00
Alex Burka
66c0fe0d3d trpl: fix link from Enums to Traits 2015-05-14 14:35:46 -04:00
Alex Burka
dc6eb7839c trpl: fix link from Structs to Traits 2015-05-14 14:20:24 -04:00
bors
dd4dad8c86 Auto merge of #24920 - alexcrichton:duration, r=aturon
This commit is an implementation of [RFC 1040][rfc] which is a redesign of the
currently-unstable `Duration` type. The API of the type has been scaled back to
be more conservative and it also no longer supports negative durations.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1040-duration-reform.md

The inner `duration` module of the `time` module has now been hidden (as
`Duration` is reexported) and the feature name for this type has changed from
`std_misc` to `duration`. All APIs accepting durations have also been audited to
take a more flavorful feature name instead of `std_misc`.

Closes #24874
2015-05-14 18:18:39 +00:00
Paul Faria
785cbe3ac9 I fixed the typo of the value of e in the memory tables. It is a reference to d, and so it should contain the memory location of d. I also fixed the incorrectly formatted tables. 2015-05-14 13:43:11 -04:00
Kevin Ballard
90b952954b Move configuration 1 phase before crate metadata collection
Stripping unconfigured items prior to collecting crate metadata means we
can say things like `#![cfg_attr(foo, crate_type="lib")]`.

Fixes #25347.
2015-05-14 10:35:35 -07:00
Lee Jeffery
2dcc200be0 Fix stupid mistake from previous commit 2015-05-14 18:28:28 +01:00
Lee Jeffery
93af5f9b44 Make BytePos calculation same as original 2015-05-14 18:19:51 +01:00
Alex Burka
e2bb734ac1 trpl: punctuation fix 2015-05-14 12:20:33 -04:00
David Reid
acb5e02add Another thread->task fix. 2015-05-14 08:15:50 -07:00
Marin Atanasov Nikolov
b4e1ce56a3 trpl-docs: Specify correct type of variable binding 2015-05-14 17:38:22 +03:00
Manish Goregaokar
2df7ae6e64 Rollup merge of #25401 - WiSaGaN:bugfix/fix_crates_io_link, r=steveklabnik
Minor link fix for crates.io.
2015-05-14 19:33:10 +05:30
Manish Goregaokar
1109b6dd8d Rollup merge of #25398 - nham:E0066_E0069, r=huonw
Adds explanations for E0053, E0066, E0069, E0251, E0252, E0255, E0256, E0368.

cc #24407
2015-05-14 19:33:10 +05:30
Manish Goregaokar
ff207b7a05 Rollup merge of #25397 - dreid:patch-2, r=alexcrichton 2015-05-14 19:33:09 +05:30
Manish Goregaokar
0cbef04817 Rollup merge of #25395 - dreid:patch-1, r=alexcrichton 2015-05-14 19:33:09 +05:30