Comments (1)
@scala.scalanative.runtime.struct
is a legacy, experimental way of interacting with C-like structs. As the package name suggests it's private to the runtime. These can be only used as receivers e.g. to extract fields of struct value returned by the extern method.
There were plans to make these a 1st class citizens (#897 ), but this improvement was postponed due to multiple difficulties of working with structs. Notably the issue of passing structs by value in the C interop as well as issues of converting between reference and value of a struct.
The error shown above is a fallout of partial implementation of @struct
- these do not define constructors.
Current, idiomatic, way of dealing with C-structs involves usage of anonymous unsafe.CStructN
types and typically creating an extension methods for easier interaction with them. Sadly, it's currently the only way until we'd be able to introduce new FFI model.
from scala-native.
Related Issues (20)
- ThreadLocal.Values#getAfterMiss can get into an infinite loop
- javalib `Process#waitFor(timeout)` macOS & unix-like os calls should be in a try/finally block HOT 1
- How to map a large struct? HOT 19
- Compiler produces a confusing unrelated error in presence of Zone HOT 1
- Available runtime processors is not really number of available processors HOT 8
- Potential doubling linking in Scala Native 0.5
- javalib ProcessTest needs distinguished assertions
- Scala Native / Fails to compile & produce object files for the larger header (.h) files HOT 4
- Properly sized and aligned union representation
- IEEE 754 Negative zeros get no respect. HOT 3
- Defects in Scala Native javalib IEEE 754 handling of negative zero in constructor HOT 2
- javalib Math#min & Math#max do not consistently handle IEEE754 negative zero on CI LLVM versions.
- ReleaseFast mangles java.Double IEEE 754 negative zeros
- Scala Native execution can hang in Scala 2.13 HOT 1
- javalib List class could benefit from work HOT 4
- Proposed work plan for some javalib post Java 8 improvements HOT 1
- javalib AbstractSet#equals does restrict matches to only other Sets.
- Javalib `Set.scala` is missing a number of methods.
- [docs] request - remove `$` from commands for copy pasting HOT 5
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 scala-native.