Skip to content

Commit bf9b72d

Browse files
committed
---
yaml --- r: 68568 b: refs/heads/auto c: e482856 h: refs/heads/master v: v3
1 parent 9656c84 commit bf9b72d

Some content is hidden

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

99 files changed

+789
-1119
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1414
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1515
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1616
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
17-
refs/heads/auto: 8aa26ad4547007996e1c3c0f1aa941ea8689b5a6
17+
refs/heads/auto: e482856d76fba8d31ee114d4fb74f8c18f63e73c
1818
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1919
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c

branches/auto/Makefile.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ endif
139139

140140
# version-string calculation
141141
CFG_GIT_DIR := $(CFG_SRC_DIR).git
142-
CFG_RELEASE = 0.7-pre
142+
CFG_RELEASE = 0.7
143143
CFG_VERSION = $(CFG_RELEASE)
144144
# windows exe's need numeric versions - don't use anything but
145145
# numbers and dots here

branches/auto/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ packages:
4242
Assuming you're on a relatively modern *nix system and have met the
4343
prerequisites, something along these lines should work.
4444

45-
$ curl -O http://static.rust-lang.org/dist/rust-0.6.tar.gz
46-
$ tar -xzf rust-0.6.tar.gz
47-
$ cd rust-0.6
45+
$ curl -O http://static.rust-lang.org/dist/rust-0.7.tar.gz
46+
$ tar -xzf rust-0.7.tar.gz
47+
$ cd rust-0.7
4848
$ ./configure
4949
$ make && make install
5050

@@ -59,8 +59,8 @@ When complete, `make install` will place several programs into
5959
API-documentation tool, and `rustpkg`, the Rust package manager and build system.
6060

6161
[wiki-start]: https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust
62-
[tarball]: http://static.rust-lang.org/dist/rust-0.6.tar.gz
63-
[win-exe]: http://static.rust-lang.org/dist/rust-0.6-install.exe
62+
[tarball]: http://static.rust-lang.org/dist/rust-0.7.tar.gz
63+
[win-exe]: http://static.rust-lang.org/dist/rust-0.7-install.exe
6464

6565

6666
## License

branches/auto/RELEASES.txt

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,56 @@
11
Version 0.7 (July 2013)
22
-----------------------
33

4-
* ??? changes, numerous bugfixes
4+
* ~2000 changes, numerous bugfixes
55

6-
* Syntax changes
6+
* Language
77
* `impl`s no longer accept a visibility qualifier. Put them on methods
88
instead.
9-
* `use mod` is no longer valid.
10-
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
11-
argument list.
12-
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
13-
`Rand`, `Zero` and `ToStr` can all be automatically derived with
14-
`#[deriving(...)]`.
15-
* The `Durable` trait is replaced with the `'static` bounds.
16-
* At long last, 'argument modes' no longer exist.
17-
* The `bytes!` macro returns a vector of bytes for string, u8, char,
18-
and unsuffixed integer literals.
19-
* `#[static_assert]` makes compile-time assertions about static bools.
20-
21-
* Semantic changes
229
* The borrow checker has been rewritten with flow-sensitivity, fixing
2310
many bugs and inconveniences.
2411
* The `self` parameter no longer implicitly means `&'self self`,
2512
and can be explicitly marked with a lifetime.
26-
* Structs with the `#[packed]` attribute have byte alignment and
27-
no padding between fields.
13+
* Overloadable compound operators (`+=`, etc.) have been temporarily
14+
removed due to bugs.
2815
* The `for` loop protocol now requires `for`-iterators to return `bool`
2916
so they compose better.
17+
* The `Durable` trait is replaced with the `'static` bounds.
3018
* Trait default methods work more often.
19+
* Structs with the `#[packed]` attribute have byte alignment and
20+
no padding between fields.
3121
* Type parameters bound by `Copy` must now be copied explicitly with
3222
the `copy` keyword.
3323
* It is now illegal to move out of a dereferenced unsafe pointer.
3424
* `Option<~T>` is now represented as a nullable pointer.
3525
* `@mut` does dynamic borrow checks correctly.
36-
* Macros TODO
3726
* The `main` function is only detected at the topmost level of the crate.
3827
The `#[main]` attribute is still valid anywhere.
3928
* Struct fields may no longer be mutable. Use inherited mutability.
40-
* The `#[non_owned]` attribute makes a type that would otherwise be
41-
`Owned`, not. TODO this may change to non_send before 0.7
42-
* The `#[mutable]` attribute makes a type that would otherwise be
43-
`Const`, note. TODO this may change to non_freeze before 0.7
29+
* The `#[no_send]` attribute makes a type that would otherwise be
30+
`Send`, not.
31+
* The `#[no_freeze]` attribute makes a type that would otherwise be
32+
`Freeze`, not.
4433
* Unbounded recursion will abort the process after reaching the limit
4534
specified by the `RUST_MAX_STACK` environment variable (default: 1GB).
4635
* The `vecs_implicitly_copyable` lint mode has been removed. Vectors
4736
are never implicitly copyable.
37+
* `#[static_assert]` makes compile-time assertions about static bools.
38+
* At long last, 'argument modes' no longer exist.
39+
* The rarely used `use mod` statement no longer exists.
40+
41+
* Syntax extensions
42+
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
43+
argument list.
44+
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
45+
`Rand`, `Zero` and `ToStr` can all be automatically derived with
46+
`#[deriving(...)]`.
47+
* The `bytes!` macro returns a vector of bytes for string, u8, char,
48+
and unsuffixed integer literals.
4849

