Commit Graph

35163 Commits

Author SHA1 Message Date
Manish Goregaokar
3e7af91851 Rollup merge of #22363 - semarie:openbsd-test_file_desc, r=alexcrichton
`pipe(2)`, under FreeBSD and OpenBSD return a bidirectionnal pipe. So
reading from the writer would block (waiting data) instead of returning
an error.

like for FreeBSD, disable the test for OpenBSD.
2015-02-17 06:23:36 +05:30
Manish Goregaokar
cdf0cb0a16 Rollup merge of #22360 - wg:master, r=alexcrichton 2015-02-17 06:23:36 +05:30
Manish Goregaokar
1c8e592bb7 Rollup merge of #22353 - tshepang:improve-fs-create-docs, r=alexcrichton 2015-02-17 06:23:36 +05:30
Manish Goregaokar
b0d2c6a714 Rollup merge of #22294 - nikomatsakis:integer-audit, r=huonw
cc https://github.com/rust-lang/rust/issues/22240
2015-02-17 06:23:35 +05:30
Manish Goregaokar
d660739f9a Rollup merge of #22253 - huonw:unstable-words, r=aturon
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-17 06:23:35 +05:30
Steve Klabnik
93633c9c5f fix up style guide .gitignore 2015-02-16 17:33:10 -05:00
Steve Klabnik
3f9b0999d1 clean up README 2015-02-16 17:32:12 -05:00
Ingo Blechschmidt
918d097c8e Tiny typo changes (per discussion in pull request #22027) 2015-02-16 23:13:58 +01:00
Steve Klabnik
96bea5eb72 Import rust-guidlines
at 16fa41b3b0

Fixes #19315
2015-02-16 17:04:16 -05:00
Aaron Turon
4a9dd3f840 Expose more of std::path
This commit exposes the `is_sep` function and `MAIN_SEP` constant, as
well as Windows path prefixes. The path prefix enum is safely exposed on
all platforms, but it only yielded as a component for Windows.

Exposing the prefix enum as part of prefix components involved changing
the type from `OsStr` to the `Prefix` enum, which is a:

[breaking-change]
2015-02-16 13:53:09 -08:00
Manish Goregaokar
f64d71b6ed Add custom_attribute and rustc_attrs to reference.md 2015-02-17 02:26:57 +05:30
Manish Goregaokar
1bbf7187ad Fix tests for rustc_* 2015-02-17 02:26:53 +05:30
bors
81bce5290f Auto merge of #22230 - nikomatsakis:object-lifetime-defaults-2, r=pnkfelix
Implement rules described in rust-lang/rfcs#599.

Fixes https://github.com/rust-lang/rust/issues/22211.

~~Based atop PR https://github.com/rust-lang/rust/pull/22182, so the first few commits (up to and including "Pacify the mercilous nrc") have already been reviewed.~~
2015-02-16 20:31:15 +00:00
Manish Goregaokar
0129002d3a Add gating for rustc_* attrs 2015-02-17 01:52:34 +05:30
posixphreak
c24f35389d rustup: Fix for locale bug
Since `tr` converts lowercase to uppercase according to system locale using `LC_CTYPE` environment variable; on some locales, rustup.sh fails to use correct variables names, thus deletes temporarily downloaded files and gives a meaningless error as shown below. This a simple fix which explictly sets `LC_CTYPE` as `C`.
2015-02-16 22:17:15 +02:00
Florian Hahn
6824f1365d Add pfail targets for parse-fail tests 2015-02-16 20:52:39 +01:00
Florian Hahn
5550bebcaa Move remaning compile-fail tests that are rejected by the parser to parse-fail 2015-02-16 20:52:39 +01:00
Jorge Aparicio
9462a207ff Make orphan check diagnostics clearer
closes #22388
2015-02-16 14:42:20 -05:00
Manish Goregaokar
1fffdafe41 fix linkage tests 2015-02-17 00:49:42 +05:30
GuillaumeGomez
318f262d68 Remove warning instead of implementing Copy trait 2015-02-16 20:03:44 +01:00
Keegan McAllister
6cef0e5dae Rewrite the macros chapter
This is a more introductory document, suitable for Part II.  The arcane details
move to an "Advanced macros" chapter in Part III.
2015-02-16 10:59:40 -08:00
GuillaumeGomez
441e09bc70 Add missing Copy trait for enums 2015-02-16 19:56:58 +01:00
Manish Goregaokar
0112f3b098 move other attribute check to visit_attribute 2015-02-17 00:25:56 +05:30
Manish Goregaokar
5ffb7db423 Add Gated attribute type 2015-02-17 00:25:34 +05:30
Steve Klabnik
5ebf4c4bd5 remove 'crate files' sentence
Fixes #22386
2015-02-16 13:36:18 -05:00
Aaron Turon
411593130d Update std::os deprecation warnings
They now point to the correct locations in std::env
2015-02-16 10:10:35 -08:00
Henrik Schopmans
ad827af11c Fixed typo and removed unfitting 'can' 2015-02-16 17:58:17 +00:00
Niko Matsakis
be7b20e16d Stop advertisting the old_impl_check feature. We can't ENTIRELY
remove it yet, but we don't have to add new uses.
2015-02-16 12:50:42 -05:00
Steve Klabnik
eeee0e8f4c Remove hax
Fixes #19321
2015-02-16 12:45:41 -05:00
Niko Matsakis
503e15b7c9 Address nits by @pnkfelix 2015-02-16 11:58:47 -05:00
Niko Matsakis
d0ef1664ca Clarify and improve comment, removing a TODO. 2015-02-16 10:55:37 -05:00
Niko Matsakis
f58a1bfa98 Fix fallout in libsyntax from RFC 599. Clarity and efficiency seems to be mostly improved, to my eye.
Nonetheless, as this commit demonstrates, the previous commits was a [breaking-change].

In practice, breakage is focused on functions of this form:

```rust
fn foo(..., object: Box<FnMut()>)
````

where `FnMut()` could be any trait object type. The older scheme defaulted objects in argument
position so that they were bounded by a fresh lifetime:

```rust
fn foo<'a>(..., object: Box<FnMut()+'a>)
```

This meant that the object could contain borrowed data. The newer
scheme defaults to a lifetime bound of `'static`:

