You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is because attributes only work on items, and objects and methods are not items. Probably the best you can do in this situation is define a function inside the fsync method and conditionalize that. I believe that will work.
* Update rust toolchain to nightly-2022-05-03
This compiles but regression is failing due to unimplemented statement.
* Handle change to Box<T> structure
Box<T> now users NonNull<T> instead of raw pointer.
* Handle new statement kind Deinit
We codegen an assignment to non-det value per documentation. See more
information here:
- rust-lang#95125
* Fix discriminant computation
After the merge, the previous wrapping sub logic was triggering a panic
due to u128 -> i64 conversion. There were also other overflow issues
when trying to convert the `niche_value` to unsigned.
For now, I'm disabling the coversion check which I believe is too
strict. We should consider implementing a more flexible check later that
can be controlled by the user without affecting the internal compiler
codegen.
* Address PR comments:
- Improve comments.
- Remove wrong cast to i64.
- Fix statement location.
- Create util function to create unsigned type.
Likely, this also holds for non toplevel functions. It is inconvenient and probably should be fixed. Example from io.rs:
obj FILE_writer(f: os::libc::FILE, res: option::t@FILE_res) {
#cfg[target="macos"]
fn fsync() { ret macos_os::fsync(f); }
}
will not compile.
The text was updated successfully, but these errors were encountered: