]> git.lizzy.rs Git - rust.git/log
rust.git
8 years agoAuto merge of #30916 - steveklabnik:rollup, r=steveklabnik
bors [Thu, 14 Jan 2016 22:23:59 +0000 (22:23 +0000)]
Auto merge of #30916 - steveklabnik:rollup, r=steveklabnik

- Successful merges: #30712, #30895, #30902, #30903, #30909, #30910, #30911, #30912, #30914
- Failed merges:

8 years agoAuto merge of #30913 - brson:nogold, r=alexcrichton
bors [Thu, 14 Jan 2016 20:32:13 +0000 (20:32 +0000)]
Auto merge of #30913 - brson:nogold, r=alexcrichton

This reverts commit 34dc0e0739e19811850f82f1e45b61ba97adc96e.

cc #30783 #30784 #29974

r? @alexcrichton

8 years agoRollup merge of #30914 - tshepang:easier-description, r=steveklabnik
Steve Klabnik [Thu, 14 Jan 2016 19:58:35 +0000 (14:58 -0500)]
Rollup merge of #30914 - tshepang:easier-description, r=steveklabnik

This function returns the size on the stack, not that of the value
that may be allocated on the heap.

8 years agoRollup merge of #30912 - tshepang:remove-distraction, r=steveklabnik
Steve Klabnik [Thu, 14 Jan 2016 19:58:35 +0000 (14:58 -0500)]
Rollup merge of #30912 - tshepang:remove-distraction, r=steveklabnik

8 years agoRollup merge of #30911 - tshepang:missing-word, r=Manishearth
Steve Klabnik [Thu, 14 Jan 2016 19:58:35 +0000 (14:58 -0500)]
Rollup merge of #30911 - tshepang:missing-word, r=Manishearth

Also, whitespace fixes

8 years agoRollup merge of #30910 - tshepang:improve-description, r=steveklabnik
Steve Klabnik [Thu, 14 Jan 2016 19:58:35 +0000 (14:58 -0500)]
Rollup merge of #30910 - tshepang:improve-description, r=steveklabnik

8 years agoRollup merge of #30909 - tshepang:a-better-name, r=steveklabnik
Steve Klabnik [Thu, 14 Jan 2016 19:58:34 +0000 (14:58 -0500)]
Rollup merge of #30909 - tshepang:a-better-name, r=steveklabnik

For a moment, I got confused by thinking the summary was referring to the same `x`

8 years agoRollup merge of #30903 - steveklabnik:no_std_stable, r=alexcrichton
Steve Klabnik [Thu, 14 Jan 2016 19:58:34 +0000 (14:58 -0500)]
Rollup merge of #30903 - steveklabnik:no_std_stable, r=alexcrichton

This feature is partially stabilized, so describe each part in the appropriate place.

r? @alexcrichton @brson

It would be nice to backport this to beta, since this is the first release where this is true. I try really hard to not do doc backports, but this isn't very large, and might be worth making an exception, I dunno.

8 years agoRollup merge of #30902 - tomaka:patch-1, r=steveklabnik
Steve Klabnik [Thu, 14 Jan 2016 19:58:34 +0000 (14:58 -0500)]
Rollup merge of #30902 - tomaka:patch-1, r=steveklabnik

8 years agoRollup merge of #30895 - gchp:contrib, r=alexcrichton
Steve Klabnik [Thu, 14 Jan 2016 19:58:34 +0000 (14:58 -0500)]
Rollup merge of #30895 - gchp:contrib, r=alexcrichton

'B' labels are for blockers, not issues which belong elsewhere.

Prompted by this comment on Reddit:
https://www.reddit.com/r/rust/comments/40nzkd/contributing_to_the_rust_compiler_a_short_guide/cyxcjtd

8 years agoRollup merge of #30712 - LawrenceWoodman:patch-3, r=steveklabnik
Steve Klabnik [Thu, 14 Jan 2016 19:58:34 +0000 (14:58 -0500)]
Rollup merge of #30712 - LawrenceWoodman:patch-3, r=steveklabnik

This also repeats the case analysis used.

8 years agodoc: this is more easy to read, and less prone mis-interpretation
Tshepang Lekhonkhobe [Thu, 14 Jan 2016 19:37:43 +0000 (21:37 +0200)]
doc: this is more easy to read, and less prone mis-interpretation

This function returns the size on the stack, not that of the value
that may be allocated on the heap.

8 years agoRevert "Link with ld.gold by default"
Brian Anderson [Thu, 14 Jan 2016 19:20:11 +0000 (19:20 +0000)]
Revert "Link with ld.gold by default"

This reverts commit 34dc0e0739e19811850f82f1e45b61ba97adc96e.

8 years agodoc: that suffix serves as mere distraction
Tshepang Lekhonkhobe [Thu, 14 Jan 2016 19:08:15 +0000 (21:08 +0200)]
doc: that suffix serves as mere distraction