```rust
fn foo(..., object: Box<FnMut()+'static>)
```

This means that the object cannot contain borrowed data. In some cases, the best fix
is to stop using `Box`:

```rust
fn foo(..., object: &mut FnMut())
```

but another option is to write an explicit annotation for the `'a`
lifetime that used to be implicit.  Both fixes are demonstrated in
this commit.
2015-02-16 10:55:37 -05:00
Niko Matsakis
369adaf515 Implement the rules for RFC 599, and add various tests.
Fixes #22211.
2015-02-16 10:55:37 -05:00
Niko Matsakis
ab579883f2 Factor out the "region substs" creation to occur earlier, so that the
complete set of regions are available when converting types.
2015-02-16 10:55:37 -05:00
Niko Matsakis
80d1f14e7d Implement the basic rules of RFC 599, but do not yet support custom types. 2015-02-16 10:55:37 -05:00
Niko Matsakis
f5c6a23c9e Various simplifications and renamings based on the fact that old-school closures are gone and type parameters can now have multiple region bounds (and hence use a different path). Should have no effect on the external behavior of the compiler. 2015-02-16 10:55:37 -05:00
Niko Matsakis
931a3c4f9d Detect and store object-lifetime-defaults. 2015-02-16 10:55:36 -05:00
Eduard Burtescu
b49f5281c2 tests: debuginfo: use static mut to avoid constant folding globals. 2015-02-16 17:13:48 +02:00
Eduard Burtescu
d13d74d6d8 tests: work around #21721 some more by replacing some unit types with [u8; 0]. 2015-02-16 17:13:48 +02:00
Eduard Burtescu
36fcfb02e2 rustc_trans: use internal linkage instead of private to work around linker bugs. 2015-02-16 17:13:48 +02:00
Eduard Burtescu
2dfd0acc92 tests: make run-make/issue-7349 more specific to avoid false positives. 2015-02-16 17:13:47 +02:00
Eduard Burtescu
48662d7cba rustc_trans: correctly round up the largest variant to the enum's alignment. 2015-02-16 17:13:47 +02:00
Eduard Burtescu
f4473a4664 rustc_trans: promote constant rvalues in functions as an optimization. 2015-02-16 17:13:47 +02:00
Eduard Burtescu
df3cc0c55f rustc: categorize rvalue borrows based on their const-qualification. 2015-02-16 17:13:47 +02:00
Eduard Burtescu
08967c7a7f tests: fix fallout from changed error messages. 2015-02-16 17:13:47 +02:00
Eduard Burtescu
03295a715f rustc: qualify expressions in check_const for potential promotion. 2015-02-16 17:13:42 +02:00
mdinger
1a133f3e2c Document std::num::Float with examples 2015-02-16 09:32:07 -05:00
Eduard Burtescu
7be460ff37 rustc: use FromPrimitive for decoding astencode_tag. 2015-02-16 16:29:22 +02:00
Eduard Burtescu
5918d33fef rust_typeck: remove unnecessary typing of &[] as &'static [T; 0]. 2015-02-16 16:29:22 +02:00
Eduard Burtescu
bd9c67e181 rustc: check for signed division/remainder overflow. 2015-02-16 16:29:22 +02:00
Eduard Burtescu
cb3c9a1e88 rustc: teach const_eval more about types. 2015-02-16 16:29:22 +02:00
Eduard Burtescu
4d8f995c3a rustc: merge check_static into check_const. 2015-02-16 16:29:21 +02:00
Eduard Burtescu
8dd1f6a0dc rustc: remove the vestigial "const marking" pass. 2015-02-16 16:29:21 +02:00
Simonas Kazlauskas
7d941fa61f Replace some uses of deprecated os functions
This commit mostly replaces some of the uses of os::args with env::args.
2015-02-16 16:19:24 +02:00
Felix S. Klock II
480ea5ac55 Update core::cell for isize/usize transition. 2015-02-16 14:44:17 +01:00
Felix S. Klock II
a97588c34b Update core::nonzero for isize/usize migration. 2015-02-16 14:39:35 +01:00
Felix S. Klock II
79318b7c3b Update core::mem for isize/usize migration. 2015-02-16 14:38:50 +01:00
Sébastien Marie
5a6ea7a071 change the signal used to test signal_reported_right
The test "signal_reported_right" send a signal `1` to `/bin/sh`, and check
the status code to check if the signal is reported right.

Under OpenBSD, the signal `1` (`SIGHUP`) is catched by `/bin/sh`,
resulting the test failed.

