Skip to content

Commit adbc9d5

Browse files
committed
---
yaml --- r: 231932 b: refs/heads/auto c: e8c398d h: refs/heads/master v: v3
1 parent b256c63 commit adbc9d5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+779
-2925
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
88
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
99
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1010
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
11-
refs/heads/auto: c8ded9a14f16a4b5ce3facc3bedfd957dbe433fe
11+
refs/heads/auto: e8c398d05c92d4cdd7b3528b892355e0c000131b
1212
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1313
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336
1414
refs/tags/0.2: 1754d02027f2924bed83b0160ee340c7f41d5ea1

branches/auto/configure

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -885,28 +885,6 @@ then
885885
CFG_DISABLE_JEMALLOC=1
886886
fi
887887

888-
# default gcc version under OpenBSD maybe too old, try using egcc, which is a
889-
# gcc version from ports
890-
if [ $CFG_OSTYPE = unknown-openbsd ]
891-
then
892-
if [ $("$CFG_GCC" --version 2>&1 | grep -c ' 4\.[0-6]') -ne 0 ]; then
893-
step_msg "older GCC found, try with egcc instead"
894-
895-
# probe again but using egcc
896-
probe CFG_GCC egcc
897-
898-
# and use egcc/eg++ for CC/CXX too if it was found
899-
# (but user setting has priority)
900-
if [ -n "$CFG_GCC" ]; then
901-
CC="${CC:-egcc}"
902-
CXX="${CXX:-eg++}"
903-
fi
904-
fi
905-
906-
step_msg "on OpenBSD, disabling jemalloc"
907-
CFG_DISABLE_JEMALLOC=1
908-
fi
909-
910888
# OS X 10.9, gcc is actually clang. This can cause some confusion in the build
911889
# system, so if we find that gcc is clang, we should just use clang directly.
912890
if [ $CFG_OSTYPE = apple-darwin -a -z "$CFG_ENABLE_CLANG" ]
@@ -978,7 +956,7 @@ then
978956
LLVM_VERSION=$($LLVM_CONFIG --version)
979957

980958
case $LLVM_VERSION in
981-
(3.[5-8]*)
959+
(3.[5-7]*)
982960
msg "found ok version of LLVM: $LLVM_VERSION"
983961
;;
984962
(*)
@@ -1052,7 +1030,7 @@ then
10521030
esac
10531031
else
10541032
case $CFG_CLANG_VERSION in
1055-
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7* | 3.8*)
1033+
(3.2* | 3.3* | 3.4* | 3.5* | 3.6* | 3.7*)
10561034
step_msg "found ok version of CLANG: $CFG_CLANG_VERSION"
10571035
;;
10581036
(*)

branches/auto/src/doc/nomicon/destructors.md

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,13 @@ this is totally fine.
2626
For instance, a custom implementation of `Box` might write `Drop` like this:
2727

2828
```rust
29-
#![feature(alloc, heap_api, core_intrinsics, unique)]
30-
31-
extern crate alloc;
29+
#![feature(heap_api, core_intrinsics, unique)]
3230

31+
use std::rt::heap;
3332
use std::ptr::Unique;
3433
use std::intrinsics::drop_in_place;
3534
use std::mem;
3635

37-
use alloc::heap;
38-
3936
struct Box<T>{ ptr: Unique<T> }
4037

4138
impl<T> Drop for Box<T> {
@@ -48,7 +45,6 @@ impl<T> Drop for Box<T> {
4845
}
4946
}
5047
}
51-
# fn main() {}
5248
```
5349

5450
and this works fine because when Rust goes to drop the `ptr` field it just sees
@@ -58,16 +54,13 @@ use-after-free the `ptr` because when drop exits, it becomes inacessible.
5854
However this wouldn't work:
5955

6056
```rust
61-
#![feature(alloc, heap_api, core_intrinsics, unique)]
62-
63-
extern crate alloc;
57+
#![feature(heap_api, core_intrinsics, unique)]
6458

59+
use std::rt::heap;
6560
use std::ptr::Unique;
6661
use std::intrinsics::drop_in_place;
6762
use std::mem;
6863

69-
use alloc::heap;
70-
7164
struct Box<T>{ ptr: Unique<T> }
7265

7366
impl<T> Drop for Box<T> {
@@ -94,7 +87,6 @@ impl<T> Drop for SuperBox<T> {
9487
}
9588
}
9689
}
97-
# fn main() {}
9890
```
9991

10092
After we deallocate the `box`'s ptr in SuperBox's destructor, Rust will
@@ -137,16 +129,13 @@ The classic safe solution to overriding recursive drop and allowing moving out
137129
of Self during `drop` is to use an Option:
138130

139131
```rust
140-
#![feature(alloc, heap_api, core_intrinsics, unique)]
141-
142-
extern crate alloc;
132+
#![feature(heap_api, core_intrinsics, unique)]
143133

134+
use std::rt::heap;
144135
use std::ptr::Unique;
145136
use std::intrinsics::drop_in_place;
146137
use std::mem;
147138

148-
use alloc::heap;
149-
150139
struct Box<T>{ ptr: Unique<T> }
151140

152141
impl<T> Drop for Box<T> {
@@ -176,7 +165,6 @@ impl<T> Drop for SuperBox<T> {
176165
}
177166
}
178167
}
179-
# fn main() {}
180168
```
181169

182170
However this has fairly odd semantics: you're saying that a field that *should*