8 years agodoc: add missing word
Tshepang Lekhonkhobe [Thu, 14 Jan 2016 18:56:37 +0000 (20:56 +0200)]
doc: add missing word

Also, whitespace fixes

8 years agodoc: "x" is used as variable name on this API, so avoid using it here
Tshepang Lekhonkhobe [Thu, 14 Jan 2016 18:54:49 +0000 (20:54 +0200)]
doc: "x" is used as variable name on this API, so avoid using it here

8 years agodoc: "moves" has a specific meaning in Rust, so avoid using it here
Tshepang Lekhonkhobe [Thu, 14 Jan 2016 18:52:51 +0000 (20:52 +0200)]
doc: "moves" has a specific meaning in Rust, so avoid using it here

8 years agoFix outdated comment
tomaka [Thu, 14 Jan 2016 15:44:15 +0000 (16:44 +0100)]
Fix outdated comment

8 years agoMove some #[no_std] info to stable book.
Steve Klabnik [Thu, 14 Jan 2016 15:45:40 +0000 (10:45 -0500)]
Move some #[no_std] info to stable book.

This feature is partially stabilized, so describe each part in the appropriate place.

8 years agoAuto merge of #30848 - nagisa:mir-no-store-zsts, r=nikomatsakis
bors [Thu, 14 Jan 2016 15:37:07 +0000 (15:37 +0000)]
Auto merge of #30848 - nagisa:mir-no-store-zsts, r=nikomatsakis

Fixes #30831

r? @nikomatsakis

8 years agoAuto merge of #30897 - Manishearth:rollup, r=Manishearth
bors [Thu, 14 Jan 2016 13:42:59 +0000 (13:42 +0000)]
Auto merge of #30897 - Manishearth:rollup, r=Manishearth

- Successful merges: #30821, #30869, #30871, #30874, #30879, #30886, #30892
- Failed merges: #30864

8 years agoRollup merge of #30892 - shepmaster:box-grammar, r=alexcrichton
Manish Goregaokar [Thu, 14 Jan 2016 13:42:29 +0000 (19:12 +0530)]
Rollup merge of #30892 - shepmaster:box-grammar, r=alexcrichton

8 years agoRollup merge of #30886 - ollie27:docs_links, r=steveklabnik
Manish Goregaokar [Thu, 14 Jan 2016 13:42:29 +0000 (19:12 +0530)]
Rollup merge of #30886 - ollie27:docs_links, r=steveklabnik

r? @steveklabnik

8 years agoRollup merge of #30879 - durka:collections-range-tracking-issue, r=nagisa
Manish Goregaokar [Thu, 14 Jan 2016 13:42:29 +0000 (19:12 +0530)]
Rollup merge of #30879 - durka:collections-range-tracking-issue, r=nagisa

see #27711 and #30877

r? @alexcrichton

8 years agoRollup merge of #30874 - dhuseby:fixing_bitrig_tests, r=alexcrichton
Manish Goregaokar [Thu, 14 Jan 2016 13:42:28 +0000 (19:12 +0530)]
Rollup merge of #30874 - dhuseby:fixing_bitrig_tests, r=alexcrichton

fixes the failing bitrig unit tests.

8 years agoRollup merge of #30871 - oli-obk:fix/reference, r=steveklabnik
Manish Goregaokar [Thu, 14 Jan 2016 13:42:28 +0000 (19:12 +0530)]
Rollup merge of #30871 - oli-obk:fix/reference, r=steveklabnik

r? @steveklabnik

8 years agoRollup merge of #30869 - D101101:patch-3, r=huonw
Manish Goregaokar [Thu, 14 Jan 2016 13:42:28 +0000 (19:12 +0530)]
Rollup merge of #30869 - D101101:patch-3, r=huonw

r? @steveklabnik

8 years agoRollup merge of #30821 - steveklabnik:gh30819, r=nikomatsakis
Manish Goregaokar [Thu, 14 Jan 2016 13:42:28 +0000 (19:12 +0530)]
Rollup merge of #30821 - steveklabnik:gh30819, r=nikomatsakis

Fixes #30819

8 years agoFix note about B-prefixed issue labels
Greg Chapple [Thu, 14 Jan 2016 10:47:04 +0000 (10:47 +0000)]
Fix note about B-prefixed issue labels

'B' labels are for blockers, not issues which belong elsewhere.

Prompted by this comment on Reddit:
https://www.reddit.com/r/rust/comments/40nzkd/contributing_to_the_rust_compiler_a_short_guide/cyxcjtd

8 years agoAuto merge of #30883 - Manishearth:rollup, r=Manishearth
bors [Thu, 14 Jan 2016 06:45:26 +0000 (06:45 +0000)]
Auto merge of #30883 - Manishearth:rollup, r=Manishearth

- Successful merges: #30626, #30662, #30770, #30801, #30818, #30823, #30828, #30835, #30837, #30839, #30845, #30848, #30850, #30851, #30863
- Failed merges:

