diff --git a/src/res_printer.ml b/src/res_printer.ml index f67fe12f..345d7c6c 100644 --- a/src/res_printer.ml +++ b/src/res_printer.ml @@ -4826,8 +4826,7 @@ and printRecordRow (lbl, expr) cmtTbl punningAllowed = match expr.pexp_desc with | Pexp_ident({txt = Lident key; loc = keyLoc}) when ( punningAllowed && - Longident.last lbl.txt = key && - lbl.loc.loc_start.pos_cnum == keyLoc.loc_start.pos_cnum + Longident.last lbl.txt = key ) -> (* print punned field *) printLidentPath lbl cmtTbl; diff --git a/tests/conversion/reason/expected/bracedJsx.res.txt b/tests/conversion/reason/expected/bracedJsx.res.txt index 27f93d34..b49e82fe 100644 --- a/tests/conversion/reason/expected/bracedJsx.res.txt +++ b/tests/conversion/reason/expected/bracedJsx.res.txt @@ -91,7 +91,7 @@ let make = () => { ], ), } - | SetValue(input) => {...state, input: input} + | SetValue(input) => {...state, input} } , {history: [], input: ""}) diff --git a/tests/conversion/reason/expected/braces.res.txt b/tests/conversion/reason/expected/braces.res.txt index cf164c93..0a3e335d 100644 --- a/tests/conversion/reason/expected/braces.res.txt +++ b/tests/conversion/reason/expected/braces.res.txt @@ -20,5 +20,5 @@ let getDailyNewCases = x => | Pair({prevRecord, record}) => let confirmed = record.confirmed - prevRecord.confirmed let deaths = record.deaths - prevRecord.deaths - {confirmed: confirmed, deaths: deaths} + {confirmed, deaths} } diff --git a/tests/printer/expr/expected/record.res.txt b/tests/printer/expr/expected/record.res.txt index 576cd48c..d639689d 100644 --- a/tests/printer/expr/expected/record.res.txt +++ b/tests/printer/expr/expected/record.res.txt @@ -42,12 +42,14 @@ let user = {name: {(ceo.name: string)}} // Punning let r = {a} // actually not a record, just an expression in braces +let r = {a: a} // single-element record, not punned +let r = {A.a: a} // single-element record, not punned let r = {a, b} let r = {a, b, c: 42} let r = {A.a, b} -let r = {A.a: a, b} -let r = {a: a, b} -let r = {a, b: b} +let r = {A.a, b} +let r = {a, b} +let r = {a, b} // Punning + comments let r = { diff --git a/tests/printer/expr/record.res b/tests/printer/expr/record.res index 4cb993c9..248a46ff 100644 --- a/tests/printer/expr/record.res +++ b/tests/printer/expr/record.res @@ -32,6 +32,8 @@ let user = {name: {(ceo.name: string)}} // Punning let r = {a} // actually not a record, just an expression in braces +let r = {a: a} // single-element record, not punned +let r = {A.a: a} // single-element record, not punned let r = {a, b} let r = {a, b, c: 42} let r = {A.a, b}