Use the uncatchable signal `9` (`SIGKILL`) for test.
2015-02-16 13:53:46 +01:00
Simonas Kazlauskas
839311c76b Implement ExactSizeIterator for Args and ArgsOs
Fixes #22343
2015-02-16 14:28:42 +02:00
Björn Steinbrink
543e148b0f Update LLVM to release_36@229036
Fixes the crash blocking #21886.
2015-02-16 12:08:37 +01:00
Steve Klabnik
faf0f5b196 Document where clauses.
Closes #21859.
2015-02-16 05:31:26 -05:00
Steve Klabnik
817f3a4d37 Remove use of range() in iterator docs.
Fixes #21577.
2015-02-16 04:53:21 -05:00
Steve Klabnik
f645cad3a1 CONTRIBUTING.md redux
This redux of CONTRIBUTING.md adds in more information, including
subsuming both compliment-bugreport.md and Note-development-policy
in the wiki.

I only glanced at the broad TOC of Note-development-policy, and did
not use the text as the basis for the re-write. This will then address
the last outstanding part of #5831.
2015-02-16 04:46:40 -05:00
Eunji Jeong
194d96e5c3 Lower the default dwarf version for android 2015-02-16 17:48:50 +09:00
Manish Goregaokar
d5c3194c59 Add cfail test for custom attribute gate 2015-02-16 11:49:09 +05:30
Manish Goregaokar
0001817485 Add custom_attribute gate to tests which need them 2015-02-16 11:49:09 +05:30
Manish Goregaokar
237ae450bf Remove obsolete stability attrs from test 2015-02-16 11:49:09 +05:30
Manish Goregaokar
99e39f4927 Clean up visit_attribute in feature_gate.rs
- We shouldn't be using `check_name` here at all
 - `contains_name(ref_slice(foo), bar)` is redundant, `contains_name` just iterates over its first arg and calls `check_name`
 - match would be better than a bunch of ifs
