From 42ba45743937739d7b80229cb1891d3c96a06099 Mon Sep 17 00:00:00 2001 From: Hackerpilot Date: Thu, 5 Mar 2015 19:08:38 -0800 Subject: [PATCH] Fix #38. --- src/dfmt.d | 9 ++++++++- tests/issue0038.d | 5 +++++ tests/issue0038.d.ref | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/issue0038.d create mode 100644 tests/issue0038.d.ref diff --git a/src/dfmt.d b/src/dfmt.d index f66a504..5acb9c9 100644 --- a/src/dfmt.d +++ b/src/dfmt.d @@ -333,6 +333,10 @@ private: writeToken(); writeParens(true); break; + case tok!"is": + writeToken(); + write(" "); + break; default: if (index + 1 < tokens.length) { @@ -395,8 +399,11 @@ private: case tok!"(": writeParens(true); break; - case tok!"@": case tok!"!": + if (peekIs(tok!"is")) + write(" "); + goto case; + case tok!"@": case tok!"...": case tok!"[": case tok!"++": diff --git a/tests/issue0038.d b/tests/issue0038.d new file mode 100644 index 0000000..53e8577 --- /dev/null +++ b/tests/issue0038.d @@ -0,0 +1,5 @@ +static int isInfinity(double r) +{ + auto a = r is double.infinity || r is-double.infinity; + auto b = r is double.infinity || r!is-double.infinity; +} diff --git a/tests/issue0038.d.ref b/tests/issue0038.d.ref new file mode 100644 index 0000000..97d7dc8 --- /dev/null +++ b/tests/issue0038.d.ref @@ -0,0 +1,5 @@ +static int isInfinity(double r) +{ + auto a = r is double.infinity || r is -double.infinity; + auto b = r is double.infinity || r !is -double.infinity; +}