Skip to content

Commit 800110f

Browse files
authored
[prism] Bump ruby-prism to 1.8.0 (#783)
* [prism] Bump ruby-prism to 1.8.0 * Remove a bunch of .iter().next() and .iter().last()
1 parent 25a492c commit 800110f

File tree

3 files changed

+27
-30
lines changed

3 files changed

+27
-30
lines changed

Cargo.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

librubyfmt/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ fancy-regex = "0.14.0"
1414
ripper_deserialize = { path = "ripper_deserialize" }
1515
log = { version = "0.4.8", features = ["max_level_debug", "release_max_level_warn"] }
1616
simplelog = "0.12"
17-
ruby-prism="1.7.0"
17+
ruby-prism="1.8.0"
1818

1919
[target.'cfg(not(target_env = "msvc"))'.dependencies]
2020
tikv-jemallocator = { version = "0.6.1", features = ["disable_initial_exec_tls"], optional=true }

librubyfmt/src/format_prism.rs

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,7 +1124,7 @@ fn format_embedded_statements_node<'src>(
11241124
ps.emit_newline();
11251125
ps.new_block(|ps| format_node(ps, statements.as_node()));
11261126
ps.emit_indent();
1127-
} else if let Some(statement) = statements.body().iter().next() {
1127+
} else if let Some(statement) = statements.body().first() {
11281128
format_node(ps, statement);
11291129
}
11301130
});
@@ -1181,7 +1181,7 @@ fn format_find_pattern_node<'src>(
11811181
});
11821182

11831183
let requireds = find_pattern_node.requireds();
1184-
let requireds_end_offset = requireds.iter().last().unwrap().location().end_offset();
1184+
let requireds_end_offset = requireds.last().unwrap().location().end_offset();
11851185
if !requireds.is_empty() {
11861186
ps.emit_comma();
11871187
ps.emit_soft_newline();
@@ -1522,15 +1522,15 @@ fn format_parameters_node<'src>(ps: &mut ParserState<'src>, params: prism::Param
15221522
if requireds.is_empty() {
15231523
return;
15241524
}
1525-
let end_offset = requireds.iter().last().unwrap().location().end_offset();
1525+
let end_offset = requireds.last().unwrap().location().end_offset();
15261526
format_list_like_thing(ps, requireds, end_offset, false);
15271527
}
15281528
fn fmt_optionals<'a>(ps: &mut ParserState<'a>, params: prism::ParametersNode<'a>) {
15291529
let optionals = params.optionals();
15301530
if optionals.is_empty() {
15311531
return;
15321532
}
1533-
let end_offset = optionals.iter().last().unwrap().location().end_offset();
1533+
let end_offset = optionals.last().unwrap().location().end_offset();
15341534
format_list_like_thing(ps, optionals, end_offset, false);
15351535
}
15361536
fn fmt_rest<'a>(ps: &mut ParserState<'a>, params: prism::ParametersNode<'a>) {
@@ -1544,15 +1544,15 @@ fn format_parameters_node<'src>(ps: &mut ParserState<'src>, params: prism::Param
15441544
if posts.is_empty() {
15451545
return;
15461546
}
1547-
let end_offset = posts.iter().last().unwrap().location().end_offset();
1547+
let end_offset = posts.last().unwrap().location().end_offset();
15481548
format_list_like_thing(ps, posts, end_offset, false);
15491549
}
15501550
fn fmt_keywords<'a>(ps: &mut ParserState<'a>, params: prism::ParametersNode<'a>) {
15511551
let keywords = params.keywords();
15521552
if keywords.is_empty() {
15531553
return;
15541554
}
1555-
let end_offset = keywords.iter().last().unwrap().location().end_offset();
1555+
let end_offset = keywords.last().unwrap().location().end_offset();
15561556
format_list_like_thing(ps, keywords, end_offset, false);
15571557
}
15581558
fn fmt_keyword_rest<'a>(ps: &mut ParserState<'a>, params: prism::ParametersNode<'a>) {
@@ -1634,7 +1634,7 @@ fn use_parens_for_call_node<'src>(
16341634
.map(|args| {
16351635
!(args.arguments().is_empty()
16361636
|| (args.arguments().len() == 1
1637-
&& is_empty_parentheses_node(&args.arguments().iter().next().unwrap())))
1637+
&& is_empty_parentheses_node(&args.arguments().first().unwrap())))
16381638
})
16391639
.unwrap_or(false);
16401640

@@ -1773,7 +1773,7 @@ fn format_call_node<'src>(
17731773
&& !is_aref_write
17741774
&& call_node.arguments().is_some_and(|args| {
17751775
args.arguments().len() == 1
1776-
&& is_empty_parentheses_node(&args.arguments().iter().next().unwrap())
1776+
&& is_empty_parentheses_node(&args.arguments().first().unwrap())
17771777
});
17781778