2015-02-16 11:49:09 +05:30
Manish Goregaokar
38542cca29 Feature gate custom attributes (fixes #22203) 2015-02-16 11:49:09 +05:30
Manish Goregaokar
531a06e593 Move ATTRIBUTE_WHITELIST and CRATE_ATTRS to KNOWN_ATTRIBUTES in syntax::feature_gate 2015-02-16 11:49:07 +05:30
Lai Jiangshan
428733dea0 reference: fix outdated link for Compiler plugins
book/syntax-extensions.html was renamed to book/plugins.html,
the link should be also updated.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
2015-02-16 11:18:00 +08:00
bors
c5db290bf6 Auto merge of #22367 - Manishearth:rollup, r=steveklabnik
(still testing locally)
2015-02-16 00:46:43 +00:00
Felix S. Klock II
dc0797c0c9 Address the other cases of #22234; fix #22234.
The other cases: `concat_idents!`, `log_syntax!`, and `trace_macros!`,
(these macros, with `asm!`, are handled (eagerly) in feature_gate.rs).
2015-02-16 01:36:06 +01:00
Björn Steinbrink
4808561c45 Fix misoptimizations when matching against strings/slices
When matching against strings/slices, we call the comparison function
for strings, which takes two string slices by value. The slices are
passed in memory, and currently we just pass in a pointer to the
original slice. That can cause misoptimizations because we emit a call
to llvm.lifetime.end for all by-value arguments at the end of a
function, which in this case marks the original slice as dead.

So we need to properly create copies of the slices to pass them to the
comparison function.

Fixes #22008
2015-02-16 00:50:02 +01:00
Manish Goregaokar
cea2bbfe27 Fix grammar 2015-02-16 03:56:52 +05:30
Felix S. Klock II
52bdda778a Address the asm! case of #22234. 2015-02-15 22:14:03 +01:00
Felix S. Klock II
20d8222e6a libsyntax: Pass feature set in ExpansionConfig, not just enable_quotes. 2015-02-15 21:30:45 +01:00
Thiago Carvalho
9783cc2822 improve text 2015-02-15 20:41:44 +01:00
Alexander Bliskovsky
74ba529701 Added explanation to trpl of integer types. 2015-02-15 13:51:36 -05:00
Thiago Carvalho
4cf4e8bc0c glossary 2015-02-15 19:37:49 +01:00
Niko Matsakis
6171c35d6e Change arbirary types from usize to u32. 2015-02-15 11:45:10 -05:00
Richo Healey
74864b30d8 lint: fixup extraneous #[allow]
This snuck through my refactor
2015-02-15 07:50:15 -08:00
bombless
6514c3ab16 Don't panic if there's no command line arguments 2015-02-15 23:40:56 +08:00
Niko Matsakis
8eb38590c9 Audit integer types in finally. 2015-02-15 10:25:13 -05:00
Niko Matsakis
a43daa6366 Audit integer types in result. 2015-02-15 10:24:47 -05:00
Niko Matsakis
d7f673c82e Audit integer types in ops. 2015-02-15 10:22:43 -05:00
Simonas Kazlauskas
690cc139b1 Add styles for docblock tables
Fixes #22357
2015-02-15 15:58:45 +02:00
Manish Goregaokar
f0f8be2a2e Fix rollup (remove slicing_syntax) 2015-02-15 19:26:39 +05:30
Thiago Carvalho
89822e1cbc Book - short explanation of arity 2015-02-15 14:29:40 +01:00
Manish Goregaokar
b1a46db649 Rollup merge of #22247 - Gankro:dlist_split, r=alexcrichton 2015-02-15 18:42:48 +05:30
Manish Goregaokar
97503e1c1e Rollup merge of #22256 - brson:installer-next, r=alexcrichton
Highlights:

* Adds an 'uninstall.sh' script to `/usr/local/lib/rustlib/uninstall.sh`, the path to which is printed during installation.
* Components can be deselected during install, like `install.sh --without=rust-docs`.
* Components can be listed with `install.sh --list-components`.
* Vastly reduces spew during install (but supporting a `--verbose` option).

Typicall install run looks like:

```
brian@brianX1:~/dev/multirust⟫ sudo ./install.sh
[sudo] password for brian:
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rustc'
install: installing component 'cargo'
install: installing component 'rust-docs'

    Rust is ready to roll.
```

Needs to be merged right before corresponding PRs to cargo and rust-packaging.

Fixes https://github.com/rust-lang/rust/issues/21117
Fixes https://github.com/rust-lang/rust/issues/20283
2015-02-15 18:42:48 +05:30
Manish Goregaokar
16b24f15bd Rollup merge of #22285 - kmcallister:pub-macro, r=nick29581
It's not clear what this means, because a macro in item position can expand to zero or more items.  For now we disallow it, which is technically a

    [breaking-change]

but is landing without an RFC.  The `pub` keyword previously had no effect, which seems quite unintended.

Fixes #18317.
Fixes #14660.
2015-02-15 18:42:48 +05:30
Manish Goregaokar
8111d65afc Rollup merge of #22293 - steveklabnik:gh12891, r=brson
Fixes #12891.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
ed58399449 Rollup merge of #22297 - nagisa:spring-cleanup, r=alexcrichton
This PR replaces uses of `os::getenv` with newly introduced `env::var{,_os}`.

Mostly did this as a background activity to procrastinate from procrastinating.

Tests appear to build and run fine. This includes benchmarks from test/bench directory.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
bc1900f0d0 Rollup merge of #22300 - kmcallister:pub-method-macro, r=sfackler
Fixes #17436.
2015-02-15 18:42:47 +05:30
Manish Goregaokar
f7870b6faa Rollup merge of #22339 - petrochenkov:int, r=huonw
Some function signatures have changed, so this is a [breaking-change].
In particular, radixes and numerical values of digits are represented by `u32` now.

Part of #22240
2015-02-15 18:42:47 +05:30
Manish Goregaokar
8acaaa9e0e Rollup merge of #22351 - blaenk:path-hash, r=huonw
`PathBuf` does implement `Hash`, but `Path` doesn't. This makes it
annoying if you have a `HashMap` with `PathBuf`s as keys, because
it means you have to convert a `Path` into a `PathBuf` and get a
reference to it simply to perform operations on the `HashMap`!
2015-02-15 18:42:46 +05:30
Manish Goregaokar
c59f62b75f Rollup merge of #22350 - brson:usize, r=Gankro
cc https://github.com/rust-lang/rust/issues/22240
2015-02-15 18:42:46 +05:30
Manish Goregaokar
e5659eaa06 Rollup merge of #22347 - iKevinY:std-lib-panicking, r=brson
Rename `libstd/failure.rs` to `libstd/panicking.rs` and `on_fail` to `on_panic`. Closes #22306.
2015-02-15 18:42:46 +05:30
Manish Goregaokar
a5bdb087d0 Rollup merge of #22329 - thiagooak:book, r=steveklabnik
on crates and modules - replace \")\"
on more strings - improve readability of grapheme
2015-02-15 18:42:46 +05:30
Manish Goregaokar
c6ced0fb36 Rollup merge of #22328 - shepmaster:os_str_typo, r=steveklabnik 2015-02-15 18:42:46 +05:30
Manish Goregaokar
a0019989fe Rollup merge of #22324 - Manishearth:patch-1, r=steveklabnik
(fixes #22317)

rollupable
2015-02-15 18:42:45 +05:30
Manish Goregaokar
6ce265ede7 Rollup merge of #22308 - steveklabnik:gh19278, r=brson
Fixes #19278
2015-02-15 18:42:45 +05:30
Manish Goregaokar
cb0900193b Rollup merge of #22307 - steveklabnik:gh14849, r=huonw
Fixes #14849
2015-02-15 18:42:45 +05:30
Manish Goregaokar
70647ec7c5 Rollup merge of #22305 - steveklabnik:gh20948, r=alexcrichton
Fixes #20948
2015-02-15 18:42:45 +05:30
Manish Goregaokar
1da4e53330 Rollup merge of #22302 - japaric:gh21909, r=brson
closes #21909
2015-02-15 18:42:45 +05:30
Manish Goregaokar
1b86ebe257 Rollup merge of #22299 - bluss:range-64-is-not-exact-size, r=alexcrichton
Fixes #22047

`Range<u64>` and `Range<i64>` may be longer than usize::MAX on 32-bit
platforms, and thus they cannot fulfill the protocol for
ExactSizeIterator. We don't want a nonobvious platform dependency in
basic iterator traits, so the trait impl is removed.

The logic of this change assumes that usize is at least 32-bit.

This is technically a breaking change; note that `Range<usize>` and
`Range<isize>` are always ExactSizeIterators.

[breaking-change]
2015-02-15 18:42:44 +05:30
Manish Goregaokar
0f66e314db Rollup merge of #22295 - steveklabnik:gh9980, r=alexcrichton
Fixes #9980
2015-02-15 18:42:44 +05:30
Manish Goregaokar
db4a1678d7 Rollup merge of #22288 - steveklabnik:add_option_link, r=nikomatsakis 2015-02-15 18:42:44 +05:30
Manish Goregaokar
1718e6b19e Rollup merge of #22284 - steveklabnik:fix_another_lie, r=nikomatsakis
This isn't something we want to guarantee.

r? @nikomatsakis
2015-02-15 18:42:44 +05:30
Manish Goregaokar
1ee09f918d Rollup merge of #22280 - Unode:patch-1, r=steveklabnik 2015-02-15 18:42:44 +05:30
Manish Goregaokar
a2840f3560 Rollup merge of #22278 - nikomatsakis:rustc-error, r=nikomatsakis
Add `#[rustc_error]` annotation, which causes trans to signal an error
if found on the `main()` function. This lets you write tests that live
in `compile-fail` but are expected to compile successfully. This is
handy when you have many small variations on a theme that you want to
keep together, and you are just testing the type checker, not the
runtime semantics.

r? @pnkfelix
2015-02-15 18:42:43 +05:30
Manish Goregaokar
2935d67e08 Rollup merge of #22277 - pnkfelix:reference-update-feature-gate-list, r=steveklabnik
Added all active features to the list in reference.md.

Added a second note about keeping the reference.md list up-to-date to the bottom of the list, since not everyone (including me) reads the big comment at the top of it.  :)

Ensured that the feature gate list in reference.md is kept in alphabetical order.
2015-02-15 18:42:43 +05:30
Manish Goregaokar
f96fb8ecb8 Rollup merge of #22275 - steveklabnik:gh7538, r=huonw
We use them in some places, but never actually talk about the syntax.
2015-02-15 18:28:36 +05:30
Manish Goregaokar
33371bfc41 Rollup merge of #22274 - pnkfelix:retag-slicing-syntax-as-accepted, r=nikomatsakis
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-15 18:28:14 +05:30
Manish Goregaokar
828a8644c7 Rollup merge of #22272 - steveklabnik:gh22064, r=alexcrichton
Fixes #22064.
2015-02-15 18:27:47 +05:30
Manish Goregaokar
ed9ffced22 Rollup merge of #22271 - steveklabnik:gh22035, r=nikomatsakis
Fixes #22035. (mostly by making it irrelevant)
2015-02-15 18:27:33 +05:30
Manish Goregaokar
3fe2715053 Rollup merge of #22269 - steveklabnik:gh22136, r=alexcrichton
Fixes #22136
2015-02-15 18:27:14 +05:30
Manish Goregaokar
a2bc3a252c Rollup merge of #22268 - steveklabnik:improve_wait, r=nikomatsakis
Remove incorrect claim, add example, reformat and re-word.

Fixes #22266
2015-02-15 18:26:58 +05:30
Manish Goregaokar
cff0b78ce7 Rollup merge of #22264 - fhahn:tiny-doc-fix2, r=Gankro
While having a look at the Rust book I found this tiny error. In my opinion this if should be all lowercase, because it follows a colon, but I am no native speaker, so I am probably wrong. Also it is a very tiny change, so feel free to include it in any bigger documentation patch.
2015-02-15 18:26:47 +05:30
Manish Goregaokar
f6fa27acd6 Rollup merge of #22263 - iKevinY:no-mailing-list, r=nikomatsakis
Removes the link to the rust-dev mailing list in the bug report submission page and also adds the address of the IRC server (`irc.mozilla.org`). Addresses #22249.
2015-02-15 18:26:29 +05:30
Manish Goregaokar
8ebbf584a0 Rollup merge of #22262 - lfairy:unsafe-cell-lang-item, r=alexcrichton
`Unsafe` was renamed to `UnsafeCell` a while ago, but the corresponding lang item kept the old name. This patch fixes the inconsistency.

r? @eddyb
2015-02-15 18:26:05 +05:30
Manish Goregaokar
da1a1f515f Rollup merge of #22254 - huonw:float-value--, r=aturon
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-15 18:25:40 +05:30
Manish Goregaokar
d014548d5a Rollup merge of #22248 - duaneedwards:patch-1, r=Gankro 2015-02-15 18:22:32 +05:30
Manish Goregaokar
e6ad3848c6 Rollup merge of #22238 - dotdash:llvmup_20150212, r=alexcrichton
Fixes #22233 

r? @alexcrichton
2015-02-15 18:22:32 +05:30
Manish Goregaokar
8623fe70eb Rollup merge of #22229 - vhbit:ios-default-cpus, r=alexcrichton
According to @dotdash it enables more aggressive optimizations from LLVM
2015-02-15 18:22:32 +05:30
Manish Goregaokar
132b56cefc Rollup merge of #22224 - sanxiyn:must-use, r=cmr
Fix #20109.
2015-02-15 18:22:31 +05:30
Manish Goregaokar
8cc3fbd41d Rollup merge of #22218 - huonw:raw-docs, r=steveklabnik,huonw
This overhauls the very meager docs that currently exist to clarify
various understandable confusions that I've noticed, e.g. people look in
`std::raw` for the "real" types of slices like `&[T]`, or think that
`Slice<T>` refers to `[T]` (fixes #22214).

This patch takes the liberty of offering some "style" guidance around
`raw::Slice`, since there's more restricted ways to duplicate all
functionality connected to it: `std::slice::from_raw_parts{,_mut}` for
construction and `.as_{,mut_}ptr` & `.len` for deconstruction.

It also deprecates the `std::raw::Closure` type which is now useless for
non-type-erased closures, and replaced by `TraitObject` for `&Fn`, `&mut
FnMut` etc, so I guess it should be called a:

[breaking-change]
2015-02-15 18:22:31 +05:30
Manish Goregaokar
63091efa3b Rollup merge of #22201 - brson:version, r=nick29581
rustc --version says

```
rustc 1.0.0-dev (d0e82a68a 2015-02-05 14:38:56 -0800) (built 2015-02-11)
```
2015-02-15 18:22:31 +05:30
Manish Goregaokar
b13fddda20 Rollup merge of #22132 - steveklabnik:gh16645, r=alexcrichton
Fixes #16645

Fixing this in any deeper way will require an RFC, so let's just document the current behavior.
2015-02-15 18:22:31 +05:30
Björn Steinbrink
109e1184aa Apply adjustments to the retslot type in trans_ret
Without the adjustments the retslot might have the wrong type, e.g. when
the return value is implicitly coerced to a trait object.

Fixes #22346
2015-02-15 13:45:12 +01:00
bors
342ab53bf8 Auto merge of #22242 - Gankro:collect-ints, r=alexcrichton 2015-02-15 12:20:31 +00:00
Robin Stocker
dab626b5be Include "flatmap" in docs of Option::and_then
Some newcomers might look for a "flatMap" method on Option. Include the
reference so that searching the page would find "and_then".
2015-02-15 23:12:43 +11:00
Elantsev Serj
336dd6c8f0 book: link to a file with configs links 2015-02-15 14:38:47 +03:00
Elantsev Serj
40571ec0b3 markdown file with links to configs 2015-02-15 14:32:48 +03:00
Sébastien Marie
eb8e1137f5 openbsd: disable test_file_desc test
pipe(2), under FreeBSD and OpenBSD return a bidirectionnal pipe. So
reading from the writer would block (waiting data) instead of returning
an error.
2015-02-15 12:27:37 +01:00
Will
42f5ac568a Fix tests that fail on FreeBSD 2015-02-15 17:18:55 +09:00
bors
b6d91a2bda Auto merge of #22126 - steveklabnik:gh21281, r=nikomatsakis
This is super black magic internals at the moment, but having it
somewhere semi-public seems good. The current versions weren't being
rendered, and they'll be useful for some people.

Fixes #21281

r? @nikomatsakis @kmcallister
2015-02-15 07:53:07 +00:00
Brian Anderson
e72fb354dc core::slice: uint -> usize, int -> isize 2015-02-14 21:14:46 -08:00
bors
5be210c418 Auto merge of #22058 - Gankro:all-the-impls, r=huonw
Working on just knocking these out for all the collections so that there's something there.
2015-02-15 03:07:59 +00:00
Tshepang Lekhonkhobe
3e9e32573e doc: fix and expand File::create explanation 2015-02-15 03:52:17 +02:00
Steve Klabnik
1a99315c51 Fix issue with generation 2015-02-14 20:50:08 -05:00
Alexis
3c18bc4272 naive RingBuf::append impl 2015-02-14 19:30:33 -05:00
Brian Anderson
438e527226 core: Use int/isize in Clone boilerplate 2015-02-14 15:50:26 -08:00
Brian Anderson
8f5d698bac core::raw: uint -> usize 2015-02-14 15:43:51 -08:00
Simonas Kazlauskas
58b7efe5a6 Stabilise ExactSizeIterator::len 2015-02-15 01:24:15 +02:00
Simonas Kazlauskas
6a67d86000 Count and show the deprecated attribute again
Since we don’t have Deprecated stability level anymore, the only other source of information is
deprecated-since version, which conveniently to us, only exists if the symbol is deprecated.

Fixes #21789
2015-02-15 00:39:37 +02:00
Vadim Petrochenkov
b1cd76906a Fix the fallout 2015-02-15 00:10:19 +03:00
Vadim Petrochenkov
09f53fd45c Audit integer types in libunicode, libcore/(char, str) and libstd/ascii 2015-02-15 00:09:40 +03:00
caipre
1ac10dde6f Minor change in 'method-syntax' chapter 2015-02-14 12:27:17 -05:00
Steve Klabnik
bdc730e403 remove extra mod doc;s 2015-02-14 12:07:09 -05:00
bors
b63cee4a11 Auto merge of #22158 - Kimundi:the_lonely_uppercase_keyword, r=pnkfelix
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-14 17:01:11 +00:00
Thiago Carvalho
f658efe6c3 Documentation Fixes
crates-and-modules - replace ")"
more string - improve readability of grapheme
2015-02-14 16:55:53 +01:00
Jake Goulding
af7b8910b8 Correct typo 2015-02-14 09:09:07 -05:00
bors
3d1c1added Auto merge of #22114 - alexcrichton:issue-22084, r=steveklabnik
This ended up just being a forgotten attribute on the `char` module in
libunicode.

Closes #22084
2015-02-14 13:08:33 +00:00
Manish Goregaokar
657081bc9c Normalize range syntax used in concurrency.md
(fixes #22317)
2015-02-14 16:28:18 +05:30
Jorge Israel Peña
10dd8e721e we forgot to make Path implement Hash
`PathBuf` does implement `Hash`, but `Path` doesn't. This makes it
annoying if you have a `HashMap` with `PathBuf`s as keys, because
it means you have to convert a `Path` into a `PathBuf` and get a
reference to it simply to perform operations on the `HashMap`!
2015-02-14 02:43:36 -08:00
bors
df54632601 Auto merge of #22119 - aturon:new-process, r=alexcrichton
Per [RFC 579](https://github.com/rust-lang/rfcs/pull/579), this commit
adds a new `std::process` module. This module is largely based on the
existing `std::old_io::process` module, but refactors the API to use
`OsStr` and other new standards set out by IO reform.

The existing module is not yet deprecated, to allow for the new API to
get a bit of testing before a mass migration to it.
2015-02-14 10:03:01 +00:00
Aaron Turon
4175f1ce2f Add std::process
Per [RFC 579](https://github.com/rust-lang/rfcs/pull/579), this commit
adds a new `std::process` module. This module is largely based on the
existing `std::old_io::process` module, but refactors the API to use
`OsStr` and other new standards set out by IO reform.

The existing module is not yet deprecated, to allow for the new API to
get a bit of testing before a mass migration to it.
2015-02-13 23:21:08 -08:00
Kevin Yap
1e01f7f470 Rename std::failure to std::panicking
Closes #22306.
2015-02-13 20:37:33 -08:00
bors
f174bcabcb Auto merge of #21834 - genbattle:doc-range-notation, r=steveklabnik
Replaced outdated use of the `range(start, end)` function where appropriate with `start..end`, and tweaked the examples to compile and run with the latest rust. I also fixed two periphery compile issues in reference.md which were occluding whether there were any new errors created by these changes.
2015-02-14 03:10:40 +00:00
Alexis
1c494046a5 allow DList to split_at . fixes #22244 2015-02-13 21:20:26 -05:00
Ulrik Sverdrup
7a52932f4c Make std::raw::Repr an unsafe trait
The default implementation of .repr() will call conveniently call
transmute_copy which should be appropriate for all implementors, but is
memory unsafe if used wrong.

Fixes #22260

You need to use `unsafe impl` to implement the Repr trait now.

[breaking-change]
2015-02-14 11:32:42 +11:00
Huon Wilson
5e3ae102db Dramatically expand the docs of std::raw.
This overhauls the very meager docs that currently exist to clarify
various understandable confusions that I've noticed, e.g. people look in
`std::raw` for the "real" types of slices like `&[T]`, or think that
`Slice<T>` refers to `[T]` (fixes #22214).

This patch takes the liberty of offering some "style" guidance around
`raw::Slice`, since there's more restricted ways to duplicate all
functionality connected to it: `std::slice::from_raw_parts{,_mut}` for
construction and `.as_{,mut_}ptr` & `.len` for deconstruction.

It also deprecates the `std::raw::Closure` type which is now useless for
non-type-erased closures, and replaced by `TraitObject` for `&Fn`, `&mut
FnMut` etc, so I guess it should be called a:

[breaking-change]
2015-02-14 11:32:08 +11:00
Jorge Aparicio
e7273784c7 add an associated Item type to IntoIterator 2015-02-13 19:02:02 -05:00
bors
b8c112fc72 Auto merge of #21376 - fhahn:issue-15881-model-lexer-dotdotdot, r=cmr
This PR adds a dedicated regression test for #15881 as @cmr suggested.
2015-02-13 23:56:40 +00:00
Chris Wong
bc9084b9b7 Rename fmt::Writer to fmt::Write
This brings it in line with its namesake in `std::io`.

[breaking-change]
2015-02-14 12:56:32 +13:00
Steve Klabnik
6d2e3d4bc0 Note that Vec<T> is heap allocated.
Fixes #20948
2015-02-13 18:49:21 -05:00
Steve Klabnik
f64d91211f Generate grammar.html and link to it from the reference.
Fixes #19278
2015-02-13 18:00:00 -05:00
Steve Klabnik
148d90be99 clarfiy reference with regards to the value of block expressions
Fixes #14849
2015-02-13 17:56:06 -05:00
Jorge Aparicio
3df82450aa add test for #21909
closes #21909
2015-02-13 17:41:28 -05:00
Brian Anderson
effad62bc5 Add the build date to the reported version. #21957
rustc --version says

```
rustc 1.0.0-dev (d0e82a68a 2015-02-05) (built 2015-02-11)
```
2015-02-13 14:30:04 -08:00
Keegan McAllister
dcd4cef119 Forbid pub mymacro!();
It's not clear what this means, because a macro in item position can expand to
zero or more items.  For now we disallow it, which is technically a

    [breaking-change]

but is landing without an RFC.  The `pub` keyword previously had no effect,
which seems quite unintended.

Fixes #18317.
Fixes #14660.
2015-02-13 13:48:09 -08:00
bors
b9ba643b72 Auto merge of #22200 - alexcrichton:opt-vec-collect, r=huonw
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-13 21:15:39 +00:00
Keegan McAllister
228603d9d2 Parse pub in the expansion of a method macro
Fixes #17436.
2015-02-13 12:54:58 -08:00
Ulrik Sverdrup
b19fda0ceb Remove ExactSizeIterator from 64-bit ranges.
Fixes #22047

Range<u64> and Range<i64> may be longer than usize::MAX on 32-bit
platforms, and thus they cannot fulfill the protocol for
ExactSizeIterator. We don't want a nonobvious platform dependency in
basic iterator traits, so the trait impl is removed.

The logic of this change assumes that usize is at least 32-bit.

This is technically a breaking change; note that Range<usize> and
Range<isize> are always ExactSizeIterators.

[breaking-change]
2015-02-13 21:26:50 +01:00
Simonas Kazlauskas
220bf41d25 Cleanup getenv from tests and benchmarks 2015-02-13 22:08:05 +02:00
Simonas Kazlauskas
5284c4ea63 Remove a few uses of deprecated getenv 2015-02-13 22:05:12 +02:00
Steve Klabnik
ece19bfc70 Enhance static mut example in FFI chapter.
Fixes #9980
2015-02-13 14:57:55 -05:00
Niko Matsakis
6d6c360ca9 Audit integer type usage in core::option 2015-02-13 14:36:59 -05:00
Steve Klabnik
6647d8306e Mention type placeholders in the book.
Fixes #12891.
2015-02-13 14:36:16 -05:00
Niko Matsakis
84cb71b253 Audit integer type usage in core::ptr 2015-02-13 14:30:31 -05:00
Alexis
1e75a05a0e more int and cloned cleanup in collections 2015-02-13 14:12:51 -05:00
Steve Klabnik
9eb4436188 Add link to module-level Option documentation. 2015-02-13 13:47:09 -05:00
Steve Klabnik
e478f660d8 Don't specify tuple layout.
This isn't something we want to guarantee.
2015-02-13 12:53:54 -05:00
Steve Klabnik
5ce1b33502 Reintroduce box syntax where needed
Otherwise, this line is a lie.
2015-02-13 12:35:56 -05:00
Steve Klabnik
ad2efdc67d Instead of putting them in the book, make them READMEs. 2015-02-13 12:32:37 -05:00
Renato Alves
f48eda8dc9 Fix small copy-paste typo 2015-02-13 17:09:46 +00:00
Niko Matsakis
fb05f282d7 Add #[rustc_error] annotation, which causes trans to signal an error
if found on the `main()` function. This lets you write tests that live
in `compile-fail` but are expected to compile successfully. This is
handy when you have many small variations on a theme that you want to
keep together, and you are just testing the type checker, not the
runtime semantics.
2015-02-13 11:10:51 -05:00
Felix S. Klock II
a7d5c3f682 Added all active features to the list in reference.md.
Added a second note about keeping the reference.md list up-to-date to
the bottom of the list, since not everyone (including me) reads the
big comment at the top of it.  :)

Ensured that the feature gate list in reference.md is kept in
alphabetical order.
2015-02-13 16:42:22 +01:00
Steve Klabnik
65eab6eb97 Add diverging functions to the book.
We use them in some places, but never actually talk about the syntax.
2015-02-13 10:05:33 -05:00
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
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
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
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
Nick Sarten
9e9b1d6085 Fixed one newly created instance of range(start, end). 2015-02-12 18:51:32 +13:00
Nick Sarten
5fa9222572 Updated documentation to use range notation syntax.
Replaced outdated use of the `range(start, end)` function where
approriate with `start..end`, and tweaked the examples to compile and run with the latest rust. I also fixed two periphery compile issues in reference.md which were occluding whether there were any new errors created by these changes, so I fixed them.
2015-02-12 18:51:31 +13:00
bors
0fdca30fcb Auto merge of #22193 - pnkfelix:cleanup-pr22012, r=eddyb
PR #22012 followup: clean up vtable::check_object_cast by reusing `fresh_ty`

(hat tip to nikomatsakis, who was the one who pointed out this simplification to the logic.)
2015-02-12 03:53:08 +00:00
Jormundir
64d33b1e98 fix windows specific errno type errors. 2015-02-11 19:00:42 -08:00
Alex Crichton
fb1f4d11ec Even more test fixes 2015-02-11 16:38:02 -08:00
Alex Crichton
18bafad027 rollup merge of #22197: alexcrichton/do-not-link-plugins 2015-02-11 16:20:34 -08:00
Alex Crichton
d4cece25cc rustc: Do not link to plugins
This flag seems to have erroneously been set to `true`.
2015-02-11 16:13:27 -08:00
Alex Crichton
d2f990f2b0 More test fixes and rebase conflicts 2015-02-11 15:45:15 -08:00
Felix S. Klock II
f27b3e251c PR #22012 followup: clean up vtable::check_object_cast by reusing fresh_ty
(hat tip to nikomatsakis who was the one who pointed out this
simplification to the logic.)
2015-02-12 00:29:50 +01:00
Alex Crichton
adcda46011 rollup merge of #22166: dcrewi/iter-impls-for-windows
- DoubleEndedIterator
- ExactSizeIterator
- RandomAccessIterator
2015-02-11 15:25:59 -08:00
Alex Crichton
a1056360ec rollup merge of #22015: alexcrichton/netv2
This commit is an implementation of [RFC 807][rfc] which adds a `std::net`
module for basic neworking based on top of `std::io`. This module serves as a
replacement for the `std::old_io::net` module and networking primitives in
`old_io`.

[rfc]: fillmein

The major focus of this redesign is to cut back on the level of abstraction to
the point that each of the networking types is just a bare socket. To this end
functionality such as timeouts and cloning has been removed (although cloning
can be done through `duplicate`, it may just yield an error).

With this `net` module comes a new implementation of `SocketAddr` and `IpAddr`.
This work is entirely based on #20785 and the only changes were to alter the
in-memory representation to match the `libc`-expected variants and to move from
public fields to accessors.
2015-02-11 15:25:40 -08:00
Alex Crichton
395709ca6d std: Add a net module for TCP/UDP
This commit is an implementation of [RFC 807][rfc] which adds a `std::net`
module for basic neworking based on top of `std::io`. This module serves as a
replacement for the `std::old_io::net` module and networking primitives in
`old_io`.

[rfc]: fillmein

The major focus of this redesign is to cut back on the level of abstraction to
the point that each of the networking types is just a bare socket. To this end
functionality such as timeouts and cloning has been removed (although cloning
can be done through `duplicate`, it may just yield an error).

With this `net` module comes a new implementation of `SocketAddr` and `IpAddr`.
This work is entirely based on #20785 and the only changes were to alter the
in-memory representation to match the `libc`-expected variants and to move from
public fields to accessors.
2015-02-11 15:23:34 -08:00
Alex Crichton
315730fb27 Test fixes and rebase conflicts 2015-02-11 15:05:39 -08:00