Skip to content

Commit 901d783

Browse files
committed
---
yaml --- r: 149435 b: refs/heads/try2 c: 66f9329 h: refs/heads/master i: 149433: 1f9ccf7 149431: a7acf9f v: v3
1 parent 27aed21 commit 901d783

Some content is hidden

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

59 files changed

+878
-1446
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: d2f73abf10ff72270f36d73e91851511fd1e0580
8+
refs/heads/try2: 66f93291ec62682b48ef2411295843a04cbfd8e5
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/AUTHORS.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Adrien Tétar <[email protected]>
77
Alan Andrade <[email protected]>
88
Aleksander Balicki <[email protected]>
99
Alex Crichton <[email protected]>
10+
Alex Lyon <[email protected]>
1011
Alex Rønne Petersen <[email protected]>
1112
Alexander Stavonin <[email protected]>
1213
Alexandros Tasos <[email protected]>

branches/try2/mk/crates.mk

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,21 @@
5050
################################################################################
5151

5252
TARGET_CRATES := std extra green rustuv native flate arena glob term semver \
53-
uuid serialize sync getopts collections num test
53+
uuid serialize sync getopts collections num test time
5454
HOST_CRATES := syntax rustc rustdoc fourcc
5555
CRATES := $(TARGET_CRATES) $(HOST_CRATES)
5656
TOOLS := compiletest rustdoc rustc
5757

5858
DEPS_std := native:rustrt native:compiler-rt
59-
DEPS_extra := std term sync serialize getopts collections
59+
DEPS_extra := std term sync serialize getopts collections time
6060
DEPS_green := std native:context_switch
6161
DEPS_rustuv := std native:uv native:uv_support
6262
DEPS_native := std
6363
DEPS_syntax := std term serialize collections
6464
DEPS_rustc := syntax native:rustllvm flate arena serialize sync getopts \
65-
collections extra
65+
collections time extra
6666
DEPS_rustdoc := rustc native:sundown serialize sync getopts collections \
67-
test
67+
test time
6868
DEPS_flate := std native:miniz
6969
DEPS_arena := std collections
7070
DEPS_glob := std
@@ -78,6 +78,7 @@ DEPS_collections := std serialize
7878
DEPS_fourcc := syntax std
7979
DEPS_num := std extra
8080
DEPS_test := std extra collections getopts serialize term
81+
DEPS_time := std serialize
8182

8283
TOOL_DEPS_compiletest := test green rustuv getopts
8384
TOOL_DEPS_rustdoc := rustdoc green rustuv

branches/try2/src/doc/complement-cheatsheet.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,13 @@ let y: int = x.unwrap();
2222

2323
**Int to string, in non-base-10**
2424

