Skip to content

Commit 82b4660

Browse files
committed
Fix formatting by updating to lalrpop 0.19
1 parent b1899bf commit 82b4660

File tree

6 files changed

+95
-27
lines changed

6 files changed

+95
-27
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,4 @@ features = ["docs_rs"]
147147
# debug = 2
148148
#
149149
# [profile.release]
150-
# debug = 2
150+
# debug = 2

format/tests/pretty_print.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ fn new_vm() -> RootedThread {
1616

1717
fn format_expr(expr: &str) -> gluon::Result<String> {
1818
let thread = new_vm();
19+
thread.get_database_mut().set_implicit_prelude(false);
1920
thread.format_expr(&mut format::Formatter::default(), "test", expr)
2021
}
2122

2223
fn format_expr_expanded(expr: &str) -> gluon::Result<String> {
2324
let thread = new_vm();
25+
thread.get_database_mut().set_implicit_prelude(false);
2426
thread.format_expr(&mut format::Formatter { expanded: true }, "test", expr)
2527
}
2628

@@ -389,6 +391,17 @@ abc ""
389391
assert_diff!(&format_expr(expr).unwrap(), expr, "\n", 0);
390392
}
391393

394+
#[test]
395+
fn comments_between_lambda_and_let() {
396+
let expr = r#"
397+
\x ->
398+
// abc
399+
let y = x
400+
y
401+
"#;
402+
assert_diff!(&format_expr(expr).unwrap(), expr, "\n", 0);
403+
}
404+
392405
#[test]
393406
#[ignore] // TODO
394407
fn function_type_with_comments() {

parser/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ travis-ci = { repository = "gluon-lang/gluon" }
2121
collect-mac = "0.1.0"
2222
itertools = "0.8"
2323
quick-error = "1.0.0"
24-
lalrpop-util = "0.18"
24+
lalrpop-util = "0.19"
2525
log = "0.4"
2626
pretty = "0.9"
2727
gluon_base = { path = "../base", version = "0.14.1" } # GLUON
@@ -36,7 +36,7 @@ difference = "2"
3636
pretty_assertions = "0.6"
3737

3838
[build-dependencies]
39-
lalrpop = "0.18"
39+
lalrpop = "0.19"
4040

4141
[[bench]]
4242
name = "parser"

parser/src/lib.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,21 +72,23 @@ type LalrpopError<'input> =
7272
lalrpop_util::ParseError<BytePos, BorrowedToken<'input>, Spanned<Error, BytePos>>;
7373

7474
/// Shrink hidden spans to fit the visible expressions and flatten singleton blocks.
75-
fn shrink_hidden_spans<Id>(mut expr: SpannedExpr<Id>) -> SpannedExpr<Id> {
75+
fn shrink_hidden_spans<Id: std::fmt::Debug>(mut expr: SpannedExpr<Id>) -> SpannedExpr<Id> {
7676
match expr.value {
7777
Expr::Infix { rhs: ref last, .. }
7878
| Expr::IfElse(_, _, ref last)
79-
| Expr::LetBindings(_, ref last)
8079
| Expr::TypeBindings(_, ref last)
8180
| Expr::Do(Do { body: ref last, .. }) => {
8281
expr.span = Span::new(expr.span.start(), last.span.end())
8382
}
83+
Expr::LetBindings(_, ref last) => expr.span = Span::new(expr.span.start(), last.span.end()),
8484
Expr::Lambda(ref lambda) => {
8585
expr.span = Span::new(expr.span.start(), lambda.body.span.end())
8686
}
8787
Expr::Block(ref mut exprs) => match exprs {
8888
[] => (),
89-
[e] => return std::mem::take(e),
89+
[e] => {
90+
return std::mem::take(e);
91+
}
9092
_ => expr.span = Span::new(expr.span.start(), exprs.last().unwrap().span.end()),
9193
},
9294
Expr::Match(_, ref alts) => {

vm/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ crossbeam-utils = "0.6"
2828
frunk_core = "0.3"
2929
futures = { version = "0.3.1", features = ["compat", "async-await"] }
3030
itertools = "0.8"
31-
lalrpop-util = { version = "0.18", optional = true }
31+
lalrpop-util = { version = "0.19", optional = true }
3232
log = "0.4"
3333
ordered-float = "1"
3434
parking_lot = "0.9"
@@ -52,7 +52,7 @@ gluon_codegen = { path = "../codegen", version = "0.14.1" } # GLUON
5252
gluon_parser = { path = "../parser", version = "0.14.1", optional = true } # GLUON
5353

5454
[build-dependencies]
55-
lalrpop = { version = "0.18", features = ["lexer"], optional = true }
55+
lalrpop = { version = "0.19", features = ["lexer"], optional = true }
5656

5757
[dev-dependencies]
5858
difference = "2"
@@ -63,7 +63,7 @@ pretty_assertions = "0.6"
6363
# (which requires gluon_vm to be published)
6464
gluon = { path = "..", version = ">=0.9" }
6565

66-
lalrpop-util = "0.18"
66+
lalrpop-util = "0.19"
6767
regex = "1"
6868
serde_json = "1.0.0"
6969

0 commit comments

Comments
 (0)