Commit Graph

11563 Commits

Author SHA1 Message Date
Tyler Mandry b6934c91b2 termination_trait: Put examples in error help, not label 2018-03-21 13:32:46 -05:00
Tyler Mandry 94bdeb64f9 termination_trait: Add () example to error message 2018-03-21 00:26:00 -05:00
Tyler Mandry 97b3bf99f6 Stabilize termination_trait
This stabilizes `main` with non-() return types; see #48453.
2018-03-19 01:31:04 -05:00
bors 3b6412b943 Auto merge of #48896 - alexcrichton:bitcode-in-object, r=michaelwoerister
rustc: Enable embedding LLVM bitcode for iOS

This commit updates rustc to embed bitcode in each object file generated by
default when compiling for iOS. This was determined in #35968 as a step
towards better compatibility with the iOS toolchain, so let's give it a spin and
see how it turns out!

Note that this also updates the `cc` dependency which should propagate this
change of embedding bitcode for C dependencies as well.
2018-03-16 13:48:20 +00:00
bors 5f3996c3ec Auto merge of #48813 - sinkuu:build_in_assert_macro, r=alexcrichton
Make `assert` a built-in procedural macro

Makes `assert` macro a built-in one without touching its functionality. This is a prerequisite for RFC 2011 (#44838).
2018-03-16 08:22:11 +00:00
bors 36b6687318 Auto merge of #49051 - kennytm:rollup, r=kennytm
Rollup of 17 pull requests

- Successful merges: #48706, #48875, #48892, #48922, #48957, #48959, #48961, #48965, #49007, #49024, #49042, #49050, #48853, #48990, #49037, #49049, #48972
- Failed merges:
2018-03-16 00:09:14 +00:00
kennytm 6fbd03393b Rollup merge of #48853 - Songbird0:addrparseerror_documentation_improvement, r=GuillaumeGomez
Improve `AddrParseError` documentation.

I've added potential cause to `AddrParseError` raising.
2018-03-16 05:37:12 +08:00
Anthony Defranceschi 5e991e1b7e Improve AddrParseError documentation.
Add a potential cause to `AddrParseError` raising.
2018-03-15 19:27:02 +01:00
snf 9e64946bde setting ABORTING_MALLOC for asmjs backend 2018-03-15 17:43:05 +00:00
bors 3926453944 Auto merge of #47813 - kennytm:stable-incl-range, r=nrc
Stabilize inclusive range (`..=`)

Stabilize the followings:

* `inclusive_range` — The `std::ops::RangeInclusive` and `std::ops::RangeInclusiveTo` types, except its fields (tracked by #49022 separately).
* `inclusive_range_syntax` — The `a..=b` and `..=b` expression syntax
* `dotdoteq_in_patterns` — Using `a..=b` in a pattern

cc #28237
r? @rust-lang/lang
2018-03-15 16:00:40 +00:00
kennytm b5913f2e76 Stabilize inclusive_range library feature.
Stabilize std::ops::RangeInclusive and std::ops::RangeInclusiveTo.
2018-03-15 16:58:01 +08:00
bors a4af6f089b Auto merge of #48648 - snf:fallible_allocation, r=Kimundi
Fallible allocation

Implementing RFC#2116 [Fallible Allocation](https://github.com/rust-lang/rust/issues/48043) .
Work in progress. Initially adding @Gankro's try_reserve for Vec.
2018-03-15 08:18:58 +00:00
snf b08b5ae0ec try_reserve: disabling tests for asmjs, blocked by #48968 2018-03-14 03:48:42 -07:00
snf 92bfcd2b19 implementing fallible allocation API (try_reserve) for Vec, String and HashMap 2018-03-14 03:48:42 -07:00
Andrew Cann a704624ef5 change never_type stabilisation version 2018-03-14 12:44:51 +08:00
Andrew Cann 32ddb30715 Fix version number 2018-03-14 12:44:51 +08:00
Andrew Cann a9fc3901b0 stabilise feature(never_type)
Replace feature(never_type) with feature(exhaustive_patterns).
feature(exhaustive_patterns) only covers the pattern-exhaustives checks
that used to be covered by feature(never_type)
2018-03-14 12:44:51 +08:00
bors c29085761b Auto merge of #48735 - 1011X:master, r=alexcrichton
Move ascii::escape_default to libcore

As requested in #46409, the `ascii::escape_default` method has been added to the core library. All I did was copy over the `std::ascii` module file, remove the (redundant) `AsciiExt` trait, and change some of the documentation to match. None of the tests were changed.

I wasn't sure how to handle the annotations. For `EscapeDefault` and `escape_default()`, I changed them to `#[unstable(feature = "core_ascii", issue = "46409")]`. Is that alright? Or should I leave them as they were?
2018-03-13 19:50:13 +00:00
Alex Crichton 0e0f74bcf9 rustc: Embed LLVM bitcode by default on iOS
This commit updates rustc to embed bitcode in each object file generated by
default when compiling for iOS. This was determined in #35968 as a step
towards better compatibility with the iOS toolchain, so let's give it a spin and
see how it turns out!

Note that this also updates the `cc` dependency which should propagate this
change of embedding bitcode for C dependencies as well.
2018-03-13 08:29:19 -07:00
Alex Crichton 1999a3fb41 rustbuild: Tweak CFLAGS to various libstd pieces
* Pass `opt_level(2)` when calculating CFLAGS to get the right flags on iOS
* Unconditionally pass `-O2` when compiling libbacktrace

This should...

Close #48903
Close #48906
2018-03-13 08:28:27 -07:00
kennytm 684c6d17c5 Rollup merge of #48480 - jethrogb:patch-5, r=alexcrichton
Clarify interfaction between File::set_len and file cursor
2018-03-13 05:00:26 +08:00
Alex Crichton 994bfd4141 Update Cargo submodule
Required moving all fulldeps tests depending on `rand` to different locations as
now there's multiple `rand` crates that can't be implicitly linked against.
2018-03-11 10:59:28 -07:00
Manish Goregaokar b65b171f44 Rollup merge of #48857 - Songbird0:improve_column_macro_documentation, r=joshtriplett
Modify part of `column!` documentation.

Just like `line!` documentation, I've replaced:

> The returned column is not the invocation of the `column!` macro itself

By

> The returned column is *not necessarily* the line of the `column!` invocation itself

See #46997.
2018-03-08 17:25:59 -08:00
Manish Goregaokar 5ab485599d Rollup merge of #48856 - Songbird0:improve_line_macro_documentation, r=joshtriplett
Modify part of `line!` documentation.

In accordance with #46997, I've replaced:

> The returned line is not the invocation of the line! macro itself [...]

By

> The returned line is *not necessarily* the line of the `line!` invocation itself [...]
2018-03-08 17:25:58 -08:00
Anthony Defranceschi a0758cdcff Modify part of column! documentation.
Just like `line!` documentation, I've replaced:

> The returned column is not the invocation of the `column!` macro itself

By

> The returned column is *not necessarily* the line of the `column!` invocation itself

See #46997.
2018-03-09 00:43:54 +01:00
Anthony Defranceschi 2d7472fadc Modify part of line! documentation.
In accordance with #46997, I've replaced:

> The returned line is not the invocation of the line! macro itself [...]

By

> The returned line is *not necessarily* the line of the `line!` invocation itself [...]
2018-03-09 00:36:07 +01:00
Manish Goregaokar f12d5aa517 Rollup merge of #48292 - topecongiro:from_str-for-path-and-pathbuf, r=alexcrichton
Implement FromStr for PathBuf

Closes #44431.
2018-03-08 11:25:54 -08:00
Shotaro Yamada 517083fbad Make assert macro a built-in procedural macro 2018-03-07 17:22:58 +09:00
Alex Crichton de3a63d663 Rollup merge of #48618 - scottmcm:elaborate-exitcode, r=alexcrichton
Better docs and associated SUCCESS/FAILURE for process::ExitCode

Follow-up to https://github.com/rust-lang/rust/pull/48497#discussion_r170676525, since that PR was the minimal thing to unblock https://github.com/rust-lang/rust/issues/48453#issuecomment-368155082.

r? @nikomatsakis
2018-03-06 23:38:06 -08:00
1011X 06bad6a441 Merge branch 'master' of https://github.com/rust-lang/rust 2018-03-06 14:35:12 -05:00
kennytm 8e3493d459 Rollup merge of #47463 - bluss:fused-iterator, r=alexcrichton
Stabilize FusedIterator

FusedIterator is a marker trait that promises that the implementing
iterator continues to return `None` from `.next()` once it has returned
`None` once (and/or `.next_back()`, if implemented).

The effects of FusedIterator are already widely available through
`.fuse()`, but with stable `FusedIterator`, stable Rust users can
implement this trait for their iterators when appropriate.

Closes #35602
2018-03-06 20:52:37 +08:00
kennytm ebc6d6e24f Rollup merge of #48507 - GuillaumeGomez:cstr-note, r=steveklabnik
Add new warning for CStr::from_ptr

Fixes #48401.
2018-03-06 20:52:36 +08:00
kennytm b691c521bb Rollup merge of #48754 - leodasvacas:while-let-all-the-things, r=rkruppe
while let all the things
2018-03-06 20:52:32 +08:00
1011X aa1ded9286 Remove unnecessary imports 2018-03-05 18:13:56 -05:00
1011X 1b3d1fc2aa Move tests, re-export items from core::ascii 2018-03-05 16:39:09 -05:00
leonardo.yvens 2e7e68b762 while let all the things 2018-03-05 15:58:54 -03:00
Tobias Bucher 88f32d15af Remove a couple of isize references from hashmap docs
Also fix a spelling mistake.
2018-03-05 18:37:05 +01:00
topecongiro 05a9acc3b8 Implement FromStr for PathBuf 2018-03-06 01:03:16 +09:00
Scott McMurray 74c5c6e6cb Move process::ExitCode internals to sys
Now begins the saga of fixing compilation errors on other platforms...
2018-03-03 18:44:44 -08:00
kennytm 6f07aaa428 Rollup merge of #48513 - alexcrichton:simd, r=JoshTriplett
std: Add `arch` and `simd` modules

This commit imports the `stdsimd` crate into the standard library,
creating an `arch` and `simd` module inside of both libcore and libstd.
Both of these modules are **unstable** and will continue to be so until
RFC 2335 is stabilized.

As a brief recap, the modules are organized as so:

* `arch` contains all current architectures with intrinsics, for example
  `std::arch::x86`, `std::arch::x86_64`, `std::arch::arm`, etc. These
  modules contain all of the intrinsics defined for the platform, like
  `_mm_set1_epi8`.
* In the standard library, the `arch` module also exports a
  `is_target_feature_detected` macro which performs runtime detection to
  determine whether a target feature is available at runtime.
* The `simd` module contains experimental versions of strongly-typed
  lane-aware SIMD primitives, to be fully fleshed out in a future RFC.

The main purpose of this commit is to start pulling in all these
intrinsics and such into the standard library on nightly and allow
testing and such. This'll help allow users to easily kick the tires and
see if intrinsics work as well as allow us to test out all the
infrastructure for moving the intrinsics into the standard library.
2018-03-04 02:17:38 +08:00
Ulrik Sverdrup c7c23fe948 core: Update stability attributes for FusedIterator 2018-03-03 14:23:05 +01:00
Ulrik Sverdrup bc651cac8d core: Stabilize FusedIterator
FusedIterator is a marker trait that promises that the implementing
iterator continues to return `None` from `.next()` once it has returned
`None` once (and/or `.next_back()`, if implemented).

The effects of FusedIterator are already widely available through
`.fuse()`, but with stable `FusedIterator`, stable Rust users can
implement this trait for their iterators when appropriate.
2018-03-03 14:14:03 +01:00
Manish Goregaokar 8bf026df5b Rollup merge of #48328 - frewsxcv:frewsxcv-clarify-error-zero-duration, r=sfackler
Fixes #47311.
r? @nrc
2018-03-02 22:01:20 -08:00
Alex Crichton c72537f204 std: Add arch and simd modules
This commit imports the `stdsimd` crate into the standard library,
creating an `arch` and `simd` module inside of both libcore and libstd.
Both of these modules are **unstable** and will continue to be so until
RFC 2335 is stabilized.

As a brief recap, the modules are organized as so:

* `arch` contains all current architectures with intrinsics, for example
  `std::arch::x86`, `std::arch::x86_64`, `std::arch::arm`, etc. These
  modules contain all of the intrinsics defined for the platform, like
  `_mm_set1_epi8`.
* In the standard library, the `arch` module also exports a
  `is_target_feature_detected` macro which performs runtime detection to
  determine whether a target feature is available at runtime.
* The `simd` module contains experimental versions of strongly-typed
  lane-aware SIMD primitives, to be fully fleshed out in a future RFC.

The main purpose of this commit is to start pulling in all these
intrinsics and such into the standard library on nightly and allow
testing and such. This'll help allow users to easily kick the tires and
see if intrinsics work as well as allow us to test out all the
infrastructure for moving the intrinsics into the standard library.
2018-03-02 14:34:07 -08:00
Manish Goregaokar b812b77094 Rollup merge of #48585 - stjepang:stabilize-localkey-try_with, r=alexcrichton
Stabilize LocalKey::try_with

The `LocalKey::try_with` method is now stabilized.

`LocalKey::state` and `LocalKeyState` marked as deprecated. Although, is there any reason to keep them - should we perhaps remove them completely?

Closes #27716

r? @alexcrichton
2018-03-01 09:29:41 -08:00
Scott McMurray 2ce2b40ee5 Fix linkchecker 2018-02-28 23:34:20 -08:00
Manish Goregaokar 6b5519ddac Rollup merge of #48420 - teiesti:path_parents, r=BurntSushi
Fixes #47311.
r? @nrc
2018-02-28 15:09:27 -08:00
Manish Goregaokar 12515608cb Rollup merge of #48380 - nikomatsakis:issue-48251-master, r=acrichto
Fixes #47311.
r? @nrc
2018-02-28 15:09:26 -08:00
Stjepan Glavina cb56b2d152 Fix a bug introduced in previous commit 2018-03-01 00:07:27 +01:00
Stjepan Glavina 27fae2b24a Remove thread_local_state 2018-02-28 18:59:12 +01:00