4950
* Libraries
5051
* The `core` crate was renamed to `std`.
5152
* The `std` crate was renamed to `extra`.
53+
* More and improved documentation.
5254
* std: `iterator` module for external iterator objects.
5355
* Many old-style (internal, higher-order function) iterators replaced by
5456
implementations of `Iterator`.
@@ -91,8 +93,16 @@ Version 0.7 (July 2013)
9193
* extra: Implementation of fixed output size variations of SHA-2.
9294

9395
* Tooling
94-
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks.
95-
* `unused_mut` lint mode for identifying unused `mut` qualifiers.
96+
* `unused_variable` lint mode for unused variables (default: warn).
97+
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks
98+
(default: warn).
99+
* `unused_mut` lint mode for identifying unused `mut` qualifiers
100+
(default: warn).
101+
* `dead_assignment` lint mode for unread variables (default: warn).
102+
* `unnecessary_allocation` lint mode detects some heap allocations that are
103+
immediately borrowed so could be written without allocating (default: warn).
104+
* `missing_doc` lint mode (default: allow).
105+
* `unreachable_code` lint mode (default: warn).
96106
* The `rusti` command has been rewritten and a number of bugs addressed.
97107
* rustc outputs in color on more terminals.
98108
* rustc accepts a `--link-args` flag to pass arguments to the linker.
@@ -101,12 +111,7 @@ Version 0.7 (July 2013)
101111
dynamic borrowcheck failures for debugging.
102112
* rustdoc has a nicer stylesheet.
103113
* Various improvements to rustdoc.
104-
* Improvements to rustpkg (see the detailed release notes)
105-
106-
* Other
107-
* More and improved library documentation.
108-
* Various improvements on ARM and Android.
109-
* Various improvements to MIPS backend.
114+
* Improvements to rustpkg (see the detailed release notes).
110115

111116
Version 0.6 (April 2013)
112117
------------------------

branches/auto/mk/clean.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ CLEAN_STAGE_RULES = \
2020
clean$(stage)_T_$(target)_H_$(host))))
2121

2222
CLEAN_LLVM_RULES = \
23-
$(foreach target, $(CFG_TARGET_TRIPLES), \
23+
$(foreach target, $(CFG_HOST_TRIPLES), \
2424
clean-llvm$(target))
2525

2626
.PHONY: clean clean-all clean-misc clean-llvm

branches/auto/src/compiletest/compiletest.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
#[no_core]; // XXX: Remove after snapshot
1616
#[no_std];
1717

18-
extern mod core(name = "std", vers = "0.7-pre");
19-
extern mod extra(name = "extra", vers = "0.7-pre");
18+
extern mod core(name = "std", vers = "0.7");
19+
extern mod extra(name = "extra", vers = "0.7");
2020

2121
use core::prelude::*;
2222
use core::*;

branches/auto/src/compiletest/runtest.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,9 +345,9 @@ fn check_expected_errors(expected_errors: ~[errors::ExpectedError],
345345
fatal(~"process did not return an error status");
346346
}
347347

348-
let prefixes = vec::map(expected_errors, |ee| {
348+
let prefixes = expected_errors.iter().transform(|ee| {
349349
fmt!("%s:%u:", testfile.to_str(), ee.line)
350-
});
350+
}).collect::<~[~str]>();
351351

352352
// Scan and extract our error/warning messages,
353353
// which look like:

branches/auto/src/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#[no_core];
1212
#[no_std];
1313

14-
extern mod core(name = "std", vers = "0.7-pre");
14+
extern mod core(name = "std", vers = "0.7");
1515

1616
#[cfg(rustpkg)]
1717
extern mod this(name = "rustpkg");

branches/auto/src/etc/kate/rust.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
88
<!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
99
]>
10-
<language name="Rust" version="0.7-pre" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
10+
<language name="Rust" version="0.7" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
1111
<highlighting>
1212
<list name="fn">
1313
<item> fn </item>

