Skip to content

Commit 24f3a22

Browse files
committed
---
yaml --- r: 155317 b: refs/heads/try2 c: 3907a13 h: refs/heads/master i: 155315: 8bc21aa v: v3
1 parent 9f07e69 commit 24f3a22

File tree

56 files changed

+982
-541
lines changed

Some content is hidden

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

56 files changed

+982
-541
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: 3bc7d3da42280cc96265818918405dcf97e4087c
8+
refs/heads/try2: 3907a13f697feb007ab4824ee26f998d56a1311f
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/compiletest/runtest.rs

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,8 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
273273
format!("--target={}", config.target),
274274
"-L".to_string(),
275275
aux_dir.as_str().unwrap().to_string());
276-
args.push_all_move(split_maybe_args(&config.target_rustcflags));
277-
args.push_all_move(split_maybe_args(&props.compile_flags));
276+
args.extend(split_maybe_args(&config.target_rustcflags).into_iter());
277+
args.extend(split_maybe_args(&props.compile_flags).into_iter());
278278
return ProcArgs {
279279
prog: config.rustc_path.as_str().unwrap().to_string(),
280280
args: args,
@@ -321,8 +321,8 @@ actual:\n\
321321
config.build_base.as_str().unwrap().to_string(),
322322
"-L".to_string(),
323323
aux_dir.as_str().unwrap().to_string());
324-
args.push_all_move(split_maybe_args(&config.target_rustcflags));
325-
args.push_all_move(split_maybe_args(&props.compile_flags));
324+
args.extend(split_maybe_args(&config.target_rustcflags).into_iter());
325+
args.extend(split_maybe_args(&props.compile_flags).into_iter());
326326
// FIXME (#9639): This needs to handle non-utf8 paths
327327
return ProcArgs {
328328
prog: config.rustc_path.as_str().unwrap().to_string(),
@@ -1095,11 +1095,12 @@ fn compile_test_(config: &Config, props: &TestProps,
10951095
testfile: &Path, extra_args: &[String]) -> ProcRes {
10961096
let aux_dir = aux_output_dir_name(config, testfile);
10971097
// FIXME (#9639): This needs to handle non-utf8 paths
1098-
let link_args = vec!("-L".to_string(),
1099-
aux_dir.as_str().unwrap().to_string());
1098+
let mut link_args = vec!("-L".to_string(),
1099+
aux_dir.as_str().unwrap().to_string());
1100+
link_args.extend(extra_args.iter().map(|s| s.clone()));
11001101
let args = make_compile_args(config,
11011102
props,
1102-
link_args.append(extra_args),
1103+
link_args,
11031104
|a, b| ThisFile(make_exe_name(a, b)), testfile);
11041105
compose_and_run_compiler(config, props, testfile, args, None)
11051106
}
@@ -1146,16 +1147,16 @@ fn compose_and_run_compiler(
11461147
for rel_ab in props.aux_builds.iter() {
11471148
let abs_ab = config.aux_base.join(rel_ab.as_slice());
11481149
let aux_props = header::load_props(&abs_ab);
1149-
let crate_type = if aux_props.no_prefer_dynamic {
1150+
let mut crate_type = if aux_props.no_prefer_dynamic {
11501151
Vec::new()
11511152
} else {
11521153
vec!("--crate-type=dylib".to_string())
11531154
};
1155+
crate_type.extend(extra_link_args.clone().into_iter());
11541156
let aux_args =
11551157
make_compile_args(config,
11561158
&aux_props,
1157-
crate_type.append(
1158-
extra_link_args.as_slice()),
1159+
crate_type,
11591160
|a,b| {
11601161
let f = make_lib_name(a, b, testfile);
11611162
ThisDirectory(f.dir_path())
@@ -1246,11 +1247,11 @@ fn make_compile_args(config: &Config,
12461247
};
12471248
args.push(path.as_str().unwrap().to_string());
12481249
if props.force_host {
1249-
args.push_all_move(split_maybe_args(&config.host_rustcflags));
1250+
args.extend(split_maybe_args(&config.host_rustcflags).into_iter());
12501251
} else {
1251-
args.push_all_move(split_maybe_args(&config.target_rustcflags));
1252+
args.extend(split_maybe_args(&config.target_rustcflags).into_iter());
12521253
}
1253-
args.push_all_move(split_maybe_args(&props.compile_flags));
1254+
args.extend(split_maybe_args(&props.compile_flags).into_iter());
12541255
return ProcArgs {
12551256
prog: config.rustc_path.as_str().unwrap().to_string(),
12561257
args: args,
@@ -1267,10 +1268,9 @@ fn make_lib_name(config: &Config, auxfile: &Path, testfile: &Path) -> Path {
12671268
fn make_exe_name(config: &Config, testfile: &Path) -> Path {
12681269
let mut f = output_base_name(config, testfile);
12691270
if !os::consts::EXE_SUFFIX.is_empty() {
1270-
match f.filename().map(|s| Vec::from_slice(s).append(os::consts::EXE_SUFFIX.as_bytes())) {
1271-
Some(v) => f.set_filename(v),
1272-
None => ()
1273-
}
1271+
let mut fname = f.filename().unwrap().to_vec();
1272+
fname.extend(os::consts::EXE_SUFFIX.bytes());
1273+
f.set_filename(fname);
12741274
}
12751275
f
12761276
}
@@ -1286,7 +1286,7 @@ fn make_run_args(config: &Config, props: &TestProps, testfile: &Path) ->
12861286
args.push(exe_file.as_str().unwrap().to_string());
12871287

12881288
// Add the arguments in the run_flags directive
1289-
args.push_all_move(split_maybe_args(&props.run_flags));
1289+
args.extend(split_maybe_args(&props.run_flags).into_iter());
12901290

12911291
let prog = args.remove(0).unwrap();
12921292
return ProcArgs {
@@ -1381,12 +1381,10 @@ fn make_out_name(config: &Config, testfile: &Path, extension: &str) -> Path {
13811381
}
13821382

13831383
fn aux_output_dir_name(config: &Config, testfile: &Path) -> Path {
1384-
let mut f = output_base_name(config, testfile);
1385-
match f.filename().map(|s| Vec::from_slice(s).append(b".libaux")) {
1386-
Some(v) => f.set_filename(v),
1387-
None => ()
1388-
}
1389-
f
1384+
let f = output_base_name(config, testfile);
1385+
let mut fname = f.filename().unwrap().to_vec();
1386+
fname.extend("libaux".bytes());
1387+
f.with_filename(fname)
13901388
}
13911389

13921390
fn output_testname(testfile: &Path) -> Path {
@@ -1598,22 +1596,25 @@ fn append_suffix_to_stem(p: &Path, suffix: &str) -> Path {
15981596
if suffix.len() == 0 {
15991597
(*p).clone()
16001598
} else {
1601-
let stem = p.filestem().unwrap();
1602-
p.with_filename(Vec::from_slice(stem).append(b"-").append(suffix.as_bytes()))
1599+
let mut stem = p.filestem().unwrap().to_vec();
1600+
stem.extend("-".bytes());
1601+
stem.extend(suffix.bytes());
1602+
p.with_filename(stem)
16031603
}
16041604
}
16051605

16061606
fn compile_test_and_save_bitcode(config: &Config, props: &TestProps,
16071607
testfile: &Path) -> ProcRes {
16081608
let aux_dir = aux_output_dir_name(config, testfile);
16091609
// FIXME (#9639): This needs to handle non-utf8 paths
1610-
let link_args = vec!("-L".to_string(),
1611-
aux_dir.as_str().unwrap().to_string());
1610+
let mut link_args = vec!("-L".to_string(),
1611+
aux_dir.as_str().unwrap().to_string());
16121612
let llvm_args = vec!("--emit=bc,obj".to_string(),
16131613
"--crate-type=lib".to_string());
1614+
link_args.extend(llvm_args.into_iter());
16141615
let args = make_compile_args(config,
16151616
props,
1616-
link_args.append(llvm_args.as_slice()),
1617+
link_args,
16171618
|a, b| ThisDirectory(output_base_name(a, b).dir_path()),
16181619
testfile);
16191620
compose_and_run_compiler(config, props, testfile, args, None)

branches/try2/src/doc/rust.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3833,8 +3833,9 @@ fn map<A: Clone, B: Clone>(f: |A| -> B, xs: &[A]) -> Vec<B> {
38333833
return vec![];
38343834
}
38353835
let first: B = f(xs[0].clone());
3836-
let rest: Vec<B> = map(f, xs.slice(1, xs.len()));
3837-
return vec![first].append(rest.as_slice());
3836+
let mut rest: Vec<B> = map(f, xs.slice(1, xs.len()));
3837+
rest.insert(0, first);
3838+
return rest;
38383839
}
38393840
~~~~
38403841

branches/try2/src/etc/make-win-dist.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ def make_win_dist(dist_root, target_triple):
5858
for src in rustc_dlls:
5959
shutil.copy(src, dist_bin_dir)
6060

61-
# Copy platform tools (and another copy of runtime dlls) to platform-spcific bin directory
62-
target_bin_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "bin")
61+
# Copy platform tools to platform-specific bin directory
62+
target_bin_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "gcc", "bin")
6363
if not os.path.exists(target_bin_dir):
6464
os.makedirs(target_bin_dir)
6565
for src in target_tools:
6666
shutil.copy(src, target_bin_dir)
6767

6868
# Copy platform libs to platform-spcific lib directory
69-
target_lib_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "lib")
69+
target_lib_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "gcc", "lib")
7070
if not os.path.exists(target_lib_dir):
7171
os.makedirs(target_lib_dir)
7272
for src in target_libs:

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

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
" Vim indent file
22
" Language: Rust
33
" Author: Chris Morgan <[email protected]>
4-
" Last Change: 2013 Oct 29
4+
" Last Change: 2014 Sep 13
55

66
" Only load this indent file when no other was loaded.
77
if exists("b:did_indent")
@@ -10,7 +10,7 @@ endif
1010
let b:did_indent = 1
1111

1212
setlocal cindent
13-
setlocal cinoptions=L0,(0,Ws,JN,j1
13+
setlocal cinoptions=L0,(0,Ws,J1,j1
1414
setlocal cinkeys=0{,0},!^F,o,O,0[,0]
1515
" Don't think cinwords will actually do anything at all... never mind
1616
setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern
@@ -151,40 +151,42 @@ function GetRustIndent(lnum)
151151
"
152152
" There are probably other cases where we don't want to do this as
153153
" well. Add them as needed.
154-
return GetRustIndent(a:lnum - 1)
154+
return indent(prevlinenum)
155155
endif
156156

157-
" cindent doesn't do the module scope well at all; e.g.::
158-
"
159-
" static FOO : &'static [bool] = [
160-
" true,
161-
" false,
162-
" false,
163-
" true,
164-
" ];
165-
"
166-
" uh oh, next statement is indented further!
157+
if !has("patch-7.4.355")
158+
" cindent before 7.4.355 doesn't do the module scope well at all; e.g.::
159+
"
160+
" static FOO : &'static [bool] = [
161+
" true,
162+
" false,
163+
" false,
164+
" true,
165+
" ];
166+
"
167+
" uh oh, next statement is indented further!
167168

168-
" Note that this does *not* apply the line continuation pattern properly;
169-
" that's too hard to do correctly for my liking at present, so I'll just
170-
" start with these two main cases (square brackets and not returning to
171-
" column zero)
169+
" Note that this does *not* apply the line continuation pattern properly;
170+
" that's too hard to do correctly for my liking at present, so I'll just
171+
" start with these two main cases (square brackets and not returning to
172+
" column zero)
172173

173-
call cursor(a:lnum, 1)
174-
if searchpair('{\|(', '', '}\|)', 'nbW',
175-
\ 's:is_string_comment(line("."), col("."))') == 0
176-
if searchpair('\[', '', '\]', 'nbW',
174+
call cursor(a:lnum, 1)
175+
if searchpair('{\|(', '', '}\|)', 'nbW',
177176
\ 's:is_string_comment(line("."), col("."))') == 0
178-
" Global scope, should be zero
179-
return 0
180-
else
181-
" At the module scope, inside square brackets only
182-
"if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum
183-
if line =~ "^\\s*]"
184-
" It's the closing line, dedent it
177+
if searchpair('\[', '', '\]', 'nbW',
178+
\ 's:is_string_comment(line("."), col("."))') == 0
179+
" Global scope, should be zero
185180
return 0
186181
else
187-
return &shiftwidth
182+
" At the module scope, inside square brackets only
183+
"if getline(a:lnum)[0] == ']' || search('\[', '', '\]', 'nW') == a:lnum
184+
if line =~ "^\\s*]"
185+
" It's the closing line, dedent it
186+
return 0
187+
else
188+
return &shiftwidth
189+
endif
188190
endif
189191
endif
190192
endif

branches/try2/src/libcollections/bitv.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ impl Bitv {
631631
let old_size = self.storage.len();
632632
let size = (size + uint::BITS - 1) / uint::BITS;
633633
if old_size < size {
634-
self.storage.grow(size - old_size, &0);
634+
self.storage.grow(size - old_size, 0);
635635
}
636636
}
637637

@@ -687,7 +687,7 @@ impl Bitv {
687687
// Allocate new words, if needed
688688
if new_nwords > self.storage.len() {
689689
let to_add = new_nwords - self.storage.len();
690-
self.storage.grow(to_add, &full_value);
690+
self.storage.grow(to_add, full_value);
691691
}
692692
// Adjust internal bit count
693693
self.nbits = new_nbits;

branches/try2/src/libcollections/slice.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,11 @@ pub trait CloneableVector<T> {
283283
impl<'a, T: Clone> CloneableVector<T> for &'a [T] {
284284
/// Returns a copy of `v`.
285285
#[inline]
286-
fn to_vec(&self) -> Vec<T> { Vec::from_slice(*self) }
286+
fn to_vec(&self) -> Vec<T> {
287+
let mut vector = Vec::with_capacity(self.len());
288+
vector.push_all(*self);
289+
vector
290+
}
287291

288292
#[inline(always)]
289293
fn into_vec(self) -> Vec<T> { self.to_vec() }
@@ -1039,7 +1043,7 @@ mod tests {
10391043
fn test_grow() {
10401044
// Test on-stack grow().
10411045
let mut v = vec![];
1042-
v.grow(2u, &1i);
1046+
v.grow(2u, 1i);
10431047
{
10441048
let v = v.as_slice();
10451049
assert_eq!(v.len(), 2u);
@@ -1048,7 +1052,7 @@ mod tests {
10481052
}
10491053

10501054
// Test on-heap grow().
1051-
v.grow(3u, &2i);
1055+
v.grow(3u, 2i);
10521056
{
10531057
let v = v.as_slice();
10541058
assert_eq!(v.len(), 5u);

branches/try2/src/libcollections/str.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ use core::prelude::{range};
6767
use {Deque, MutableSeq};
6868
use hash;
6969
use ringbuf::RingBuf;
70+
use slice::CloneableVector;
7071
use string::String;
7172
use unicode;
7273
use vec::Vec;
@@ -754,7 +755,7 @@ pub trait StrAllocating: Str {
754755
#[inline]
755756
fn to_owned(&self) -> String {
756757
unsafe {
757-
mem::transmute(Vec::from_slice(self.as_slice().as_bytes()))
758+
mem::transmute(self.as_slice().as_bytes().to_vec())
758759
}
759760
}
760761

branches/try2/src/libcollections/string.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ use core::raw::Slice as RawSlice;
2323

2424
use {Mutable, MutableSeq};
2525
use hash;
26+
use slice::CloneableVector;
2627
use str;
2728
use str::{CharRange, StrAllocating, MaybeOwned, Owned};
2829
use str::Slice as MaybeOwnedSlice; // So many `Slice`s...
@@ -75,9 +76,7 @@ impl String {
7576
/// ```
7677
#[inline]
7778
pub fn from_str(string: &str) -> String {
78-
String {
79-
vec: Vec::from_slice(string.as_bytes())
80-
}
79+
String { vec: string.as_bytes().to_vec() }
8180
}
8281

8382
/// Deprecated. Replaced by `string::raw::from_parts`

0 commit comments

Comments
 (0)