17791779
if let Some(arguments) = call_node.arguments()
@@ -1782,7 +1782,7 @@ fn format_call_node<'src>(
17821782
// For callers where the only arg is a def node,
17831783
// we assume that's a `public def` style modifier and don't use parens
17841784
if arguments.arguments().len() == 1
1785-
&& let Some(def_node) = arguments.arguments().iter().next().unwrap().as_def_node()
1785+
&& let Some(def_node) = arguments.arguments().first().unwrap().as_def_node()
17861786
{
17871787
ps.emit_space();
17881788
format_def_node(ps, def_node);
@@ -1806,10 +1806,10 @@ fn format_call_node<'src>(
18061806

18071807
ps.emit_ident(" = ");
18081808

1809-
let last_arg =
1810-
arguments.arguments().iter().last().expect(
1811-
"The last argument is the value being assigned and must be present",
1812-
);
1809+
let last_arg = arguments
1810+
.arguments()
1811+
.last()
1812+
.expect("The last argument is the value being assigned and must be present");
18131813
ps.with_start_of_line(false, |ps| format_node(ps, last_arg));
18141814
} else if call_node.is_attribute_write() {
18151815
if !skip_attr_write_value {
@@ -2123,7 +2123,7 @@ fn as_binary_op<'src>(
21232123
return None;
21242124
}
21252125

2126-
let right = arguments.iter().next().unwrap();
2126+
let right = arguments.first().unwrap();
21272127
let method_name = const_to_str(call_node.name());
21282128

21292129
if method_name == "[]" || method_name == "[]=" {
@@ -2163,7 +2163,7 @@ fn format_call_chain_segments<'src>(
21632163
"Expected attr_write to have exactly one argument"
21642164
);
21652165

2166-
args.arguments().iter().next()
2166+
args.arguments().first()
21672167
})
21682168
} else {
21692169
None
@@ -2667,8 +2667,7 @@ fn format_block_node<'src>(ps: &mut ParserState<'src>, block_node: prism::BlockN
26672667
});
26682668
} else {
26692669
ps.with_start_of_line(false, |ps| {
2670-
if let Some(node) = body.as_statements_node().unwrap().body().iter().next()
2671-
{
2670+
if let Some(node) = body.as_statements_node().unwrap().body().first() {
26722671
ps.emit_soft_newline();
26732672
ps.emit_soft_indent();
26742673
format_node(ps, node);
@@ -2990,7 +2989,7 @@ fn format_parentheses_node<'src>(
29902989
if let Some(statements_node) = body.as_statements_node() {
29912990
if statements_node.body().len() == 1 {
29922991
ps.with_start_of_line(false, |ps| {
2993-
format_node(ps, statements_node.body().iter().next().unwrap())
2992+
format_node(ps, statements_node.body().first().unwrap())
29942993
});
29952994
} else {
29962995
ps.emit_newline();
@@ -3558,7 +3557,7 @@ fn format_inline_conditional<'src>(
35583557
if let Some(statements) = statements {
35593558
// There can only be a single statement in modifier form.
35603559
// Format it directly to skip the StatementsNode machinery
3561-
if let Some(first_statement) = statements.body().iter().next() {
3560+
if let Some(first_statement) = statements.body().first() {
35623561
ps.with_start_of_line(false, |ps| format_node(ps, first_statement));
35633562
}
35643563
ps.emit_space();
@@ -4202,9 +4201,7 @@ fn format_lambda_node<'src>(ps: &mut ParserState<'src>, lambda_node: prism::Lamb
42024201
});
42034202
} else {
42044203
ps.with_start_of_line(false, |ps| {
4205-
if let Some(node) =
4206-
body.as_statements_node().unwrap().body().iter().next()
4207-
{
4204+
if let Some(node) = body.as_statements_node().unwrap().body().first() {
42084205
ps.emit_soft_newline();
42094206
ps.emit_soft_indent();
42104207
format_node(ps, node);
@@ -4301,7 +4298,7 @@ fn format_multi_targets<'src>(
43014298

43024299
ps.with_start_of_line(false, |ps| {
43034300
if has_lefts {
4304-
let lefts_offset = lefts.iter().last().unwrap().location().end_offset();
4301+
let lefts_offset = lefts.last().unwrap().location().end_offset();
43054302
format_list_like_thing(ps, lefts, lefts_offset, true);
43064303
}
43074304

@@ -4320,7 +4317,7 @@ fn format_multi_targets<'src>(
43204317
if has_lefts || has_rest {
43214318
ps.emit_comma_space();
43224319
}
4323-
let rights_offset = rights.iter().last().unwrap().location().end_offset();
4320+
let rights_offset = rights.last().unwrap().location().end_offset();
43244321
format_list_like_thing(ps, rights, rights_offset, true);
43254322
}
43264323
});
@@ -4612,7 +4609,7 @@ fn format_return_node<'src>(ps: &mut ParserState<'src>, return_node: prism::Retu
46124609
let arguments_list = arguments.arguments();
46134610
if arguments_list.len() == 1 {
46144611
ps.emit_space();
4615-
format_node(ps, arguments_list.iter().last().unwrap());
4612+
format_node(ps, arguments_list.last().unwrap());
46164613
} else {
46174614
ps.breakable_of(BreakableDelims::for_return_kw(), |ps| {
46184615
ps.with_start_of_line(false, |ps| {

0 commit comments

Comments
 (0)