Commit Graph

80503 Commits

Author SHA1 Message Date
Simon Sapin
239ec7d2dc Implement #[alloc_error_handler]
This to-be-stable attribute is equivalent to `#[lang = "oom"]`.
It is required when using the alloc crate without the std crate.
It is called by `handle_alloc_error`, which is in turned called
by "infallible" allocations APIs such as `Vec::push`.
2018-07-09 23:13:24 +02:00
Simon Sapin
872effa118 Add a test for the default allocation error hook 2018-07-09 23:13:24 +02:00
Simon Sapin
620599e886 Remove extern on the pub fn rust_oom lang item in libstd, to match ABI of the declaration in liballoc
This turned out to be important on Windows.
Calling `handle_alloc_error(Layout:🆕:<[u8; 42]>())` caused:

```
Exception thrown at 0x00007FF7C70DC399 in a.exe: 0xC0000005:
Access violation reading location 0x000000000000002A.
```

0x2A equals 42, so it looks like the `Layout::size` field of type `usize`
was interpreted as a pointer to read from.
2018-07-09 23:13:24 +02:00
bors
9bd8458c92 Auto merge of #50250 - csmoe:wf_traitref, r=scalexm
Chalk lowering rule: WellFormed-TraitRef

Address chalk lowering "Implemented-From-Env" as part of #49177.
r? @nikomatsakis
2018-07-09 21:01:58 +00:00
Anirudh Balaji
c90a821d43
Add "or destination" to {copy, clone}_from_slice example 2018-07-09 13:41:46 -07:00
ashtneoi
dc8ae26c1e Fix issue #51515 and update test 2018-07-09 13:33:57 -07:00
ashtneoi
a49b75d2f3 Add test case from issue #51515 2018-07-09 13:16:02 -07:00
ljedrz
232e77e007 Change gcc warning file name, remove unnecessary reference 2018-07-09 21:25:16 +02:00
scalexm
37c5c0bf9c Change wording 2018-07-09 21:20:26 +02:00
bors
bdd185c897 Auto merge of #51956 - GuillaumeGomez:shutdown-doc-lints, r=oli-obk
Fix rustdoc run failures by shutting down definitely some lints

Fixes #51661.

cc @oli-obk @arielb1 @eddyb
2018-07-09 18:50:37 +00:00
Guillaume Gomez
66beb4e5b4 add comment about lints whitelisting 2018-07-09 18:10:08 +02:00
gnzlbg
3b36ce64a5 revert travis-ci changes 2018-07-09 17:25:00 +02:00
bors
c6807bb1b2 Auto merge of #52159 - SimonSapin:alloc-prelude, r=alexcrichton
Add the `alloc::prelude` module

It contains the re-exports that are in `std::prelude::v1` but not in `core::prelude::v1`.

Calling it prelude is somewhat of a misnomer since (unlike those modules in `std` or `core`) its contents are never implicitly imported in modules. Rather it is intended to be used with an explicit glob import like `use alloc::prelude::*;`. However there is precedent for the same misnomer with `std::io::prelude`, for example.

This new module is unstable with the same feature name as the `alloc` care. They are proposed for stabilization together in RFC https://github.com/rust-lang/rfcs/pull/2480.
2018-07-09 14:29:59 +00:00
ljedrz
6b6a7a4691 Warn windows-gnu users that the bundled gcc can't compile 2018-07-09 15:28:12 +02:00
Clément RENAULT
c8f0e6f210
Fix the documentation of Option::replace 2018-07-09 14:52:32 +02:00
Clément RENAULT
af87a3594a
Add a basic test to Option::replace 2018-07-09 14:50:54 +02:00
gnzlbg
fe75f617c3 run asmjs and emscripten builds on CI (temporary) 2018-07-09 11:35:53 +02:00
gnzlbg
23dfb42ab3 still support LLVM4 for emscripten 2018-07-09 11:35:53 +02:00
gnzlbg
52d7740277 bump llvm version of failing codegen test 2018-07-09 11:35:53 +02:00
gnzlbg
4ff90c7e0a bump minimum LLVM version to 5.0 2018-07-09 11:35:52 +02:00
bors
c30acc7187 Auto merge of #52160 - euclio:include-macros, r=oli-obk
add regression test for #48835

Fixes #48835.

The underlying issue was fixed in #51978.
2018-07-09 08:41:43 +00:00
Oliver Schneider
7a8e085835 Also distribute cargo clippy 2018-07-09 10:15:30 +02:00
Oliver Schneider
68620b14a2 Inject clippy into the rls again
Also makes sure we actually point to the local rls
2018-07-09 10:10:42 +02:00
Ben Harris
aac0d914b2 Correct some codegen stats counters 2018-07-09 09:40:16 +02:00
bors
ec039c7cb1 Auto merge of #52066 - benjaminp:obligation-select, r=Mark-Simulacrum
Remove obsolete documentation from FufillmentContext::select comment.

The `only_new_obligations` parameter has not existed since 43756934d2.
2018-07-09 06:38:47 +00:00
bors
a80a610a4c Auto merge of #52166 - orlp:master, r=joshtriplett
Performance improvement of Vec's swap_remove.

The old implementation *literally* swapped and then removed, which resulted in unnecessary move instructions. The new implementation does use unsafe code, but is easy to see that it is correct.

