Comments (6)
You're missing a semicolon before @ if nabar_drawer
(what, you wanted a nice error message?). In the past, issuing compiler errors from macros was impossible so I didn't even bother trying to handle error cases nicely but that has since changed with the introduction of the compile_error
macro so I'll open an issue for sane errors.
from horrorshow-rs.
from horrorshow-rs.
Thank you that fixed it, I though I got all those. I also never knew that macros couldn't have error handling, but yes having any type of error handling would be nice other than the 'it failed' kind it has now.
from horrorshow-rs.
They can now but it's still very difficult. For example, there's no way to get the line on which a token occurs in a macro (as far as I know at least).
Note: This only applies to declarative macros (like horrorshow). Procedural macros are a lot more flexible (they're just procedural code).
from horrorshow-rs.
Perhaps it could be done by the render, like it walks through and if it finds something that breaks then it takes note of it and logs it.
from horrorshow-rs.
Unfortunately not. That happens at run-time but macro syntax errors happen at compile time.
from horrorshow-rs.
Related Issues (20)
- Missing Fragment Specifier Warning HOT 2
- Context-aware escaping HOT 3
- Indenting / nesting content macro HOT 7
- Combining templates with `fold`/`match` -> no two closures have the same type. HOT 3
- Nice error messages
- improving example HOT 17
- no std support? + specify Cargo.toml in README HOT 2
- Infinite recursion with RenderOnce::size_hint HOT 1
- escaping converts foreign letters to < > HOT 1
- Add #[macro_export(local_inner_macros)] attribute to support Rust 2018 HOT 1
- Callbacks/passing values from the DOM back into Rust? HOT 2
- Empty div not closing properly HOT 4
- Indenting/reformatting in IntelliJ doesn't fix indentation HOT 2
- HTML boolean attribute support? HOT 1
- How to make a layout that accepts content? HOT 3
- Possibility for custom tags with hyphenated names? HOT 1
- Implement template into ActixWeb HOT 2
- wishlist: Explore applicability to DOM creation HOT 3
- Feature request: render to `Bytes` HOT 3
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 horrorshow-rs.