Skip to content

Commit 05d8767

Browse files
committed
Auto merge of #26957 - wesleywiser:rename_connect_to_join, r=alexcrichton
Fixes #26900
2 parents adcae00 + ed472c8 commit 05d8767

File tree

41 files changed

+109
-89
lines changed

Some content is hidden

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

41 files changed

+109
-89
lines changed

src/compiletest/runtest.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
344344
check_lines,
345345
breakpoint_lines
346346
} = parse_debugger_commands(testfile, "gdb");
347-
let mut cmds = commands.connect("\n");
347+
let mut cmds = commands.join("\n");
348348

349349
// compile test file (it should have 'compile-flags:-g' in the header)
350350
let compiler_run_result = compile_test(config, props, testfile);
@@ -799,7 +799,7 @@ fn cleanup_debug_info_options(options: &Option<String>) -> Option<String> {
799799
split_maybe_args(options).into_iter()
800800
.filter(|x| !options_to_remove.contains(x))
801801
.collect::<Vec<String>>()
802-
.connect(" ");
802+
.join(" ");
803803
Some(new_options)
804804
}
805805

@@ -1412,15 +1412,15 @@ fn make_cmdline(libpath: &str, prog: &str, args: &[String]) -> String {
14121412

14131413
// Linux and mac don't require adjusting the library search path
14141414
if cfg!(unix) {
1415-
format!("{} {}", prog, args.connect(" "))
1415+
format!("{} {}", prog, args.join(" "))
14161416
} else {
14171417
// Build the LD_LIBRARY_PATH variable as it would be seen on the command line
14181418
// for diagnostic purposes
14191419
fn lib_path_cmd_prefix(path: &str) -> String {
14201420
format!("{}=\"{}\"", util::lib_path_env_var(), util::make_new_path(path))
14211421
}
14221422

1423-
format!("{} {} {}", lib_path_cmd_prefix(libpath), prog, args.connect(" "))
1423+
format!("{} {} {}", lib_path_cmd_prefix(libpath), prog, args.join(" "))
14241424
}
14251425
}
14261426

src/libcollections/slice.rs