8 years agoRollup merge of #30863 - jseyfried:no_rc, r=eddyb
Manish Goregaokar [Wed, 13 Jan 2016 22:52:20 +0000 (04:22 +0530)]
Rollup merge of #30863 - jseyfried:no_rc, r=eddyb

Use arena allocation instead of reference counting for `Module`s to fix memory leaks from `Rc` cycles.

A module references its module children and its import resolutions, and an import resolution references the module defining the imported name, so there is a cycle whenever a module imports something from an ancestor module.

For example,
```rust
mod foo { // `foo` references `bar`.
    fn baz() {}
    mod bar { // `bar` references the import.
        use foo::baz; // The import references `foo`.
    }
}
```

8 years agoRollup merge of #30851 - jonas-schievink:unneeded-dropflags, r=pnkfelix
Manish Goregaokar [Wed, 13 Jan 2016 22:52:20 +0000 (04:22 +0530)]
Rollup merge of #30851 - jonas-schievink:unneeded-dropflags, r=pnkfelix

Apparently we allocate and maintain non-working dropflag hints since June... In anticipation of a working implementation of on-stack drop flag hints, let's not spend even more time on types that don't even need to be dropped.

```rust
fn main() {
    let (i,j,k,l) = (0,0,0,0);
}
```
used to translate to (unoptimized only, of course):
```llvm
define internal void @_ZN4main20ha8deb085c47920d8eaaE() unnamed_addr #0 {
entry-block:
  %dropflag_hint_10 = alloca i8
  %dropflag_hint_11 = alloca i8
  %dropflag_hint_12 = alloca i8
  %dropflag_hint_13 = alloca i8
  %const = alloca { i32, i32, i32, i32 }
  %i = alloca i32
  %j = alloca i32
  %k = alloca i32
  %l = alloca i32
  store i8 61, i8* %dropflag_hint_10
  store i8 61, i8* %dropflag_hint_11
  store i8 61, i8* %dropflag_hint_12
  store i8 61, i8* %dropflag_hint_13
  %0 = bitcast { i32, i32, i32, i32 }* %const to i8*
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* bitcast ({ i32, i32, i32, i32 }* @const2752 to i8*), i64 16, i32 4, i1 false)
  %1 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 0
  %2 = load i32, i32* %1, align 4
  store i32 %2, i32* %i, align 4
  %3 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 1
  %4 = load i32, i32* %3, align 4
  store i32 %4, i32* %j, align 4
  %5 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 2
  %6 = load i32, i32* %5, align 4
  store i32 %6, i32* %k, align 4
  %7 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 3
  %8 = load i32, i32* %7, align 4
  store i32 %8, i32* %l, align 4
  ret void
}
```

Now it gives:
```llvm
define internal void @_ZN4main20ha8deb085c47920d8eaaE() unnamed_addr #0 {
entry-block:
  %const = alloca { i32, i32, i32, i32 }
  %i = alloca i32
  %j = alloca i32
  %k = alloca i32
  %l = alloca i32
  %0 = bitcast { i32, i32, i32, i32 }* %const to i8*
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* bitcast ({ i32, i32, i32, i32 }* @const2748 to i8*), i64 16, i32 4, i1 false)
  %1 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 0
  %2 = load i32, i32* %1, align 4
  store i32 %2, i32* %i, align 4
  %3 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 1
  %4 = load i32, i32* %3, align 4
  store i32 %4, i32* %j, align 4
  %5 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 2
  %6 = load i32, i32* %5, align 4
  store i32 %6, i32* %k, align 4
  %7 = getelementptr inbounds { i32, i32, i32, i32 }, { i32, i32, i32, i32 }* %const, i32 0, i32 3
  %8 = load i32, i32* %7, align 4
  store i32 %8, i32* %l, align 4
  ret void
}
```

Let's hope I didn't break anything!

8 years agoRollup merge of #30850 - ranma42:cleanup-io, r=alexcrichton
Manish Goregaokar [Wed, 13 Jan 2016 22:52:20 +0000 (04:22 +0530)]
Rollup merge of #30850 - ranma42:cleanup-io, r=alexcrichton

In 8d90d3f36871a00023cc1f313f91e351c287ca15 `BufStream`, the only
consumer of `InternalBufWriter`, was removed. As implied by the name,
this type is private, hence it is currently dead code.

8 years agoRollup merge of #30839 - tomaka:debug-phantomdata, r=nikomatsakis
Manish Goregaokar [Wed, 13 Jan 2016 22:52:20 +0000 (04:22 +0530)]
Rollup merge of #30839 - tomaka:debug-phantomdata, r=nikomatsakis

All the trait implementations of `PhantomData` use `impl<T: ?Sized>` except for `Debug`
https://doc.rust-lang.org/nightly/std/marker/struct.PhantomData.html#implementations

This PR fixes this.

8 years agoRollup merge of #30837 - semarie:openbsd-libc, r=alexcrichton
Manish Goregaokar [Wed, 13 Jan 2016 22:52:19 +0000 (04:22 +0530)]
Rollup merge of #30837 - semarie:openbsd-libc, r=alexcrichton

