Felix S. Klock II
d414a39197
Re-tag slicing_syntax
as Accepted
.
...
Rollup merge (373cbab5b0
) of PR #20723
accidentally reverted a portion of commit
8327bcc167
which shifted
`slicing_syntax` from Active to Accepted.
2015-02-13 15:48:05 +01:00
Steve Klabnik
114301f4f2
Refer to LLVM rather than GCC wiki for atomic orderings
...
Fixes #22064 .
2015-02-13 09:39:36 -05:00
Steve Klabnik
58a7d58686
Re-word paragraph about enums and equality
...
Fixes #22035 .
2015-02-13 09:37:05 -05:00
Steve Klabnik
4b25d7528b
Remove outdated information about copy/move from the reference
...
Fixes #22136
2015-02-13 09:21:38 -05:00
Steve Klabnik
805a31fb76
Improve documentation for Select::new()
.
...
Remove incorrect claim, add example, reformat and re-word.
Fixes #22266
2015-02-13 09:11:41 -05:00
Steve Klabnik
ce22f30b9e
Make note of doc duplication with reexports
...
Fixes #16645
2015-02-13 08:56:44 -05:00
Steve Klabnik
17f9d36d35
Improve core::cmp docs
2015-02-13 08:49:52 -05:00
Florian Hahn
f28a33359b
Make if after colon lowercase
2015-02-13 10:24:05 +01:00
Kevin Yap
c5dba7275a
Remove reference to mailing list
...
Also add address of IRC server. Addresses #22249 .
2015-02-13 00:01:34 -08:00
bors
cf636c233d
Auto merge of #22093 - petrochenkov:builtin, r=pnkfelix
...
Names of structs, enums, traits, type aliases and type parameters (i.e. all identifiers that can be used as full paths in type position) are not allowed to match the names of primitive types.
See #20427 for more information.
This is a minor [breaking-change]
2015-02-13 07:44:41 +00:00
Chris Wong
aef5551751
Rename unsafe_lang_item
to unsafe_cell_lang_item
2015-02-13 19:40:22 +13:00
Chris Wong
b4a286144d
Rename the "unsafe" lang item to "unsafe_cell"
2015-02-13 19:40:22 +13:00
Brian Anderson
9df38bf658
Remove some irrelevant text from README
...
The quick start already links to the book. I think its not necessary
to do in the build instructions.
2015-02-12 20:36:21 -08:00
Brian Anderson
8dcc886d68
Change README quick start instructions to defer entirely to the book.
2015-02-12 20:36:21 -08:00
Brian Anderson
b2f70a4159
Update uninstall instructions
2015-02-12 20:36:20 -08:00
Brian Anderson
be440bc8a6
Upgrade rust-installer
2015-02-12 20:36:17 -08:00
Huon Wilson
e4a9eb95ce
Remove _VALUE
from the float extremes constants.
...
In `std::f32` and `std::f64`:
- `MIN_VALUE` → `MIN`
- `MAX_VALUE` → `MAX`
- `MIN_POS_VALUE` → `MIN_POSITIVE`
This matches the corresponding integer constants.
[breaking-change]
2015-02-13 14:40:57 +11:00
Huon Wilson
3d9528a8d8
Unstabilise words
for now.
...
It is not totally clear if we should just use whitespace, or if the full
unicode word-breaking algorithm is more correct. If there is demand we
can reconsider this decision (and consider the precise algorithm to use
in detail).
cc #15628 .
2015-02-13 14:30:23 +11:00
bors
ba2efe96ae
Auto merge of #22219 - pnkfelix:partial-reinit, r=pnkfelix
...
borrowck: Prevent partial reinitialization of uninitialized structures
This is a pnkfelix-swiped squash of #22079 , which was a rebase and revision of #18963
Fixes #18571 .
2015-02-13 02:09:15 +00:00
Duane Edwards
9c686dc54d
Correct typo for 'underyling'
2015-02-13 08:45:52 +10:00
Marvin Löbel
07d00deab2
Made Self
a keyword.
...
It is only allowed in paths now, where it will either work inside a `trait`
or `impl` item, or not resolve outside of it.
[breaking-change]
Closes #22137
2015-02-12 22:04:31 +01:00
Keegan McAllister
b7683fc02b
Warn when linking a plugin into a non-plugin crate
...
Fixes #22202 .
2015-02-12 12:44:31 -08:00
Keegan McAllister
6864792df0
Separate macro and plugin loading
...
Now they just share a bit of code internal to creader.
Resolves #22198 to my satisfaction.
2015-02-12 12:44:31 -08:00
Keegan McAllister
6b784bacbf
creader: Clean up macro/plugin API
...
Step towards #22198 .
2015-02-12 12:32:40 -08:00
Björn Steinbrink
3df5c4ac21
Update LLVM to disable asserts in the PassInfo cache
...
Fixes #22233
2015-02-12 21:30:04 +01:00
bors
39b463f153
Auto merge of #22182 - nikomatsakis:cycles-in-collect, r=nikomatsakis
...
This resolves a number of bugs that trigger stack overflows or other cyclic errors.
r? @nick29581 (it is based on work that you started)
f? @jroesch (also based on your branch)
2015-02-12 20:03:50 +00:00
Alex Crichton
342948670b
std: Add missing stability for core::fmt
...
The `Arguments::new_v1_formatted` function was accidentally left out when this
module was stabilized.
2015-02-12 11:12:45 -08:00
Niko Matsakis
a25ed227a7
Pacify the merciless nrc.
2015-02-12 13:29:52 -05:00
Niko Matsakis
eec3b431aa
Pacify the mercilous tidy.
2015-02-12 13:29:52 -05:00
Niko Matsakis
21fb420592
Add test that shows how a cycle between the where-clauses on a type
...
and the type appearing in the trait would (previously) trigger an
error message. The code is now accepted. No reported issue that I am
aware of.
2015-02-12 13:29:52 -05:00
Niko Matsakis
14141aca80
Add test for self-referencing pattern blocked by #20551 . Fixes #20551 .
2015-02-12 13:29:51 -05:00
Niko Matsakis
28e48f308c
Add test for IntoIterator pattern blocked by #20220 . Fixes #20220 .
2015-02-12 13:29:51 -05:00
Niko Matsakis
c87166e149
Adjust wording of astconv comment.
2015-02-12 13:29:51 -05:00
Niko Matsakis
a6c295cb22
Modify repr()
so that when -Z verbose
is used, at least, it does not
...
fetch trait definitions. This allows is to be used early in the compiler
without triggering ICEs. Also make -Z verbose less horrifyingly ugly.
2015-02-12 13:29:51 -05:00
Niko Matsakis
3e88b5bbf9
Rote changes to fix fallout throughout the compiler from splitting the
...
predicates and renaming some things.
2015-02-12 13:29:51 -05:00
Alex Crichton
985fc7d09b
std: Optimize Vec::from_iter
...
This PR is an optimization of the `FromIterator` implementation of `Vec`
Benchmark: https://gist.github.com/alexcrichton/03d666159a28a80e7c70
Before:
test macro_repeat1 ... bench: 57 ns/iter (+/- 1)
test macro_repeat2 ... bench: 56 ns/iter (+/- 1)
test map_clone1 ... bench: 828 ns/iter (+/- 13)
test map_clone2 ... bench: 828 ns/iter (+/- 8)
test repeat1 ... bench: 1104 ns/iter (+/- 10)
test repeat2 ... bench: 1106 ns/iter (+/- 11)
After:
test macro_repeat1 ... bench: 75 ns/iter (+/- 21)
test macro_repeat2 ... bench: 59 ns/iter (+/- 31)
test map_clone1 ... bench: 34 ns/iter (+/- 22)
test map_clone2 ... bench: 52 ns/iter (+/- 21)
test repeat1 ... bench: 34 ns/iter (+/- 11)
test repeat2 ... bench: 33 ns/iter (+/- 12)
The idea behind this optimization is to avoid all bounds checks for space
already allocated into the vector. This may involve running the iterator twice,
but the first run of the iterator should be optimizable to a memcpy or memset if
possible.
The same treatment can in theory be applied to `Vec::extend` but the benchmarks
for that currently get *worse* if the change is applied. This appears to be some
LLVM optimizations going awry but it's seems prudent to land at least the
`collect` portion beforehand.
2015-02-12 10:25:34 -08:00
Niko Matsakis
3764699c83
Refactor collect to separate out the computation of the type scheme
...
and predicates. Try to document how things work. More cleanup is
needed here but I had to draw the line somewhere gosh darn it.
2015-02-12 13:02:38 -05:00
Niko Matsakis
d1630970de
Split the predicates listing out of TraitDef
and TypeScheme
and into a separate map, tcx.predicates
, that is used for both traits and other kinds of items. Also use two newtypes to distinguish
...
instantiated predicates from the raw, unsubstituted predicates extracted from the map.
2015-02-12 13:02:37 -05:00
Niko Matsakis
bea8b81225
Make VecPerParamSpace support IntoIterator
2015-02-12 13:02:37 -05:00
Niko Matsakis
acd1a0090a
Update metadata to reflect that predicates/schemes/trait-defs are now severed
2015-02-12 13:02:37 -05:00
Vadim Petrochenkov
8ed58d8ccc
Fix duplicate error code
2015-02-12 20:31:31 +03:00
Valerii Hiora
00a6ff9571
Adjusting default CPUs for iOS
...
According to @dotdash it enables more aggressive optimizations from LLVM
2015-02-12 19:17:34 +02:00
Valerii Hiora
f89622f84d
Updated darwin types
2015-02-12 18:05:51 +02:00
Seo Sanghyeon
995b159157
rustdoc: Show must_use attribute
2015-02-13 00:47:03 +09:00
bors
cca1cf613b
Auto merge of #21895 - alfie:libcoretest, r=pnkfelix
2015-02-12 14:58:13 +00:00
Felix S. Klock II
6cc3b00d3f
Add a couple FIXME notes inspired during my review.
2015-02-12 13:55:49 +01:00
Kevin Butler
32d0dbd49a
librustc: Forbid partial reinitialization of uninitialized structures or
...
enumerations that implement the `Drop` trait.
This breaks code like:
struct Struct {
f: String,
g: String,
}
impl Drop for Struct { ... }
fn main() {
let x = Struct { ... };
drop(x);
x.f = ...;
}
Change this code to not create partially-initialized structures. For
example:
struct Struct {
f: String,
g: String,
}
impl Drop for Struct { ... }
fn main() {
let x = Struct { ... };
drop(x);
x = Struct {
f: ...,
g: ...,
}
}
Closes #18571 .
[breaking-change]
----
(Joint authorship by pcwalton and Ryman; thanks all!)
2015-02-12 13:55:08 +01:00
bors
c34421e490
Auto merge of #22217 - mmatyas:char_typofix, r=huonw
...
There are two dots at the end of a line in the documentation of std::char.
2015-02-12 12:45:13 +00:00
Mátyás Mustoha
7eecb94028
Fixed a tiny typo in the documentation of std::char.
2015-02-12 12:40:16 +01:00
Nick Sarten
830009543d
Updated usage of StrExt.parse() as per a recommendation by edwardw.
2015-02-12 20:48:09 +13:00