branches/auto/src/etc/unicode.py

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,14 @@ def ch_prefix(ix):
122122

123123
def emit_bsearch_range_table(f):
124124
f.write("""
125-
pure fn bsearch_range_table(c: char, r: &[(char,char)]) -> bool {
126-
use cmp::{EQ, LT, GT};
127-
use vec::bsearch;
125+
fn bsearch_range_table(c: char, r: &'static [(char,char)]) -> bool {
126+
use cmp::{Equal, Less, Greater};
127+
use vec::ImmutableVector;
128128
use option::None;
129-
(do bsearch(r) |&(lo,hi)| {
130-
if lo <= c && c <= hi { EQ }
131-
else if hi < c { LT }
132-
else { GT }
129+
(do r.bsearch |&(lo,hi)| {
130+
if lo <= c && c <= hi { Equal }
131+
else if hi < c { Less }
132+
else { Greater }
133133
}) != None
134134
}\n\n
135135
""");
@@ -140,15 +140,15 @@ def emit_property_module(f, mod, tbl):
140140
keys.sort()
141141
emit_bsearch_range_table(f);
142142
for cat in keys:
143-
f.write(" const %s_table : &[(char,char)] = &[\n" % cat)
143+
f.write(" static %s_table : &'static [(char,char)] = &[\n" % cat)
144144
ix = 0
145145
for pair in tbl[cat]:
146146
f.write(ch_prefix(ix))
147147
f.write("(%s, %s)" % (escape_char(pair[0]), escape_char(pair[1])))
148148
ix += 1
149149
f.write("\n ];\n\n")
150150

151-
f.write(" pub pure fn %s(c: char) -> bool {\n" % cat)
151+
f.write(" pub fn %s(c: char) -> bool {\n" % cat)
152152
f.write(" bsearch_range_table(c, %s_table)\n" % cat)
153153
f.write(" }\n\n")
154154
f.write("}\n")
@@ -159,7 +159,7 @@ def emit_property_module_old(f, mod, tbl):
159159
keys = tbl.keys()
160160
keys.sort()
161161
for cat in keys:
162-
f.write(" pure fn %s(c: char) -> bool {\n" % cat)
162+
f.write(" fn %s(c: char) -> bool {\n" % cat)
163163
f.write(" ret alt c {\n")
164164
prefix = ' '
165165
for pair in tbl[cat]:
@@ -236,8 +236,22 @@ def emit_decomp_module(f, canon, compat):
236236

237237
(canon_decomp, compat_decomp, gencats) = load_unicode_data("UnicodeData.txt")
238238

239-
# Explain that the source code was generated by this script.
240-
rf.write('// The following code was generated by "src/etc/unicode.py"\n\n')
239+
# Preamble
240+
rf.write('''// Copyright 2012-2013 The Rust Project Developers. See the COPYRIGHT
241+
// file at the top-level directory of this distribution and at
242+
// http://rust-lang.org/COPYRIGHT.
243+
//
244+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
245+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
246+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
247+
// option. This file may not be copied, modified, or distributed
248+
// except according to those terms.
249+
250+
// The following code was generated by "src/etc/unicode.py"
251+
252+
#[allow(missing_doc)];
253+
254+
''')
241255

242256
emit_property_module(rf, "general_category", gencats)
243257

branches/auto/src/libextra/extra.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Rust extras are part of the standard Rust distribution.
2121
*/
2222

2323
#[link(name = "extra",
24-
vers = "0.7-pre",
24+
vers = "0.7",
2525
uuid = "122bed0b-c19b-4b82-b0b7-7ae8aead7297",
2626
url = "https://github.com/mozilla/rust/tree/master/src/libextra")];
2727

branches/auto/src/libextra/fileinput.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ total line count).
100100
use std::io::ReaderUtil;
101101
use std::io;
102102
use std::os;
103-
use std::vec;
104103

