Comments (1)
With the following diff, count
is clearly correctly getting set to 0
. I believe the issue is that mruby is not making any guarantees about the args
pointer value if there are indeed no args pushed onto the VM's stack.
diff --git i/artichoke-backend/src/macros.rs w/artichoke-backend/src/macros.rs
index d888165fae..7b6bc4a78a 100644
--- i/artichoke-backend/src/macros.rs
+++ w/artichoke-backend/src/macros.rs
@@ -422,6 +422,8 @@ macro_rules! mrb_get_args {
args.as_mut_ptr(),
count.as_mut_ptr(),
);
+ dbg!(count.assume_init());
+ dbg!(_argc);
std::slice::from_raw_parts(args.assume_init(), count.assume_init())
}};
}
Fixing this should be as simple as returning an empty slice if count == 0
.
from artichoke.
Related Issues (20)
- Tests in `spec-runner/vendor/ruby` are not for MRI 3.1.2 HOT 2
- Build Rust crate for truncating floats to ints aka `RB_FIXABLE`
- Add support for `Regexp` needles to `String#byteindex` HOT 4
- `String#index` and `String#rindex` should return character offsets instead of byte offsets
- Add `byteindex` and `byterindex` methods to `spinoso-string`
- Add support for `Regexp` needles to `String#index` and `String#rindex` HOT 7
- Creating Time with `Time.utc` or `Time.local` should wrap 60 seconds around if not a valid leap second HOT 8
- spinoso-time error enum contains private, unreported types
- Parse difference with MRI for un-parenthesized method calls with an un-bracketed hash argument HOT 1
- scolapasta-path incorrectly mutates verbatim paths on Windows
- MatchData#offset returns byte offset instead of utf8 char offset for utf8 strings
- Dependabot cannot parse `rust-toolchain` file HOT 2
- Evaluate Profile-Guided Optimization (PGO) HOT 3
- `spinoso_string::String::chars` does not yield encoded strings
- `String#chars` is slow
- Embed a Windows manifest file in Artichoke binaries
- Naming of internal packages HOT 2
- Awareness opportunity: add to asdf/mise plugin HOT 2
- Private vulnerability reporting HOT 4
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 artichoke.