Comments (1)
The problem stems from trying to distinguish different non-line single-line comments. For example, in this program:
// Comment
const x: int = 5;
impl a {
// My favorite function
fn b()
//
;
}
None of the comments are considered inline, since they all appear on their own dedicated line. The logic in comment_to_doc
thus formats the comment as is, without doing any of the special fixups we do for inline comments, on the assumption that the outer context will handle the appropriate newlines. This works well for the first two cases where the comments are "top level" in a sense, but in the final comment, we're in the midst of the function signature, so we don't add a newline. Then the second run of verusfmt
notices what is now an inline comment and adjusts it to be spaced appropriately.
I just pushed 5395ef2, which fixes this particular example, but it may create issues for other creative places people decide to add comments in the midst of function declarations.
from verusfmt.
Related Issues (20)
- Wildcard type annotations on `let`-bindings are removed
- Parser fails on lifetimes in the parameter list and return type HOT 2
- Consider adding an extra output mode, that prints erased code
- Handling inline comments outside the main verus-body
- Mis-parsing requires clauses as generic arguments HOT 1
- Report filename when formatting multiple files
- Incorrect operator precedence for `&&&` and `forall` HOT 2
- Add support for locally opting out of verusfmt
- Non-idempotency of macro items in presence of in-file `mod`ules
- Non-idempotent `verus!` inside `macro_rules!`
- Formatting of multi-line `seq!` macro HOT 1
- Preservation of stanzas HOT 1
- Unnecessary newline in same-file `mod`ules
- Better handle CRLF normalization
- Allow marking a file as skipped
- odd newline & indentation choices HOT 1
- verus accepts empty requires clause, verusfmt doesn't HOT 1
- Unsupported parsing object 'const_arg' when I used seq macro to repeat some codes inside verus macro. HOT 2
- When using matches, or ('||') is parsed as closure ('| |'). HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from verusfmt.