branches/auto/src/doc/nomicon/vec-alloc.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This is perfectly fine because we already have `cap == 0` as our sentinel for no
99
allocation. We don't even need to handle it specially in almost any code because
1010
we usually need to check if `cap > len` or `len > 0` anyway. The traditional
1111
Rust value to put here is `0x01`. The standard library actually exposes this
12-
as `alloc::heap::EMPTY`. There are quite a few places where we'll
12+
as `std::rt::heap::EMPTY`. There are quite a few places where we'll
1313
want to use `heap::EMPTY` because there's no real allocation to talk about but
1414
`null` would make the compiler do bad things.
1515

@@ -20,12 +20,11 @@ the `heap` API anyway, so let's just get that dependency over with.
2020
So:
2121

2222
```rust,ignore
23-
#![feature(alloc, heap_api)]
23+
#![feature(heap_api)]
2424
25+
use std::rt::heap::EMPTY;
2526
use std::mem;
2627
27-
use alloc::heap::EMPTY;
28-
2928
impl<T> Vec<T> {
3029
fn new() -> Self {
3130
assert!(mem::size_of::<T>() != 0, "We're not ready to handle ZSTs");

branches/auto/src/doc/nomicon/vec-final.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@
22

33
```rust
44
#![feature(unique)]
5-
#![feature(alloc, heap_api)]
6-
7-
extern crate alloc;
5+
#![feature(heap_api)]
86

97
use std::ptr::{Unique, self};
8+
use std::rt::heap;
109
use std::mem;
1110
use std::ops::{Deref, DerefMut};
1211
use std::marker::PhantomData;
1312

14-
use alloc::heap;
13+
14+
15+
1516

1617
struct RawVec<T> {
1718
ptr: Unique<T>,

branches/auto/src/doc/reference.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1489,14 +1489,14 @@ impl Num for f64 {
14891489
let x: f64 = Num::from_i32(42);
14901490
```
14911491

1492-
Traits may inherit from other traits. Consider the following example:
1492+
Traits may inherit from other traits. For example, in
14931493

14941494
```
14951495
trait Shape { fn area(&self) -> f64; }
14961496
trait Circle : Shape { fn radius(&self) -> f64; }
14971497
```
14981498

1499-
The syntax `Circle : Shape` means that types that implement `Circle` must also
1499+
the syntax `Circle : Shape` means that types that implement `Circle` must also
15001500
have an implementation for `Shape`. Multiple supertraits are separated by `+`,
15011501
`trait Circle : Shape + PartialEq { }`. In an implementation of `Circle` for a
15021502
given type `T`, methods can refer to `Shape` methods, since the typechecker
@@ -2059,31 +2059,31 @@ arbitrarily complex configurations through nesting.
20592059

20602060
The following configurations must be defined by the implementation:
20612061

2062-
* `debug_assertions` - Enabled by default when compiling without optimizations.
2062+
* `debug_assertions`. Enabled by default when compiling without optimizations.
20632063
This can be used to enable extra debugging code in development but not in
20642064
production. For example, it controls the behavior of the standard library's
20652065
`debug_assert!` macro.
2066-
* `target_arch = "..."` - Target CPU architecture, such as `"x86"`, `"x86_64"`
2066+
* `target_arch = "..."`. Target CPU architecture, such as `"x86"`, `"x86_64"`
20672067
`"mips"`, `"powerpc"`, `"arm"`, or `"aarch64"`.
2068-
* `target_endian = "..."` - Endianness of the target CPU, either `"little"` or
2068+
* `target_endian = "..."`. Endianness of the target CPU, either `"little"` or
20692069
`"big"`.
2070-
* `target_env = ".."` - An option provided by the compiler by default
2070+
* `target_env = ".."` - an option provided by the compiler by default
20712071
describing the runtime environment of the target platform. Some examples of
20722072
this are `musl` for builds targeting the MUSL libc implementation, `msvc` for
20732073
Windows builds targeting MSVC, and `gnu` frequently the rest of the time. This
20742074
option may also be blank on some platforms.
2075-
* `target_family = "..."` - Operating system family of the target, e. g.
2075+
* `target_family = "..."`. Operating system family of the target, e. g.
20762076
`"unix"` or `"windows"`. The value of this configuration option is defined
20772077
as a configuration itself, like `unix` or `windows`.
2078-
* `target_os = "..."` - Operating system of the target, examples include
2078+
* `target_os = "..."`. Operating system of the target, examples include
20792079
`"windows"`, `"macos"`, `"ios"`, `"linux"`, `"android"`, `"freebsd"`, `"dragonfly"`,
20802080
`"bitrig"` , `"openbsd"` or `"netbsd"`.
2081-
* `target_pointer_width = "..."` - Target pointer width in bits. This is set
2081+
* `target_pointer_width = "..."`. Target pointer width in bits. This is set
20822082
to `"32"` for targets with 32-bit pointers, and likewise set to `"64"` for
20832083
64-bit pointers.
2084-
* `test` - Enabled when compiling the test harness (using the `--test` flag).
2085-
* `unix` - See `target_family`.
2086-
* `windows` - See `target_family`.
2084+
* `test`. Enabled when compiling the test harness (using the `--test` flag).
2085+
* `unix`. See `target_family`.
2086+
* `windows`. See `target_family`.
20872087

20882088
You can also set another attribute based on a `cfg` variable with `cfg_attr`:
20892089

@@ -2367,6 +2367,9 @@ The currently implemented features of the reference compiler are:
23672367
into a Rust program. This capability, especially the signature for the
23682368
annotated function, is subject to change.
23692369

2370+
* `struct_inherit` - Allows using struct inheritance, which is barely
2371+
implemented and will probably be removed. Don't use this.
2372+
23702373
* `struct_variant` - Structural enum variants (those with named fields). It is
23712374
currently unknown whether this style of enum variant is as
23722375
fully supported as the tuple-forms, and it's not certain

0 commit comments

Comments
 (0)