Skip to content

Commit e537173

Browse files
committed
---
yaml --- r: 272766 b: refs/heads/beta c: 493d999 h: refs/heads/master
1 parent ac068e7 commit e537173

File tree

230 files changed

+1855
-1941
lines changed

Some content is hidden

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

230 files changed

+1855
-1941
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ refs/tags/0.9: 36870b185fc5f5486636d4515f0e22677493f225
2323
refs/tags/0.10: ac33f2b15782272ae348dbd7b14b8257b2148b5a
2424
refs/tags/0.11.0: e1247cb1d0d681be034adb4b558b5a0c0d5720f9
2525
refs/tags/0.12.0: f0c419429ef30723ceaf6b42f9b5a2aeb5d2e2d1
26-
refs/heads/beta: fc4d0ecf20103e6f394e8771d11373e15ce70501
26+
refs/heads/beta: 493d999ffa44be6610441dabab80e18dda90015a
2727
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
2828
refs/heads/tmp: e06d2ad9fcd5027bcaac5b08fc9aa39a49d0ecd3
2929
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f

branches/beta/RELEASES.md

Lines changed: 77 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,65 @@
11
Version 1.7.0 (2016-03-03)
22
==========================
33

4-
Language
5-
--------
6-
7-
* Soundness fixes to the interactions between associated types and
8-
lifetimes, specified in [RFC 1214], [now generate errors][1.7sf] for
9-
code that violates the new rules. This is a significant change that
10-
is known to break existing code, so it has emitted warnings for the
11-
new error cases since 1.4 to give crate authors time to adapt. The
12-
details of what is changing are subtle; read the RFC for more.
13-
144
Libraries
155
---------
166