+17-1
Original file line numberDiff line numberDiff line change
@@ -1056,6 +1056,17 @@ pub trait SliceConcatExt<T: ?Sized> {
10561056
#[stable(feature = "rust1", since = "1.0.0")]
10571057
fn concat(&self) -> Self::Output;
10581058

1059+
/// Flattens a slice of `T` into a single value `Self::Output`, placing a
1060+
/// given separator between each.
1061+
///
1062+
/// # Examples
1063+
///
1064+
/// ```
1065+
/// assert_eq!(["hello", "world"].join(" "), "hello world");
1066+
/// ```
1067+
#[stable(feature = "rename_connect_to_join", since = "1.3.0")]
1068+
fn join(&self, sep: &T) -> Self::Output;
1069+
10591070
/// Flattens a slice of `T` into a single value `Self::Output`, placing a
10601071
/// given separator between each.
10611072
///
@@ -1065,6 +1076,7 @@ pub trait SliceConcatExt<T: ?Sized> {
10651076
/// assert_eq!(["hello", "world"].connect(" "), "hello world");
10661077
/// ```
10671078
#[stable(feature = "rust1", since = "1.0.0")]
1079+
#[deprecated(since = "1.3.0", reason = "renamed to join")]
10681080
fn connect(&self, sep: &T) -> Self::Output;
10691081
}
10701082

@@ -1080,7 +1092,7 @@ impl<T: Clone, V: Borrow<[T]>> SliceConcatExt<T> for [V] {
10801092
result
10811093
}
10821094

1083-
fn connect(&self, sep: &T) -> Vec<T> {
1095+
fn join(&self, sep: &T) -> Vec<T> {
10841096
let size = self.iter().fold(0, |acc, v| acc + v.borrow().len());
10851097
let mut result = Vec::with_capacity(size + self.len());
10861098
let mut first = true;
@@ -1090,6 +1102,10 @@ impl<T: Clone, V: Borrow<[T]>> SliceConcatExt<T> for [V] {
10901102
}
10911103
result
10921104
}
1105+
1106+
fn connect(&self, sep: &T) -> Vec<T> {
1107+
self.join(sep)
1108+
}
10931109
}
10941110

10951111
/// An iterator that yields the element swaps needed to produce

src/libcollections/str.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ impl<S: Borrow<str>> SliceConcatExt<str> for [S] {
103103
result
104104
}
105105

106-
fn connect(&self, sep: &str) -> String {
106+
fn join(&self, sep: &str) -> String {
107107
if self.is_empty() {
108108
return String::new();
109109
}
@@ -130,6 +130,10 @@ impl<S: Borrow<str>> SliceConcatExt<str> for [S] {
130130
}
131131
result
132132
}
133+
134+
fn connect(&self, sep: &str) -> String {
135+
self.join(sep)
136+
}
133137
}
134138

135139
// Helper functions used for Unicode normalization

src/libcollectionstest/slice.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -583,22 +583,22 @@ fn test_concat() {
583583
assert_eq!(d, [1, 2, 3]);
584584

585585
let v: &[&[_]] = &[&[1], &[2, 3]];
586-
assert_eq!(v.connect(&0), [1, 0, 2, 3]);
586+
assert_eq!(v.join(&0), [1, 0, 2, 3]);
587587
let v: &[&[_]] = &[&[1], &[2], &[3]];
588-
assert_eq!(v.connect(&0), [1, 0, 2, 0, 3]);
588+
assert_eq!(v.join(&0), [1, 0, 2, 0, 3]);
589589
}
590590

591591
#[test]
592-
fn test_connect() {
592+
fn test_join() {
593593
let v: [Vec<i32>; 0] = [];
594-
assert_eq!(v.connect(&0), []);
595-
assert_eq!([vec![1], vec![2, 3]].connect(&0), [1, 0, 2, 3]);
596-
assert_eq!([vec![1], vec![2], vec![3]].connect(&0), [1, 0, 2, 0, 3]);
594+
assert_eq!(v.join(&0), []);
595+
assert_eq!([vec![1], vec![2, 3]].join(&0), [1, 0, 2, 3]);
596+
assert_eq!([vec![1], vec![2], vec![3]].join(&0), [1, 0, 2, 0, 3]);
597597

598598
let v: [&[_]; 2] = [&[1], &[2, 3]];
599-
assert_eq!(v.connect(&0), [1, 0, 2, 3]);
599+
assert_eq!(v.join(&0), [1, 0, 2, 3]);
600600
let v: [&[_]; 3] = [&[1], &[2], &[3]];
601-
assert_eq!(v.connect(&0), [1, 0, 2, 0, 3]);
601+
assert_eq!(v.join(&0), [1, 0, 2, 0, 3]);
602602
}
603603

604604
#[test]
@@ -1316,11 +1316,11 @@ mod bench {
13161316
}
13171317

13181318
#[bench]
1319-
fn connect(b: &mut Bencher) {
1319+
fn join(b: &mut Bencher) {
13201320
let xss: Vec<Vec<i32>> =
13211321
(0..100).map(|i| (0..i).collect()).collect();
13221322
b.iter(|| {
1323-
xss.connect(&0)
1323+
xss.join(&0)
13241324
});
13251325
}
13261326

src/libcollectionstest/str.rs

+15-15
Original file line numberDiff line numberDiff line change
@@ -158,32 +158,32 @@ fn test_concat_for_different_lengths() {
158158
test_concat!("abc", ["", "a", "bc"]);
159159
}
160160

161-
macro_rules! test_connect {
161+
macro_rules! test_join {
162162
($expected: expr, $string: expr, $delim: expr) => {
163163
{
164-
let s = $string.connect($delim);
164+
let s = $string.join($delim);
165165
assert_eq!($expected, s);
166166
}
167167
}
168168
}
169169

170170
#[test]
171-
fn test_connect_for_different_types() {
172-
test_connect!("a-b", ["a", "b"], "-");
171+
fn test_join_for_different_types() {
172+
test_join!("a-b", ["a", "b"], "-");
173173
let hyphen = "-".to_string();
174-
test_connect!("a-b", [s("a"), s("b")], &*hyphen);
175-
test_connect!("a-b", vec!["a", "b"], &*hyphen);
176-
test_connect!("a-b", &*vec!["a", "b"], "-");
177-
test_connect!("a-b", vec![s("a"), s("b")], "-");
174+
test_join!("a-b", [s("a"), s("b")], &*hyphen);
175+
test_join!("a-b", vec!["a", "b"], &*hyphen);
176+
test_join!("a-b", &*vec!["a", "b"], "-");
177+
test_join!("a-b", vec![s("a"), s("b")], "-");
178178
}
179179

180180
#[test]
181-
fn test_connect_for_different_lengths() {
181+
fn test_join_for_different_lengths() {
182182
let empty: &[&str] = &[];
183-
test_connect!("", empty, "-");
184-
test_connect!("a", ["a"], "-");
185-
test_connect!("a-b", ["a", "b"], "-");
186-
test_connect!("-a-bc", ["", "a", "bc"], "-");
183+
test_join!("", empty, "-");
184+
test_join!("a", ["a"], "-");
185+
test_join!("a-b", ["a", "b"], "-");
186+
test_join!("-a-bc", ["", "a", "bc"], "-");
187187
}
188188

189189
#[test]
@@ -2089,12 +2089,12 @@ mod bench {
20892089
}
20902090

20912091
#[bench]
2092-
fn bench_connect(b: &mut Bencher) {
2092+
fn bench_join(b: &mut Bencher) {
20932093
let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
20942094
let sep = "→";
20952095
let v = vec![s, s, s, s, s, s, s, s, s, s];
20962096
b.iter(|| {
2097-
assert_eq!(v.connect(sep).len(), s.len() * 10 + sep.len() * 9);
2097+
assert_eq!(v.join(sep).len(), s.len() * 10 + sep.len() * 9);
20982098
})
20992099
}
21002100

src/libgetopts/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -784,13 +784,13 @@ pub fn usage(brief: &str, opts: &[OptGroup]) -> String {
784784

785785
// FIXME: #5516 should be graphemes not codepoints
786786
// wrapped description
787-
row.push_str(&desc_rows.connect(&desc_sep[..]));
787+
row.push_str(&desc_rows.join(&desc_sep[..]));
788788

789789
row
790790
});
791791

792792
format!("{}\n\nOptions:\n{}\n", brief,
793-
rows.collect::<Vec<String>>().connect("\n"))
793+
rows.collect::<Vec<String>>().join("\n"))
794794
}
795795

796796
fn format_option(opt: &OptGroup) -> String {
@@ -836,7 +836,7 @@ pub fn short_usage(program_name: &str, opts: &[OptGroup]) -> String {
836836
line.push_str(&opts.iter()
837837
.map(format_option)
838838
.collect::<Vec<String>>()
839-
.connect(" ")[..]);
839+
.join(" ")[..]);
840840
line
841841
}
842842

src/librustc/metadata/encoder.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2028,7 +2028,7 @@ fn encode_dylib_dependency_formats(rbml_w: &mut Encoder, ecx: &EncodeContext) {
20282028
cstore::RequireStatic => "s",
20292029
})).to_string())
20302030
}).collect::<Vec<String>>();
2031-
rbml_w.wr_tagged_str(tag, &s.connect(","));
2031+
rbml_w.wr_tagged_str(tag, &s.join(","));
20322032
}
20332033
None => {
20342034
rbml_w.wr_tagged_str(tag, "");

src/librustc/middle/infer/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1097,7 +1097,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
10971097

10981098
pub fn tys_to_string(&self, ts: &[Ty<'tcx>]) -> String {
10991099
let tstrs: Vec<String> = ts.iter().map(|t| self.ty_to_string(*t)).collect();
1100-
format!("({})", tstrs.connect(", "))
1100+
format!("({})", tstrs.join(", "))
11011101
}
11021102

11031103
pub fn trait_ref_to_string(&self, t: &ty::TraitRef<'tcx>) -> String {

src/librustc_driver/driver.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -843,7 +843,7 @@ fn write_out_deps(sess: &Session,
843843
let mut file = try!(fs::File::create(&deps_filename));
844844
for path in &out_filenames {
845845
try!(write!(&mut file,
846-
"{}: {}\n\n", path.display(), files.connect(" ")));
846+
"{}: {}\n\n", path.display(), files.join(" ")));
847847
}
848848
Ok(())
849849
})();