The following PR updates libc version to latest commits for correctly support openbsd.
It corrects several points in rustc to be compatible with libc changes.

r? @alexcrichton

8 years agoRollup merge of #30835 - kraai:show-span, r=sanxiyn
Manish Goregaokar [Wed, 13 Jan 2016 22:52:19 +0000 (04:22 +0530)]
Rollup merge of #30835 - kraai:show-span, r=sanxiyn

I think this will fix #30656.

8 years agoRollup merge of #30828 - wheals:fix-dead-links, r=steveklabnik
Manish Goregaokar [Wed, 13 Jan 2016 22:52:19 +0000 (04:22 +0530)]
Rollup merge of #30828 - wheals:fix-dead-links, r=steveklabnik

See [the intrinsics page](https://doc.rust-lang.org/nightly/core/intrinsics/index.html) for example.

8 years agoRollup merge of #30823 - pnkfelix:put-back-alloca-zeroing-for-issue-30530, r=dotdash
Manish Goregaokar [Wed, 13 Jan 2016 22:52:19 +0000 (04:22 +0530)]
Rollup merge of #30823 - pnkfelix:put-back-alloca-zeroing-for-issue-30530, r=dotdash

Put back alloca zeroing for issues #29092, #30018, #30530; inject zeroing for #30822.

----

Background context: `fn alloca_zeroed` was removed in PR #22969, so we haven't been "zero'ing" (\*) the alloca's since at least that point, but the logic behind that PR seems sound, so its not entirely obvious how *long* the underlying bug has actually been present.  In other words, I have not yet done a survey to see when the new `alloc_ty` and `lvalue_scratch_datum` calls were introduced that should have had "zero'ing" the alloca's.

----

I first fixed #30018, then decided to do a survey of `alloc_ty` calls to see if they needed similar treatment, which quickly led to a rediscovery of #30530.

While making the regression test for the latter, I discovered #30822, which is a slightly different bug (in terms of where the "zero'ing" needs to go), but still relevant.

I haven't finished the aforementioned survey of `fn alloc_ty` calls, but I decided I wanted to get this up for review in its current state (namely to see if my attempt to force developers to include a justification for passing `Uninit` can possibly fly, or if I should abandon that path of action).

----

(*): I am putting quotation marks around "zero'ing" because we no longer use zero as our "dropped" marker value.

Fix #29092
Fix #30018
Fix #30530
Fix #30822

8 years agoRollup merge of #30818 - sfackler:duration-hash, r=alexcrichton
Manish Goregaokar [Wed, 13 Jan 2016 22:52:19 +0000 (04:22 +0530)]
Rollup merge of #30818 - sfackler:duration-hash, r=alexcrichton

tikue pointed out in IRC that this was missing.

8 years agoRollup merge of #30801 - Amanieu:oom_print, r=alexcrichton
Manish Goregaokar [Wed, 13 Jan 2016 22:52:18 +0000 (04:22 +0530)]
Rollup merge of #30801 - Amanieu:oom_print, r=alexcrichton

This adds the ability to override the default OOM behavior by setting a handler function. This is used by libstd to print a message when running out of memory instead of crashing with an obscure "illegal hardware instruction" error (at least on Linux).

Fixes #14674

8 years agoRollup merge of #30770 - steveklabnik:gh30345, r=brson
Manish Goregaokar [Wed, 13 Jan 2016 22:52:18 +0000 (04:22 +0530)]
Rollup merge of #30770 - steveklabnik:gh30345, r=brson

Fixes #30345

I'm not sure if there's anything else that belongs here. Thoughts?

8 years agoRollup merge of #30626 - steveklabnik:gh30618, r=luqmana
Manish Goregaokar [Wed, 13 Jan 2016 22:52:18 +0000 (04:22 +0530)]
Rollup merge of #30626 - steveklabnik:gh30618, r=luqmana

Fixes #30618

8 years agoAuto merge of #30662 - simartin:issue_30592, r=alexcrichton
bors [Thu, 14 Jan 2016 03:17:51 +0000 (03:17 +0000)]
Auto merge of #30662 - simartin:issue_30592, r=alexcrichton

Fixes https://github.com/rust-lang/rust/issues/30592, a fallout of https://github.com/rust-lang/rust/commit/cd1848a1a60f40f25019e455b1050efd69707604

8 years agoImprove grammar of Box::{into,from}_raw docs
Jake Goulding [Thu, 14 Jan 2016 02:23:07 +0000 (21:23 -0500)]
Improve grammar of Box::{into,from}_raw docs

8 years agoAuto merge of #30466 - alexcrichton:move-wrapping-and-fill-out, r=aturon
bors [Thu, 14 Jan 2016 01:26:54 +0000 (01:26 +0000)]
Auto merge of #30466 - alexcrichton:move-wrapping-and-fill-out, r=aturon

This commit migrates all of the methods on `num::wrapping::OverflowingOps` onto
inherent methods of the integer types. This also fills out some missing gaps in
the saturating and checked departments such as:

* `saturating_mul`
* `checked_{neg,rem,shl,shr}`

This is done in preparation for stabilization,

cc #27755

8 years agoFix some broken and missing links in the docs
Oliver Middleton [Wed, 13 Jan 2016 23:19:24 +0000 (23:19 +0000)]
Fix some broken and missing links in the docs

8 years agoAuto merge of #30870 - Eljay:issue-30477, r=alexcrichton
bors [Wed, 13 Jan 2016 22:27:46 +0000 (22:27 +0000)]
Auto merge of #30870 - Eljay:issue-30477, r=alexcrichton

Fixes #30477, #30213.

The loop over reexports used to be a closure before #30043 but it's an iterator now so it should just continue instead of exiting the loop and skipping stuff.

r? @brson

8 years agoAdd missing newline character to callers of dumb_print
Amanieu d'Antras [Sat, 9 Jan 2016 19:19:56 +0000 (19:19 +0000)]
Add missing newline character to callers of dumb_print

8 years agoAuto merge of #30813 - fhahn:fix-ice-semicolon-in-lifetime, r=nrc
bors [Wed, 13 Jan 2016 20:38:12 +0000 (20:38 +0000)]
Auto merge of #30813 - fhahn:fix-ice-semicolon-in-lifetime, r=nrc

This PR fixes an ICE due to an DiagnosticsBuilder not being canceld or emitted.

Ideally it would use `Handler::cancel`, but I did not manage to get a `&mut` reference to the diagnostics handler.

8 years agoIssue #30592: Restore build in --disable-jemalloc mode.
Simon Martin [Thu, 31 Dec 2015 17:13:39 +0000 (18:13 +0100)]
Issue #30592: Restore build in --disable-jemalloc mode.

8 years agoremoving the conditional compilation of the dynamic_lib reference
Dave Huseby [Wed, 13 Jan 2016 19:23:33 +0000 (11:23 -0800)]
removing the conditional compilation of the dynamic_lib reference

8 years agoFixes #30873
Dave Huseby [Wed, 13 Jan 2016 17:32:19 +0000 (09:32 -0800)]
Fixes #30873

8 years agoupdate tracking issue for collections_range
Alex Burka [Wed, 13 Jan 2016 18:50:41 +0000 (13:50 -0500)]
update tracking issue for collections_range

8 years agoAuto merge of #30509 - michaelsproul:string-box-error, r=alexcrichton
bors [Wed, 13 Jan 2016 18:46:29 +0000 (18:46 +0000)]
Auto merge of #30509 - michaelsproul:string-box-error, r=alexcrichton

Closes #30156.

8 years agoAuto merge of #30794 - joerg-krause:fix-arm-unknown-linux-gnueabi-float-abi, r=alexcr...
bors [Wed, 13 Jan 2016 16:57:01 +0000 (16:57 +0000)]
Auto merge of #30794 - joerg-krause:fix-arm-unknown-linux-gnueabi-float-abi, r=alexcrichton

gnueabi indicates soft whereas gnueabihf indicates hard floating-point ABI.

8 years agoAuto merge of #30779 - michaelwoerister:closure-mir-in-metadata, r=nikomatsakis
bors [Wed, 13 Jan 2016 15:08:07 +0000 (15:08 +0000)]
Auto merge of #30779 - michaelwoerister:closure-mir-in-metadata, r=nikomatsakis

8 years agothe reference was inferring values that didn't fit into their target type
Oliver 'ker' Schneider [Mon, 28 Dec 2015 18:55:56 +0000 (19:55 +0100)]
the reference was inferring values that didn't fit into their target type

8 years agoadd doc for new `fn alloc_ty_init`.
Felix S. Klock II [Tue, 12 Jan 2016 16:24:00 +0000 (17:24 +0100)]
add doc for new `fn alloc_ty_init`.

(Note that it might be a good idea to replace *all* calls of
`alloc_ty` with calls to `alloc_ty_init`, to encourage programmers to
consider the appropriate value for the `init` flag when creating
temporary values.)

8 years agorevise lifetime handling for alloca's that are initialized as "dropped."
Felix S. Klock II [Tue, 12 Jan 2016 16:21:11 +0000 (17:21 +0100)]
revise lifetime handling for alloca's that are initialized as "dropped."

(This can/should be revisited when drop flags are stored out of band.)

8 years agoFactored out private routine for emitting LLVM lifetime intrinsic calls.
Felix S. Klock II [Tue, 12 Jan 2016 16:17:50 +0000 (17:17 +0100)]
Factored out private routine for emitting LLVM lifetime intrinsic calls.

(The reason this is not factored as far as possible because a
subsequent commit is going to need to do construction without having
access to a `cx`.)

8 years agoUnit/regression tests for issues #29092, #30018, #30530, #30822.
Felix S. Klock II [Mon, 11 Jan 2016 17:32:28 +0000 (18:32 +0100)]
Unit/regression tests for issues #29092, #30018, #30530, #30822.

Note that the test for #30822 is folded into the test for #30530 (but
the file name mentions only 30530).