17-
* Stabilized APIs:
18-
[`Path::strip_prefix`][] (renamed from relative_from),
19-
[`path::StripPrefixError`][] (new error type returned from strip_prefix),
20-
[`Ipv4Addr::is_loopback`],
21-
[`Ipv4Addr::is_private`],
22-
[`Ipv4Addr::is_link_local`],
23-
[`Ipv4Addr::is_multicast`],
24-
[`Ipv4Addr::is_broadcast`],
25-
[`Ipv4Addr::is_documentation`],
26-
[`Ipv6Addr::is_unspecified`],
27-
[`Ipv6Addr::is_loopback`],
28-
[`Ipv6Addr::is_multicast`],
29-
[`Vec::as_slice`],
30-
[`Vec::as_mut_slice`],
31-
[`String::as_str`],
32-
[`String::as_mut_str`],
33-
`<[T]>::`[`clone_from_slice`], which now requires the two slices to
34-
be the same length
35-
`<[T]>::`[`sort_by_key`],
36-
[`i32::checked_rem`],
37-
[`i32::checked_neg`],
38-
[`i32::checked_shl`],
39-
[`i32::checked_shr`],
40-
[`i32::saturating_mul`],
41-
[`i32::overflowing_add`],
42-
[`i32::overflowing_sub`],
43-
[`i32::overflowing_mul`],
44-
[`i32::overflowing_div`],
45-
[`i32::overflowing_rem`],
46-
[`i32::overflowing_neg`],
47-
[`i32::overflowing_shl`],
48-
[`i32::overflowing_shr`],
49-
[`u32::checked_rem`],
50-
[`u32::checked_neg`],
51-
[`u32::checked_shl`],
52-
[`u32::checked_shl`],
53-
[`u32::saturating_mul`],
54-
[`u32::overflowing_add`],
55-
[`u32::overflowing_sub`],
56-
[`u32::overflowing_mul`],
57-
[`u32::overflowing_div`],
58-
[`u32::overflowing_rem`],
59-
[`u32::overflowing_neg`],
60-
[`u32::overflowing_shl`],
61-
[`u32::overflowing_shr`],
62-
checked, saturated, and overflowing operations for other primitive types,
63-
[`ffi::IntoStringError`],
64-
[`CString::into_string`],
65-
[`CString::into_bytes`],
66-
[`CString::into_bytes_with_nul`],
67-
`From<CString> for Vec<u8>`,
68-
[`IntoStringError::into_cstring`],
69-
[`IntoStringError::utf8_error`],
70-
`Error for IntoStringError`.
7+
* Stabilized APIs
8+
* `Path`
9+
* [`Path::strip_prefix`][] (renamed from relative_from)
10+
* [`path::StripPrefixError`][] (new error type returned from strip_prefix)
11+
* `Ipv4Addr`
12+
* [`Ipv4Addr::is_loopback`]
13+
* [`Ipv4Addr::is_private`]
14+
* [`Ipv4Addr::is_link_local`]
15+
* [`Ipv4Addr::is_multicast`]
16+
* [`Ipv4Addr::is_broadcast`]
17+
* [`Ipv4Addr::is_documentation`]
18+
* `Ipv6Addr`
19+
* [`Ipv6Addr::is_unspecified`]
20+
* [`Ipv6Addr::is_loopback`]
21+
* [`Ipv6Addr::is_multicast`]
22+
* `Vec`
23+
* [`Vec::as_slice`]
24+
* [`Vec::as_mut_slice`]
25+
* `String`
26+
* [`String::as_str`]
27+
* [`String::as_mut_str`]
28+
* Slices
29+
* `<[T]>::`[`clone_from_slice`], which now requires the two slices to
30+
be the same length
31+
* `<[T]>::`[`sort_by_key`]
32+
* checked, saturated, and overflowing operations
33+
* [`i32::checked_rem`], [`i32::checked_neg`], [`i32::checked_shl`], [`i32::checked_shr`]
34+
* [`i32::saturating_mul`]
35+
* [`i32::overflowing_add`], [`i32::overflowing_sub`], [`i32::overflowing_mul`], [`i32::overflowing_div`]
36+
* [`i32::overflowing_rem`], [`i32::overflowing_neg`], [`i32::overflowing_shl`], [`i32::overflowing_shr`]
37+
* [`u32::checked_rem`], [`u32::checked_neg`], [`u32::checked_shl`], [`u32::checked_shl`]
38+
* [`u32::saturating_mul`]
39+
* [`u32::overflowing_add`], [`u32::overflowing_sub`], [`u32::overflowing_mul`], [`u32::overflowing_div`]
40+
* [`u32::overflowing_rem`], [`u32::overflowing_neg`], [`u32::overflowing_shl`], [`u32::overflowing_shr`]
41+
* and checked, saturated, and overflowing operations for other primitive types
42+
* FFI
43+
* [`ffi::IntoStringError`]
44+
* [`CString::into_string`]
45+
* [`CString::into_bytes`]
46+
* [`CString::into_bytes_with_nul`]
47+
* `From<CString> for Vec<u8>`
48+
* `IntoStringError`
49+
* [`IntoStringError::into_cstring`]
50+
* [`IntoStringError::utf8_error`]
51+
* `Error for IntoStringError`
52+
* Hashing
53+
* [`std::hash::BuildHasher`]
54+
* [`BuildHasher::Hasher`]
55+
* [`BuildHasher::build_hasher`]
56+
* [`std::hash::BuildHasherDefault`]
57+
* [`HashMap::with_hasher`]
58+
* [`HashMap::with_capacity_and_hasher`]
59+
* [`HashSet::with_hasher`]
60+
* [`HashSet::with_capacity_and_hasher`]
61+
* [`std::collections::hash_map::RandomState`]
62+
* [`RandomState::new`]
7163
* [Validating UTF-8 is faster by a factor of between 7 and 14x for
7264
ASCII input][1.7utf8]. This means that creating `String`s and `str`s
7365
from bytes is faster.
@@ -76,7 +68,7 @@ Libraries
7668
* [`f32::to_degrees` and `f32::to_radians` are stable][1.7f]. The
7769
`f64` variants were stabilized previously.
7870
* [`BTreeMap` was rewritten to use less memory and improve the performance
79-
of insertion and iteration, the latter by as much as 5x`][1.7bm].
71+
of insertion and iteration, the latter by as much as 5x][1.7bm].
8072
* [`BTreeSet` and its iterators, `Iter`, `IntoIter`, and `Range` are
8173
covariant over their contained type][1.7bt].
8274
* [`LinkedList` and its iterators, `Iter` and `IntoIter` are covariant
@@ -89,9 +81,6 @@ Libraries
8981
Misc
9082
----
9183

92-
* [The `--error-format=json` flag to `rustc` causes it to emit errors
93-
in JSON format][1.7j]. This is an unstable flag and so also requires
94-
the `-Z unstable-options` flag.
9584
* [When running tests with `--test`, rustdoc will pass `--cfg`
9685
arguments to the compiler][1.7dt].
9786
* [The compiler is built with RPATH information by default][1.7rpa].
@@ -113,6 +102,12 @@ Cargo
113102
Compatibility Notes
114103
-------------------
115104

105+
* Soundness fixes to the interactions between associated types and
106+
lifetimes, specified in [RFC 1214], [now generate errors][1.7sf] for
107+
code that violates the new rules. This is a significant change that
108+
is known to break existing code, so it has emitted warnings for the
109+
new error cases since 1.4 to give crate authors time to adapt. The
110+
details of what is changing are subtle; read the RFC for more.
116111
* [Several bugs in the compiler's visibility calculations were
117112
fixed][1.7v]. Since this was found to break significant amounts of
118113
code, the new errors will be emitted as warnings for several release
@@ -135,7 +130,6 @@ Compatibility Notes
135130
[1.7dta]: https://github.com/rust-lang/rust/pull/30394
136131
[1.7f]: https://github.com/rust-lang/rust/pull/30672
137132
[1.7h]: https://github.com/rust-lang/rust/pull/30818
138-
[1.7j]: https://github.com/rust-lang/rust/pull/30711
139133
[1.7ll]: https://github.com/rust-lang/rust/pull/30663
140134
[1.7m]: https://github.com/rust-lang/rust/pull/30381
141135
[1.7p]: https://github.com/rust-lang/rust/pull/30681
@@ -146,11 +140,15 @@ Compatibility Notes
146140
[1.7utf8]: https://github.com/rust-lang/rust/pull/30740
147141
[1.7v]: https://github.com/rust-lang/rust/pull/29973
148142
[RFC 1214]: https://github.com/rust-lang/rfcs/blob/master/text/1214-projections-lifetimes-and-wf.md
149-
[`clone_from_slice`]: http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.clone_from_slice
150-
[`sort_by_key`]: http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_by_key
143+
[`BuildHasher::Hasher`]: http://doc.rust-lang.org/nightly/std/hash/trait.Hasher.html
144+
[`BuildHasher::build_hasher`]: http://doc.rust-lang.org/nightly/std/hash/trait.BuildHasher.html#tymethod.build_hasher
151145
[`CString::into_bytes_with_nul`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes_with_nul
152146
[`CString::into_bytes`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_bytes
153147
[`CString::into_string`]: http://doc.rust-lang.org/nightly/std/ffi/struct.CString.html#method.into_string
148+
[`HashMap::with_capacity_and_hasher`]: http://doc.rust-lang.org/nightly/std/collections/struct.HashMap.html#method.with_capacity_and_hasher
149+
[`HashMap::with_hasher`]: http://doc.rust-lang.org/nightly/std/collections/struct.HashMap.html#method.with_hasher
150+
[`HashSet::with_capacity_and_hasher`]: http://doc.rust-lang.org/nightly/std/collections/struct.HashSet.html#method.with_capacity_and_hasher
151+
[`HashSet::with_hasher`]: http://doc.rust-lang.org/nightly/std/collections/struct.HashSet.html#method.with_hasher
154152
[`IntoStringError::into_cstring`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.into_cstring
155153
[`IntoStringError::utf8_error`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html#method.utf8_error
156154
[`Ipv4Addr::is_broadcast`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv4Addr.html#method.is_broadcast
@@ -163,10 +161,12 @@ Compatibility Notes
163161
[`Ipv6Addr::is_multicast`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_multicast
164162
[`Ipv6Addr::is_unspecified`]: http://doc.rust-lang.org/nightly/std/net/struct.Ipv6Addr.html#method.is_unspecified
165163
[`Path::strip_prefix`]: http://doc.rust-lang.org/nightly/std/path/struct.Path.html#method.strip_prefix
164+
[`RandomState::new`]: http://doc.rust-lang.org/nightly/std/collections/hash_map/struct.RandomState.html#method.new
166165
[`String::as_mut_str`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_mut_str
167166
[`String::as_str`]: http://doc.rust-lang.org/nightly/std/string/struct.String.html#method.as_str
168167
[`Vec::as_mut_slice`]: http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_mut_slice
169168
[`Vec::as_slice`]: http://doc.rust-lang.org/nightly/std/vec/struct.Vec.html#method.as_slice
169+
[`clone_from_slice`]: http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.clone_from_slice
170170
[`ffi::IntoStringError`]: http://doc.rust-lang.org/nightly/std/ffi/struct.IntoStringError.html
171171
[`i32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_neg
172172
[`i32::checked_rem`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.checked_rem
@@ -182,7 +182,13 @@ Compatibility Notes
182182
[`i32::overflowing_sub`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.overflowing_sub
183183
[`i32::saturating_mul`]: http://doc.rust-lang.org/nightly/std/primitive.i32.html#method.saturating_mul
184184
[`path::StripPrefixError`]: http://doc.rust-lang.org/nightly/std/path/struct.StripPrefixError.html
185+
[`sort_by_key`]: http://doc.rust-lang.org/nightly/std/primitive.slice.html#method.sort_by_key
186+
[`std::collections::hash_map::RandomState`]: http://doc.rust-lang.org/nightly/std/collections/hash_map/struct.RandomState.html
187+
[`std::hash::BuildHasherDefault`]: http://doc.rust-lang.org/nightly/std/hash/struct.BuildHasherDefault.html
188+
[`std::hash::BuildHasher`]: http://doc.rust-lang.org/nightly/std/hash/trait.BuildHasher.html
189+
[`u32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
185190
[`u32::checked_rem`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_rem
191+
[`u32::checked_neg`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_neg
186192
[`u32::checked_shl`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.checked_shl
187193
[`u32::overflowing_add`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_add
188194
[`u32::overflowing_div`]: http://doc.rust-lang.org/nightly/std/primitive.u32.html#method.overflowing_div

branches/beta/mk/main.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
######################################################################
1414

1515
# The version number
16-
CFG_RELEASE_NUM=1.8.0
16+
CFG_RELEASE_NUM=1.9.0
1717

1818
# An optional number to put after the label, e.g. '.2' -> '-beta.2'
1919
# NB Make sure it starts with a dot to conform to semver pre-release

branches/beta/src/doc/book/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* [Comments](comments.md)
1010
* [if](if.md)
1111
* [Loops](loops.md)
12+
* [Vectors](vectors.md)
1213
* [Ownership](ownership.md)
1314
* [References and Borrowing](references-and-borrowing.md)
1415
* [Lifetimes](lifetimes.md)
@@ -18,7 +19,6 @@
1819
* [Match](match.md)
1920
* [Patterns](patterns.md)
2021
* [Method Syntax](method-syntax.md)
21-
* [Vectors](vectors.md)
2222
* [Strings](strings.md)
2323
* [Generics](generics.md)
2424
* [Traits](traits.md)

branches/beta/src/doc/book/references-and-borrowing.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,10 @@ fn main() {
211211
```
212212

213213
In other words, the mutable borrow is held through the rest of our example. What
214-
we want is for the mutable borrow to end _before_ we try to call `println!` and
215-
make an immutable borrow. In Rust, borrowing is tied to the scope that the
216-
borrow is valid for. And our scopes look like this:
214+
we want is for the mutable borrow by `y` to end so that the resource can be
215+
returned to the owner, `x`. `x` can then provide a mutable borrow to `println!`.
216+
In Rust, borrowing is tied to the scope that the borrow is valid for. And our
217+
scopes look like this:
217218

218219
```rust,ignore
219220
let mut x = 5;
@@ -378,4 +379,3 @@ statement 1 at 3:14
378379

379380
In the above example, `y` is declared before `x`, meaning that `y` lives longer
380381
than `x`, which is not allowed.
381-

branches/beta/src/doc/book/unsafe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Rust’s main draw is its powerful static guarantees about behavior. But safety
44
checks are conservative by nature: there are some programs that are actually
55
safe, but the compiler is not able to verify this is true. To write these kinds
66
of programs, we need to tell the compiler to relax its restrictions a bit. For
7-
this, Rust has a keyword, `unsafe`. Code using `unsafe` has less restrictions
7+
this, Rust has a keyword, `unsafe`. Code using `unsafe` has fewer restrictions
88
than normal code does.
99

1010
Let’s go over the syntax, and then we’ll talk semantics. `unsafe` is used in

branches/beta/src/libcollections/vec.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ use borrow::ToOwned;
6666
use core::cmp::Ordering;
6767
use core::fmt;
6868
use core::hash::{self, Hash};
69-
use core::intrinsics::{arith_offset, assume, needs_drop};
69+
use core::intrinsics::{arith_offset, assume};
7070
use core::iter::FromIterator;
7171
use core::mem;
7272
use core::ops::{Index, IndexMut};
@@ -497,10 +497,11 @@ impl<T> Vec<T> {
497497
unsafe {
498498
// drop any extra elements
499499
while len < self.len {
500-
// decrement len before the read(), so a panic on Drop doesn't
501-
// re-drop the just-failed value.
500+
// decrement len before the drop_in_place(), so a panic on Drop
501+
// doesn't re-drop the just-failed value.
502502
self.len -= 1;
503-
ptr::read(self.get_unchecked(self.len));
503+
let len = self.len;
504+
ptr::drop_in_place(self.get_unchecked_mut(len));
504505
}
505506
}
506507
}
@@ -1471,13 +1472,8 @@ impl<T> Drop for Vec<T> {
14711472
fn drop(&mut self) {
14721473
if self.buf.unsafe_no_drop_flag_needs_drop() {
14731474
unsafe {
1474-
// The branch on needs_drop() is an -O1 performance optimization.
1475-
// Without the branch, dropping Vec<u8> takes linear time.
1476-
if needs_drop::<T>() {
1477-
for x in self.iter_mut() {
1478-
ptr::drop_in_place(x);
1479-
}
1480-
}
1475+
// use drop for [T]
1476+
ptr::drop_in_place(&mut self[..]);
14811477
}
14821478
}
14831479
// RawVec handles deallocation

branches/beta/src/libcollections/vec_deque.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,12 @@ impl<T: Clone> Clone for VecDeque<T> {
7070
impl<T> Drop for VecDeque<T> {
7171
#[unsafe_destructor_blind_to_params]
7272
fn drop(&mut self) {
73-
self.clear();
73+
let (front, back) = self.as_mut_slices();
74+
unsafe {
75+
// use drop for [T]
76+
ptr::drop_in_place(front);
77+
ptr::drop_in_place(back);
78+
}
7479
// RawVec handles deallocation
7580
}
7681
}

branches/beta/src/libcollectionstest/str.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,6 +1508,19 @@ generate_iterator_test! {
15081508
with str::rsplitn;
15091509
}
15101510

1511+
#[test]
1512+
fn different_str_pattern_forwarding_lifetimes() {
1513+
use std::str::pattern::Pattern;
1514+
1515+
fn foo<'a, P>(p: P) where for<'b> &'b P: Pattern<'a> {
1516+
for _ in 0..3 {
1517+
"asdf".find(&p);
1518+
}
1519+
}
1520+
1521+
foo::<&str>("x");
1522+
}
1523+
15111524
mod bench {
15121525
use test::{Bencher, black_box};
15131526

branches/beta/src/libcore/array.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
//! up to a certain length. Eventually we should able to generalize
1313
//! to all lengths.
1414
//!
15-
//! *[See also the array primitive type](../primitive.array.html).*
15+
//! *[See also the array primitive type](../../std/primitive.array.html).*
1616
1717
#![unstable(feature = "fixed_size_array",
1818
reason = "traits and impls are better expressed through generic \

branches/beta/src/libcore/cell.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,9 @@ impl<T:Copy> Cell<T> {
241241
#[stable(feature = "rust1", since = "1.0.0")]
242242
unsafe impl<T> Send for Cell<T> where T: Send {}
243243

244+
#[stable(feature = "rust1", since = "1.0.0")]
245+
impl<T> !Sync for Cell<T> {}
246+
244247
#[stable(feature = "rust1", since = "1.0.0")]
245248
impl<T:Copy> Clone for Cell<T> {
246249
#[inline]
@@ -461,6 +464,9 @@ impl<T: ?Sized> RefCell<T> {
461464
#[stable(feature = "rust1", since = "1.0.0")]
462465
unsafe impl<T: ?Sized> Send for RefCell<T> where T: Send {}
463466

467+
#[stable(feature = "rust1", since = "1.0.0")]
468+
impl<T: ?Sized> !Sync for RefCell<T> {}
469+
464470
#[stable(feature = "rust1", since = "1.0.0")]
465471
impl<T: Clone> Clone for RefCell<T> {
466472
#[inline]

branches/beta/src/libcore/num/i16.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 16-bit signed integer type.
1212
//!
13-
//! *[See also the `i16` primitive type](../primitive.i16.html).*
13+
//! *[See also the `i16` primitive type](../../std/primitive.i16.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

branches/beta/src/libcore/num/i32.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
//! The 32-bit signed integer type.
1212
//!
13-
//! *[See also the `i32` primitive type](../primitive.i32.html).*
13+
//! *[See also the `i32` primitive type](../../std/primitive.i32.html).*
1414
1515
#![stable(feature = "rust1", since = "1.0.0")]
1616

0 commit comments

Comments
 (0)