105104
/**
106105
A summary of the internal state of a `FileInput` object. `line_num`
@@ -353,13 +352,13 @@ a literal `-`.
353352
*/
354353
// XXX: stupid, unclear name
355354
pub fn pathify(vec: &[~str], stdin_hyphen : bool) -> ~[Option<Path>] {
356-
vec::map(vec, |&str : & ~str| {
357-
if stdin_hyphen && str == ~"-" {
355+
vec.iter().transform(|str| {
356+
if stdin_hyphen && "-" == *str {
358357
None
359358
} else {
360-
Some(Path(str))
359+
Some(Path(*str))
361360
}
362-
})
361+
}).collect()
363362
}
364363

365364
/**

branches/auto/src/libextra/getopts.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -592,9 +592,9 @@ pub mod groups {
592592
*/
593593
pub fn usage(brief: &str, opts: &[OptGroup]) -> ~str {
594594

595-
let desc_sep = ~"\n" + " ".repeat(24);
595+
let desc_sep = "\n" + " ".repeat(24);
596596

597-
let rows = vec::map(opts, |optref| {
597+
let mut rows = opts.iter().transform(|optref| {
598598
let OptGroup{short_name: short_name,
599599
long_name: long_name,
600600
hint: hint,
@@ -669,7 +669,7 @@ pub mod groups {
669669

670670
return str::to_owned(brief) +
671671
"\n\nOptions:\n" +
672-
rows.connect("\n") +
672+
rows.collect::<~[~str]>().connect("\n") +
673673
"\n\n";
674674
}
675675
} // end groups module

branches/auto/src/libextra/num/bigint.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,13 +283,13 @@ impl Mul<BigUint, BigUint> for BigUint {
283283
if n == 1 { return copy *a; }
284284

285285
let mut carry = 0;
286-
let prod = do vec::map(a.data) |ai| {
286+
let prod = do a.data.iter().transform |ai| {
287287
let (hi, lo) = BigDigit::from_uint(
288288
(*ai as uint) * (n as uint) + (carry as uint)
289289
);
290290
carry = hi;
291291
lo
292-
};
292+
}.collect::<~[BigDigit]>();
293293
if carry == 0 { return BigUint::new(prod) };
294294
return BigUint::new(prod + [carry]);
295295
}
@@ -618,13 +618,13 @@ impl BigUint {
618618
if n_bits == 0 || self.is_zero() { return copy *self; }
619619

620620
let mut carry = 0;
621-
let shifted = do vec::map(self.data) |elem| {
621+
let shifted = do self.data.iter().transform |elem| {
622622
let (hi, lo) = BigDigit::from_uint(
623623
(*elem as uint) << n_bits | (carry as uint)
624624
);
625625
carry = hi;
626626
lo
627-
};
627+
}.collect::<~[BigDigit]>();
628628
if carry == 0 { return BigUint::new(shifted); }
629629
return BigUint::new(shifted + [carry]);
630630
}
@@ -1172,7 +1172,7 @@ mod biguint_tests {
11721172
11731173
#[test]
11741174
fn test_cmp() {
1175-
let data = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ]
1175+
let data: ~[BigUint] = [ &[], &[1], &[2], &[-1], &[0, 1], &[2, 1], &[1, 1, 1] ]
11761176
.map(|v| BigUint::from_slice(*v));
11771177
for data.iter().enumerate().advance |(i, ni)| {
11781178
for data.slice(i, data.len()).iter().enumerate().advance |(j0, nj)| {

branches/auto/src/libextra/par.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ pub fn map<A:Copy + Send,B:Copy + Send>(
9292
vec::concat(map_slices(xs, || {
9393
let f = fn_factory();
9494
let result: ~fn(uint, &[A]) -> ~[B] =
95-
|_, slice| vec::map(slice, |x| f(x));
95+
|_, slice| slice.iter().transform(|x| f(x)).collect();
9696
result
9797
}))
9898
}
@@ -104,9 +104,9 @@ pub fn mapi<A:Copy + Send,B:Copy + Send>(
104104
let slices = map_slices(xs, || {
105105
let f = fn_factory();
106106
let result: ~fn(uint, &[A]) -> ~[B] = |base, slice| {
107-
vec::mapi(slice, |i, x| {
107+
slice.iter().enumerate().transform(|(i, x)| {
108108
f(i + base, x)
109-
})
109+
}).collect()
110110
};
111111
result
112112
});

0 commit comments

Comments
 (0)