src/librustc_driver/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@ Available lint options:
606606
for (name, to) in lints {
607607
let name = name.to_lowercase().replace("_", "-");
608608
let desc = to.into_iter().map(|x| x.as_str().replace("_", "-"))
609-
.collect::<Vec<String>>().connect(", ");
609+
.collect::<Vec<String>>().join(", ");
610610
println!(" {} {}",
611611
padded(&name[..]), desc);
612612
}

src/librustc_driver/pretty.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ impl UserIdentifiedItem {
378378
fn reconstructed_input(&self) -> String {
379379
match *self {
380380
ItemViaNode(node_id) => node_id.to_string(),
381-
ItemViaPath(ref parts) => parts.connect("::"),
381+
ItemViaPath(ref parts) => parts.join("::"),
382382
}
383383
}
384384

src/librustc_driver/test.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ impl<'a, 'tcx> Env<'a, 'tcx> {
178178
return match search_mod(self, &self.infcx.tcx.map.krate().module, 0, names) {
179179
Some(id) => id,
180180
None => {
181-
panic!("no item found: `{}`", names.connect("::"));
181+
panic!("no item found: `{}`", names.join("::"));
182182
}
183183
};
184184

src/librustc_lint/builtin.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -923,7 +923,7 @@ impl NonSnakeCase {
923923
}
924924
words.push(buf);
925925
}
926-
words.connect("_")
926+
words.join("_")
927927
}
928928

929929
fn check_snake_case(&self, cx: &Context, sort: &str, name: &str, span: Option<Span>) {

src/librustc_trans/trans/_match.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -936,7 +936,7 @@ fn compile_guard<'a, 'p, 'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
936936
bcx.to_str(),
937937
guard_expr,
938938
m,
939-
vals.iter().map(|v| bcx.val_to_string(*v)).collect::<Vec<_>>().connect(", "));
939+
vals.iter().map(|v| bcx.val_to_string(*v)).collect::<Vec<_>>().join(", "));
940940
let _indenter = indenter();
941941