8 years agobug fixes for issues 30018 and 30822.
Felix S. Klock II [Mon, 11 Jan 2016 17:23:22 +0000 (18:23 +0100)]
bug fixes for issues 30018 and 30822.

includes bugfixes pointed out during review:

 * Only `call_lifetime_start` for an alloca if the function entry does
   not itself initialize it to "dropped."

 * Remove `schedule_lifetime_end` after writing an *element* into a
   borrowed slice. (As explained by [dotdash][irc], "the lifetime end
   that is being removed was for an element in the slice, which is not
   an alloca of its own and has no lifetime start of its own")

[irc]: https://botbot.me/mozilla/rust-internals/2016-01-13/?msg=57844504&page=3

8 years agoFix rustdoc reexports.
Lee Jeffery [Wed, 13 Jan 2016 13:01:14 +0000 (13:01 +0000)]
Fix rustdoc reexports.

8 years agoAuto merge of #30684 - tshepang:rustfmt-lexer-part2, r=nrc
bors [Wed, 13 Jan 2016 12:22:51 +0000 (12:22 +0000)]
Auto merge of #30684 - tshepang:rustfmt-lexer-part2, r=nrc

8 years agoAuto merge of #29498 - wthrowe:replace-pattern, r=alexcrichton
bors [Wed, 13 Jan 2016 08:15:45 +0000 (08:15 +0000)]
Auto merge of #29498 - wthrowe:replace-pattern, r=alexcrichton

It appears this was left out of RFC rust-lang/rfcs#528 because it might be useful to
also generalize the second argument in some way.  That doesn't seem to
prevent generalizing the first argument now, however.

This is a [breaking-change] because it could cause type-inference to
fail where it previously succeeded.

Also update docs for a few other methods that still referred to `&str` instead of patterns.

8 years agoFix typo in bibliography.md
Sergey Veselkov [Wed, 13 Jan 2016 06:14:21 +0000 (09:14 +0300)]
Fix typo in bibliography.md

8 years agoAuto merge of #30639 - rkruppe:dec2flt-fastpath-tables, r=alexcrichton
bors [Wed, 13 Jan 2016 02:05:02 +0000 (02:05 +0000)]
Auto merge of #30639 - rkruppe:dec2flt-fastpath-tables, r=alexcrichton

Add tables of small powers of ten used in the fast path. The tables are redundant: We could also use the big, more accurate table and round the value to the correct type (in fact we did just that before this commit). However, the rounding is extra work and slows down the fast path.

Because only very small exponents enter the fast path, the table and thus the space overhead is negligible. Speed-wise, this is a clear win on a [benchmark] comparing the fast path to a naive, hand-optimized, inaccurate algorithm. Specifically, this change narrows the gap from a roughly 5x difference to a roughly 3.4x difference.

[benchmark]: https://gist.github.com/Veedrac/dbb0c07994bc7882098e

8 years agoresolve: use arena allocation instead of reference counting for `Module`s to fix...
Jeffrey Seyfried [Mon, 11 Jan 2016 21:19:29 +0000 (21:19 +0000)]
resolve: use arena allocation instead of reference counting for `Module`s to fix memory leaks from Rc cycles

8 years agoAdd an impl for Box<Error> from &str.
Michael Sproul [Tue, 12 Jan 2016 23:38:25 +0000 (10:38 +1100)]
Add an impl for Box<Error> from &str.

8 years agoAuto merge of #30601 - tamird:delegate-libc, r=alexcrichton
bors [Tue, 12 Jan 2016 22:49:02 +0000 (22:49 +0000)]
Auto merge of #30601 - tamird:delegate-libc, r=alexcrichton

See: http://developer.android.com/ndk/downloads/revision_history.html

Also, use `libc`'s `posix_memalign`.

8 years agoSpeed up dec2flt fast path with additional tables.
Robin Kruppe [Wed, 30 Dec 2015 13:01:42 +0000 (14:01 +0100)]
Speed up dec2flt fast path with additional tables.

Add tables of small powers of ten used in the fast path. The tables are redundant: We could also use the big, more accurate table and round the value to the correct type (in fact we did just that before this commit). However, the rounding is extra work and slows down the fast path.

Because only very small exponents enter the fast path, the table and thus the space overhead is negligible. Speed-wise, this is a clear win on a [benchmark] comparing the fast path to a naive, hand-optimized, inaccurate algorithm. Specifically, this change narrows the gap from a roughly 5x difference to a roughly 3.4x difference.

[benchmark]: https://gist.github.com/Veedrac/dbb0c07994bc7882098e

8 years agoandroid has `posix_memalign` for API 16+ since NDK r10d
Tamir Duberstein [Tue, 29 Dec 2015 01:04:20 +0000 (20:04 -0500)]
android has `posix_memalign` for API 16+ since NDK r10d

See: http://developer.android.com/ndk/downloads/revision_history.html

Also, use `libc`'s `posix_memalign`.

8 years ago[MIR] Avoid some code generation for stores of ZST
Simonas Kazlauskas [Tue, 12 Jan 2016 14:36:47 +0000 (16:36 +0200)]
[MIR] Avoid some code generation for stores of ZST

Fixes #30831

8 years agoAdd some examples to std::string
Steve Klabnik [Thu, 7 Jan 2016 19:54:17 +0000 (14:54 -0500)]
Add some examples to std::string

Fixes #30345

8 years agore-instate comment that was mysteriously disappeared
Tshepang Lekhonkhobe [Tue, 12 Jan 2016 18:52:22 +0000 (20:52 +0200)]
re-instate comment that was mysteriously disappeared

8 years agoRemove dead `InternalBufWriter` implementation
Andrea Canciani [Tue, 12 Jan 2016 10:58:52 +0000 (11:58 +0100)]
Remove dead `InternalBufWriter` implementation

In 8d90d3f36871a00023cc1f313f91e351c287ca15 `BufStream`, the only
consumer of `InternalBufWriter`, was removed. As implied by the name,
this type is private, hence it is currently dead code.

8 years agoDon't use dropflag hints when the type is dropless
Jonas Schievink [Tue, 12 Jan 2016 17:04:21 +0000 (18:04 +0100)]
Don't use dropflag hints when the type is dropless

8 years agoAuto merge of #30719 - pyfisch:fix30657, r=alexcrichton
bors [Tue, 12 Jan 2016 16:30:20 +0000 (16:30 +0000)]
Auto merge of #30719 - pyfisch:fix30657, r=alexcrichton

8 years agodebug instrumentation (can remove)
Felix S. Klock II [Fri, 8 Jan 2016 19:40:13 +0000 (20:40 +0100)]
debug instrumentation (can remove)

8 years agoIssue 30530: initialize allocas for `Datum::to_lvalue_datum_in_scope`.
Felix S. Klock II [Fri, 8 Jan 2016 19:40:52 +0000 (20:40 +0100)]
Issue 30530: initialize allocas for `Datum::to_lvalue_datum_in_scope`.

In particular, bring back the `zero` flag for `lvalue_scratch_datum`,
which controls whether the alloca's created immediately at function
start are uninitialized at that point or have their embedded
drop-flags initialized to "dropped".

Then made `to_lvalue_datum_in_scope` pass "dropped" as `zero` flag.

8 years agoFix the Debug impl of PhantomData requiring Sized on T
Pierre Krieger [Tue, 12 Jan 2016 10:23:18 +0000 (11:23 +0100)]
Fix the Debug impl of PhantomData requiring Sized on T

8 years agoAuto merge of #30695 - ranma42:cleanup-unicode, r=alexcrichton
bors [Tue, 12 Jan 2016 10:18:53 +0000 (10:18 +0000)]
Auto merge of #30695 - ranma42:cleanup-unicode, r=alexcrichton

and the associated update of tables.rs

The last commit is related to my comment to #29734.

8 years agoAuto merge of #30678 - Amanieu:no_elf_tls, r=alexcrichton
bors [Tue, 12 Jan 2016 08:30:56 +0000 (08:30 +0000)]
Auto merge of #30678 - Amanieu:no_elf_tls, r=alexcrichton

I also re-enabled the use of `#[thread_local]` on AArch64. It was originally disabled in the PR that introduced AArch64 (#19790), but the reasons for this were not explained. `#[thread_local]` seems to work fine in my tests on AArch64, so I don't think this should be an issue.

cc @alexcrichton @akiss77

8 years agoopenbsd has dirent d_namlen field now
Sébastien Marie [Wed, 23 Dec 2015 17:56:42 +0000 (18:56 +0100)]
openbsd has dirent d_namlen field now

8 years agomake siginfo_si_addr() returns a usize
Sébastien Marie [Wed, 23 Dec 2015 10:32:02 +0000 (11:32 +0100)]
make siginfo_si_addr() returns a usize

`siginfo_si_addr()` function is used once, and the returned value is
casted to `usize`. So make the function returns a `usize`.

it simplifies OpenBSD case, where the return type wouldn't be a `*mut
libc::c_void` but a `*mut libc::c_char`.

8 years agoHW_AVAILCPU is unavailable under openbsd
Sébastien Marie [Wed, 23 Dec 2015 10:28:24 +0000 (11:28 +0100)]
HW_AVAILCPU is unavailable under openbsd

define `num_cpus()` function for openbsd that use `HW_NCPU` for grabbing
the current number of cpus that could be used.

8 years agoswitch from syscall(2) to getentropy(2)
Sébastien Marie [Wed, 23 Dec 2015 10:24:11 +0000 (11:24 +0100)]
switch from syscall(2) to getentropy(2)

use the `getentropy()` function instead of `syscall()` and
syscall-numbers.

8 years agostd: Move overflowing ops to inherent methods
Alex Crichton [Fri, 18 Dec 2015 18:24:06 +0000 (10:24 -0800)]
std: Move overflowing ops to inherent methods

This commit migrates all of the methods on `num::wrapping::OverflowingOps` onto
inherent methods of the integer types. This also fills out some missing gaps in
the saturating and checked departments such as:

* `saturating_mul`
* `checked_{neg,rem,shl,shr}`

This is done in preparation for stabilization,

cc #27755

8 years agoAuto merge of #30635 - nagisa:mir-rid-unit-temp, r=nikomatsakis
bors [Tue, 12 Jan 2016 05:20:23 +0000 (05:20 +0000)]
Auto merge of #30635 - nagisa:mir-rid-unit-temp, r=nikomatsakis

Get rid of that nasty unit_ty temporary variable created just because it might be handy to have one around, when in reality it isn’t really that useful at all.

r? @nikomatsakis

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

8 years agoReplace --show-span with -Z show-span
Matt Kraai [Tue, 12 Jan 2016 04:44:24 +0000 (20:44 -0800)]
Replace --show-span with -Z show-span

8 years agoAuto merge of #30599 - brson:extra, r=alexcrichton
bors [Tue, 12 Jan 2016 03:00:00 +0000 (03:00 +0000)]
Auto merge of #30599 - brson:extra, r=alexcrichton

This mixes in additional information into the hash that is
passed to -C extra-filename. It can be used to further distinguish
the standard libraries if they must be installed next to each
other.

Closes #29559

Frankly, I'm not sure if this solves a real problem. It's meant to help with side-by-side and overlapping installations where there are two sets of libs in /usr, but there are other potential issues there as well, including that some of our artifacts don't use this extra-filename munging, and it's not something our installers can support at all.

cc @jauhien Do you still think this helps the Gentoo case?

8 years agoAdd set_oom_handler and use it print a message when out of memory
Amanieu d'Antras [Sat, 9 Jan 2016 18:20:33 +0000 (18:20 +0000)]
Add set_oom_handler and use it print a message when out of memory

8 years agoAuto merge of #30826 - nagisa:rollup, r=nagisa
bors [Mon, 11 Jan 2016 20:59:15 +0000 (20:59 +0000)]
Auto merge of #30826 - nagisa:rollup, r=nagisa

- Successful merges: #30538, #30687, #30694, #30737, #30761, #30768, #30774, #30798, #30808, #30812, #30814
- Failed merges:

8 years agorustdoc: remove dead link from issue-less unstable entries.
Shmuale Mark [Mon, 11 Jan 2016 19:38:40 +0000 (14:38 -0500)]
rustdoc: remove dead link from issue-less unstable entries.

8 years agoBe a bit more correct about segfault causality
Steve Klabnik [Mon, 11 Jan 2016 13:48:35 +0000 (08:48 -0500)]
Be a bit more correct about segfault causality

Fixes #30819

8 years agoRollup merge of #30814 - brson:docidx, r=steveklabnik
Simonas Kazlauskas [Mon, 11 Jan 2016 19:17:54 +0000 (21:17 +0200)]
Rollup merge of #30814 - brson:docidx, r=steveklabnik

These are the same descriptions as on the website.

re https://www.reddit.com/r/rust/comments/409nlo/i_just_noticed_the_docs_nightly_all_docs_got_more/cytc4ab

r? @steveklabnik

8 years agoRollup merge of #30812 - D101101:patch-2, r=steveklabnik
Simonas Kazlauskas [Mon, 11 Jan 2016 19:17:53 +0000 (21:17 +0200)]
Rollup merge of #30812 - D101101:patch-2, r=steveklabnik

r? @steveklabnik

8 years agoRollup merge of #30808 - GuillaumeGomez:remove_lang_iter, r=alexcrichton
Simonas Kazlauskas [Mon, 11 Jan 2016 19:17:53 +0000 (21:17 +0200)]
Rollup merge of #30808 - GuillaumeGomez:remove_lang_iter, r=alexcrichton

Fixes #30803

r? @nagisa

8 years agoRollup merge of #30798 - erickt:fix-doc, r=apasel422
Simonas Kazlauskas [Mon, 11 Jan 2016 19:17:53 +0000 (21:17 +0200)]
Rollup merge of #30798 - erickt:fix-doc, r=apasel422

8 years agoRollup merge of #30774 - nagisa:mir-fix-constval-adts, r=arielb1
Simonas Kazlauskas [Mon, 11 Jan 2016 19:17:53 +0000 (21:17 +0200)]
Rollup merge of #30774 - nagisa:mir-fix-constval-adts, r=arielb1

Fixes #30772

We used to have a untested special case which didn’t really work anyway, because of lacking casts. This PR removes the case in question.