Fixes https://github.com/rust-lang/rust/issues/52150.
2018-07-09 04:42:27 +00:00
Orson Peters
e529dfd590 Removed a single trailing space. Oops. 2018-07-09 06:31:24 +02:00
Niko Matsakis
a6adb1ebff find and highlight the & or '_ in region_name 2018-07-09 00:20:36 -04:00
Orson Peters
6faa295cec Reimplemented Vec's swap_remove to not rely on pop. 2018-07-09 06:13:58 +02:00
Orson Peters
295768ae8f Performance improvement of Vec's swap_remove. 2018-07-09 05:01:39 +02:00
Andy Russell
1be1d90662
add regression test for #48835
Fixes #48835.

The underlying issue was fixed in #51978.
2018-07-08 16:45:01 -04:00
jD91mZM2
0b56e7f1a9
Delete leftover files 2018-07-08 20:48:11 +02:00
bors
960f6046c6 Auto merge of #52152 - fabric-and-ink:edit-file-open-example, r=frewsxcv
Edit code example for File::open

It looked kinda strange and is now aligned with the other examples for `File`.
2018-07-08 16:08:54 +00:00
Kevin Zajler
2c2add6e02 Update std::ascii::ASCIIExt deprecation notes 2018-07-08 18:07:17 +02:00
Vadim Petrochenkov
fc74e35981 Remove fallback to parent modules from lexical resolution 2018-07-08 18:16:09 +03:00
bors
0e6b713dd5 Auto merge of #52106 - PramodBisht:issue/52049, r=oli-obk
Don't suggest `let` bindings if they don't help with borrows

@oli-obk I have added a condition to address #52049, right now, this is on WIP because I think code change is also required on `error_reporting.rs`. Plus I need to check if any test cases fail.
I will ping you again if everything passes

r? @oli-obk
2018-07-08 14:08:36 +00:00
Fabian Drinck
f580b983b1 Edit code example for File::open 2018-07-08 16:07:09 +02:00
Vadim Petrochenkov
94ef9f57f5 hygiene: Decouple transparencies from expansion IDs 2018-07-08 16:17:37 +03:00
Vadim Petrochenkov
01b6d7cc6f libsyntax_pos: Tweak some visibilities 2018-07-08 16:17:36 +03:00
Guillaume Gomez
26615b8f20 Fix some links 2018-07-08 15:07:17 +02:00
Guillaume Gomez
c0ec5d5e44 Add setting to prevent doc auto-hide of trait implementations 2018-07-08 15:07:06 +02:00
willmo
e769deca99
Add #[repr(transparent)] to Atomic* types
This allows them to be used in #[repr(C)] structs without warnings. Since rust-lang/rfcs#1649 and rust-lang/rust#35603 they are already documented to have "the same in-memory representation as" their corresponding primitive types. This just makes that explicit.
2018-07-07 20:09:34 -07:00
bors
0c0315cfd9 Auto merge of #51955 - zackmdavis:item_semi, r=oli-obk
clarify why we're suggesting removing semicolon after braced items

Previously (issue #46186, pull-request #46258), a suggestion was added
to remove the semicolon after we fail to parse an item, but issue #51603
complains that it's still insufficiently obvious why. Let's add a note.

Resolves #51603.
2018-07-08 02:51:54 +00:00
bors
9342f293e9 Auto merge of #51590 - bjorn3:codegen_llvm_extract, r=alexcrichton
Mostly fix metadata_only backend and extract some code out of rustc_codegen_llvm

Removes dependency on the `ar` crate and removes the `llvm.enabled` config option in favour of setting `rust.codegen-backends` to `[]`.
2018-07-08 00:52:36 +00:00
Simon Sapin
5b795cf57e Reformat std prelude source to show it is the sum of core and alloc preludes 2018-07-07 23:16:27 +02:00
Simon Sapin
b842177cfa Add the alloc::prelude module
It contains the re-exports that are in `std::prelude::v1`
but not in `core::prelude::v1`.

Calling it prelude is somewhat of a misnomer since (unlike those modules
in `std` or `core`) its contents are never implicitly imported in modules.
Rather it is intended to be used with an explicit glob import like
`use alloc::prelude::*;`.
However there is precedent for the same misnomer with `std::io::prelude`,
for example.

This new module is unstable with the same feature name as the `alloc` care.
They are proposed for stabilization together in RFC
https://github.com/rust-lang/rfcs/pull/2480
2018-07-07 23:08:43 +02:00
bors
9fd3d7899a Auto merge of #52132 - Mark-Simulacrum:rollup, r=Mark-Simulacrum
Rollup of 3 pull requests

Successful merges:

 - #52087 (Update musl to 1.1.19 and add patch to fix tls issue)
 - #52107 (removed redundant header file import in rustllvm.h)
 - #52131 (Ship clippy in manifests)

Failed merges:

r? @ghost
2018-07-07 16:21:28 +00:00
Mark Rousskov
cea56a109d
Rollup merge of #52131 - Mark-Simulacrum:ship-clippy, r=kennytm
Ship clippy in manifests

cc @Manishearth
r? @kennytm
2018-07-07 08:27:02 -06:00
Mark Rousskov
f532daa2e5
Rollup merge of #52107 - PramodBisht:feature/52105, r=rkruppe
removed redundant header file import in rustllvm.h

fix #52105
removed redundant header file import in rustllvm.h
cc @wqweto
2018-07-07 08:27:01 -06:00
Mark Rousskov
6cc38a599a
Rollup merge of #52087 - malbarbo:musl-1.1.19, r=alexcrichton
Update musl to 1.1.19 and add patch to fix tls issue

This fixes https://github.com/rust-lang/rust/issues/48967
2018-07-07 08:27:00 -06:00