Comments (4)
as rust refenrence:
LetStatement :
OuterAttribute* let PatternNoTopAlt ( : Type )? (= Expression † ( else BlockExpression) ? ) ? ;
gccrs/gcc/rust/parse/rust-parse-impl.h
Lines 6248 to 6265 in 53d8e04
is this the problem? we han't consume else
part in parser ?
from gccrs.
this is a complex problem - let-else
are only stable since Rust 1.65, while we target Rust 1.49. We'll need to handle them properly eventually but there's not a lot of infrastructure for them at the moment. We do need to modify the parser to accept them, so that would be a good first task for fixing that issue :)
from gccrs.
for let-else ast node lowering to tree node , looks like should refactor HIR::LetStmt process ?
from gccrs.
yes, we'll need to refactor both the HIR::LetStmt
and AST::LetStmt
as they both can't handle else
expressions
from gccrs.
Related Issues (20)
- Invalid "unconstrained type parameter" error
- `Deref` and `DerefMut` cause ambiguity issues when resolving HOT 3
- Invalid "duplicate definitions" error in `Cell<T>` implementation
- Impl block after macro expansion triggers macro expansion recursion limit HOT 1
- Unknown reference for resolved name `Self` in impl of `Clone` for `!`
- ICE when implementing `Default` for `()`
- Add `va_list` lang item
- Name resolve `#[fundamental]` attribute properly
- Handle list of const intrinsics properly for 1.49
- Add `discriminant_kind` lang item
- Add `#[rustc_specialization_trait]` attribute HOT 1
- Add `#[rustc_unsafe_specialization_marker]` attribute
- Prevent `#[may_dangle]` attribute from being used in safe impl
- ICE when on invalid-code when construction enum
- Do not link with `-ldl` and `-lpthread` unless necessary
- Handle outer attributes properly for inline assembly
- Improve `-ldl -lpthread` checks in `./configure`
- Safe guard InlineAsm-related structs
- Remove unnecessary #include from rust-expr.h HOT 2
- Fully incorporate tl::expected into InlineAsm parsing
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 gccrs.