942942
let mut bcx = insert_lllocals(bcx, &data.bindings_map, None);
@@ -981,7 +981,7 @@ fn compile_submatch<'a, 'p, 'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
981981
debug!("compile_submatch(bcx={}, m={:?}, vals=[{}])",
982982
bcx.to_str(),
983983
m,
984-
vals.iter().map(|v| bcx.val_to_string(*v)).collect::<Vec<_>>().connect(", "));
984+
vals.iter().map(|v| bcx.val_to_string(*v)).collect::<Vec<_>>().join(", "));
985985
let _indenter = indenter();
986986
let _icx = push_ctxt("match::compile_submatch");
987987
let mut bcx = bcx;

src/librustc_trans/trans/asm.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ pub fn trans_inline_asm<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, ia: &ast::InlineAsm)
9292
.chain(arch_clobbers.iter()
9393
.map(|s| s.to_string()))
9494
.collect::<Vec<String>>()
95-
.connect(",");
95+
.join(",");
9696

9797
debug!("Asm Constraints: {}", &all_constraints[..]);
9898

src/librustc_trans/trans/build.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ pub fn Invoke(cx: Block,
148148
terminate(cx, "Invoke");
149149
debug!("Invoke({} with arguments ({}))",
150150
cx.val_to_string(fn_),
151-
args.iter().map(|a| cx.val_to_string(*a)).collect::<Vec<String>>().connect(", "));
151+
args.iter().map(|a| cx.val_to_string(*a)).collect::<Vec<String>>().join(", "));
152152
debug_loc.apply(cx.fcx);
153153
B(cx).invoke(fn_, args, then, catch, attributes)
154154
}

src/librustc_trans/trans/builder.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
167167
args.iter()
168168
.map(|&v| self.ccx.tn().val_to_string(v))
169169
.collect::<Vec<String>>()
170-
.connect(", "));
170+
.join(", "));
171171

172172
unsafe {
173173
let v = llvm::LLVMBuildInvoke(self.llbuilder,
@@ -809,7 +809,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
809809
args.iter()
810810
.map(|&v| self.ccx.tn().val_to_string(v))
811811
.collect::<Vec<String>>()
812-
.connect(", "));
812+
.join(", "));
813813

814814
unsafe {
815815
let v = llvm::LLVMBuildCall(self.llbuilder, llfn, args.as_ptr(),

src/librustc_trans/trans/debuginfo/metadata.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1445,7 +1445,7 @@ impl<'tcx> EnumMemberDescriptionFactory<'tcx> {
14451445
let discrfield = discrfield.iter()
14461446
.skip(1)
14471447
.map(|x| x.to_string())
1448-
.collect::<Vec<_>>().connect("$");
1448+
.collect::<Vec<_>>().join("$");
14491449
let union_member_name = format!("RUST$ENCODED$ENUM${}${}",
14501450
discrfield,
14511451
null_variant_name);

src/librustc_trans/trans/llrepr.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub trait LlvmRepr {
1919
impl<T:LlvmRepr> LlvmRepr for [T] {
2020
fn llrepr(&self, ccx: &CrateContext) -> String {
2121
let reprs: Vec<String> = self.iter().map(|t| t.llrepr(ccx)).collect();
22-
format!("[{}]", reprs.connect(","))
22+
format!("[{}]", reprs.join(","))
2323
}
2424
}
2525

src/librustc_trans/trans/type_.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ impl TypeNames {
322322

323323
pub fn types_to_str(&self, tys: &[Type]) -> String {
324324
let strs: Vec<String> = tys.iter().map(|t| self.type_to_string(*t)).collect();
325-
format!("[{}]", strs.connect(","))
325+
format!("[{}]", strs.join(","))
326326
}
327327

328328
pub fn val_to_string(&self, val: ValueRef) -> String {

src/librustc_trans/trans/type_of.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ fn llvm_type_name<'a, 'tcx>(cx: &CrateContext<'a, 'tcx>,
461461
let tstr = if strings.is_empty() {
462462
base
463463
} else {
464-
format!("{}<{}>", base, strings.connect(", "))
464+
format!("{}<{}>", base, strings.join(", "))
465465
};
466466

467467
if did.krate == 0 {

src/librustc_typeck/check/method/suggest.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ pub fn report_error<'a, 'tcx>(fcx: &FnCtxt<'a, 'tcx>,
134134
p.self_ty(),
135135
p))
136136
.collect::<Vec<_>>()
137-
.connect(", ");
137+
.join(", ");
138138
cx.sess.fileline_note(
139139
span,
140140
&format!("the method `{}` exists but the \

0 commit comments

Comments
 (0)