25-
Use the `format!` syntax extension.
25+
Use [`ToStrRadix`](http://static.rust-lang.org/doc/master/std/num/trait.ToStrRadix.html).
2626

2727
~~~
28+
use std::num::ToStrRadix;
29+
2830
let x: int = 42;
29-
let y: ~str = format!("{:t}", x); // binary
30-
let y: ~str = format!("{:o}", x); // octal
31-
let y: ~str = format!("{:x}", x); // lowercase hexadecimal
32-
let y: ~str = format!("{:X}", x); // uppercase hexidecimal
31+
let y: ~str = x.to_str_radix(16);
3332
~~~
3433

3534
**String to int, in non-base-10**

branches/try2/src/doc/rust.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -752,35 +752,35 @@ mod task {
752752
#### View items
753753

754754
~~~~ {.ebnf .gram}
755-
view_item : extern_crate_decl | use_decl ;
755+
view_item : extern_mod_decl | use_decl ;
756756
~~~~
757757

758758
A view item manages the namespace of a module.
759759
View items do not define new items, but rather, simply change other items' visibility.
760760
There are several kinds of view item:
761761

762-
* [`extern crate` declarations](#extern-crate-declarations)
762+
* [`extern crate` declarations](#extern-mod-declarations)
763763
* [`use` declarations](#use-declarations)
764764

765-
##### Extern crate declarations
765+
##### Extern mod declarations
766766

767767
~~~~ {.ebnf .gram}
768-
extern_crate_decl : "extern" "crate" ident [ '(' link_attrs ')' ] ? [ '=' string_lit ] ? ;
768+
extern_mod_decl : "extern" "mod" ident [ '(' link_attrs ')' ] ? [ '=' string_lit ] ? ;
769769
link_attrs : link_attr [ ',' link_attrs ] + ;
770770
link_attr : ident '=' literal ;
771771
~~~~
772772

773773
An _`extern crate` declaration_ specifies a dependency on an external crate.
774-
The external crate is then bound into the declaring scope as the `ident` provided
775-
in the `extern_crate_decl`.
774+
The external crate is then bound into the declaring scope
775+
as the `ident` provided in the `extern_mod_decl`.
776776

777777
The external crate is resolved to a specific `soname` at compile time, and a
778778
runtime linkage requirement to that `soname` is passed to the linker for
779779
loading at runtime. The `soname` is resolved at compile time by scanning the
780780
compiler's library path and matching the optional `crateid` provided as a string literal
781781
against the `crateid` attributes that were declared on the external crate when
782782
it was compiled. If no `crateid` is provided, a default `name` attribute is
783-
assumed, equal to the `ident` given in the `extern_crate_decl`.
783+
assumed, equal to the `ident` given in the `extern_mod_decl`.
784784

785785
Four examples of `extern crate` declarations:
786786

@@ -813,7 +813,7 @@ module item. These declarations may appear at the top of [modules](#modules) and
813813

814814
*Note*: Unlike in many languages,
815815
`use` declarations in Rust do *not* declare linkage dependency with external crates.
816-
Rather, [`extern crate` declarations](#extern-crate-declarations) declare linkage dependencies.
816+
Rather, [`extern crate` declarations](#extern-mod-declarations) declare linkage dependencies.
817817

818818
Use declarations support a number of convenient shortcuts:
819819

@@ -875,14 +875,14 @@ An example of what will and will not work for `use` items:
875875

876876
~~~~
877877
# #[allow(unused_imports)];
878-
use foo::extra; // good: foo is at the root of the crate
878+
use foo::extra::json; // good: foo is at the root of the crate
879879
use foo::baz::foobaz; // good: foo is at the root of the crate
880880
881881
mod foo {
882882
extern crate extra;
883883
884-
use foo::extra::time; // good: foo is at crate root
885-
// use extra::*; // bad: extra is not at the crate root
884+
use foo::extra::json; // good: foo is at crate root
885+
// use extra::json::*; // bad: extra is not at the crate root
886886
use self::baz::foobaz; // good: self refers to module 'foo'
887887
use foo::bar::foobar; // good: foo is at crate root
888888

branches/try2/src/doc/tutorial.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,8 @@ reject the previous example if the arm with the wildcard pattern was
495495
omitted.
496496

497497
A powerful application of pattern matching is *destructuring*:
498-
matching in order to bind names to the contents of data types.
498+
matching in order to bind names to the contents of data
499+
types.
499500

500501
> ***Note:*** The following code makes use of tuples (`(f64, f64)`) which
501502
> are explained in section 5.3. For now you can think of tuples as a list of
@@ -2725,8 +2726,7 @@ pub mod barn {
27252726

27262727
In short, `mod foo;` is just syntactic sugar for `mod foo { /* content of <...>/foo.rs or <...>/foo/mod.rs */ }`.
27272728

2728-
This also means that having two or more identical `mod foo;` declarations
2729-
somewhere in your crate hierarchy is generally a bad idea,
2729+
This also means that having two or more identical `mod foo;` declarations somewhere in your crate hierarchy is generally a bad idea,
27302730
just like copy-and-paste-ing a module into multiple places is a bad idea.
27312731
Both will result in duplicate and mutually incompatible definitions.
27322732

@@ -3074,6 +3074,11 @@ fn main() {
30743074
It's a bit weird, but it's the result of shadowing rules that have been set that way because
30753075
they model most closely what people expect to shadow.
30763076

3077+
## Package ids
3078+
3079+
If you use `extern crate`, per default `rustc` will look for libraries in the library search path (which you can
3080+
extend with the `-L` switch).
3081+
30773082
## Crate metadata and settings
30783083

30793084
For every crate you can define a number of metadata items, such as link name, version or author.
@@ -3091,13 +3096,14 @@ Therefore, if you plan to compile your crate as a library, you should annotate i
30913096
// `lib.rs`
30923097
30933098
# #[crate_type = "lib"];
3099+
// Package ID
30943100
#[crate_id = "farm#2.5"];
30953101
30963102
// ...
30973103
# fn farm() {}
30983104
~~~~
30993105

3100-
You can also specify crate id information in a `extern crate` statement. For
3106+
You can also specify package ID information in a `extern crate` statement. For
31013107
example, these `extern crate` statements would both accept and select the
31023108
crate define above:
31033109

@@ -3155,7 +3161,7 @@ Now compile and run like this (adjust to your platform if necessary):
31553161
Notice that the library produced contains the version in the file name
31563162
as well as an inscrutable string of alphanumerics. As explained in the previous paragraph,
31573163
these are both part of Rust's library versioning scheme. The alphanumerics are
3158-
a hash representing the crates id.
3164+
a hash representing the crates package ID.
31593165

31603166
## The standard library and the prelude
31613167

@@ -3225,7 +3231,8 @@ library. You can link to a library such as `extra` with an `extern crate extra;
32253231
[extra library]: extra/index.html
32263232

32273233
Right now `extra` contains those definitions directly, but in the future it will likely just
3228-
re-export a bunch of 'officially blessed' crates that get managed with a package manager.
3234+
re-export a bunch of 'officially blessed' crates that get managed with a
3235+
package manager.
32293236

32303237
# What next?
32313238

branches/try2/src/etc/vim/syntax/rust.vim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator Cloneabl
8585
syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize
8686

8787
syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic
88-
syn keyword rustTrait Bitwise Bounded Fractional
88+
syn keyword rustTrait Bitwise Bounded Integer
8989
syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul CheckedDiv
9090
syn keyword rustTrait Orderable Signed Unsigned Round
9191
syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive

branches/try2/src/libextra/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ Rust extras are part of the standard Rust distribution.
3737
extern crate sync;
3838
extern crate serialize;
3939
extern crate collections;
40+
extern crate time;
4041

4142
// Utility modules
4243
pub mod c_vec;
4344
pub mod url;
4445
pub mod json;
4546
pub mod tempfile;
46-
pub mod time;
4747
pub mod workcache;
4848
pub mod stats;
4949

branches/try2/src/libnum/bigint.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ A `BigUint` is represented as an array of `BigDigit`s.
1616
A `BigInt` is a combination of `BigUint` and `Sign`.
1717
*/
1818

19-
use Integer;
20-
2119
use std::cmp;
2220
use std::cmp::{Eq, Ord, TotalEq, TotalOrd, Ordering, Less, Equal, Greater};
2321
use std::num::{Zero, One, ToStrRadix, FromStrRadix};
@@ -463,7 +461,7 @@ impl Integer for BigUint {
463461

464462
/// Returns `true` if the number can be divided by `other` without leaving a remainder
465463
#[inline]
466-
fn divides(&self, other: &BigUint) -> bool { (*self % *other).is_zero() }
464+
fn is_multiple_of(&self, other: &BigUint) -> bool { (*self % *other).is_zero() }
467465

468466
/// Returns `true` if the number is divisible by `2`
469467
#[inline]
@@ -1120,7 +1118,7 @@ impl Integer for BigInt {
11201118

11211119
/// Returns `true` if the number can be divided by `other` without leaving a remainder
11221120
#[inline]
1123-
fn divides(&self, other: &BigInt) -> bool { self.data.divides(&other.data) }
1121+
fn is_multiple_of(&self, other: &BigInt) -> bool { self.data.is_multiple_of(&other.data) }
11241122

11251123
/// Returns `true` if the number is divisible by `2`
11261124
#[inline]
@@ -1390,7 +1388,6 @@ impl BigInt {
13901388
13911389
#[cfg(test)]
13921390
mod biguint_tests {
1393-
use Integer;
13941391
use super::{BigDigit, BigUint, ToBigUint};
13951392
use super::{Plus, BigInt, RandBigInt, ToBigInt};
13961393
@@ -2048,7 +2045,6 @@ mod biguint_tests {
20482045

20492046
#[cfg(test)]
20502047
mod bigint_tests {
2051-
use Integer;
20522048
use super::{BigDigit, BigUint, ToBigUint};
20532049
use super::{Sign, Minus, Zero, Plus, BigInt, RandBigInt, ToBigInt};
20542050

0 commit comments

Comments
 (0)