Skip to content

Introduce rb_proc_new and test it#21

Open
tinco wants to merge 1 commit into
steveklabnik:masterfrom
tinco:master
Open

Introduce rb_proc_new and test it#21
tinco wants to merge 1 commit into
steveklabnik:masterfrom
tinco:master

Conversation

@tinco
Copy link
Copy Markdown

@tinco tinco commented Apr 11, 2017

I tried making it accept more than one arguments, but failed. If I make it be variadic, and then transmute multi-argument function references to that, the second argument will still always be nil. I don't know enough about variadic argument functions to understand why this would happen.

I'm not sure if this is good to merge in as it is, since a proper variadic implementation might not be compatible with consumers of this API.

Also, I hope you don't mind I made a test for it, it helped find the right signatures and finding out if all the values were being set correctly. Also I think it's nice if there's examples of how to use these functions in here, because there sure aren't any in the Ruby codebase.

@steveklabnik
Copy link
Copy Markdown
Owner

Also, I hope you don't mind I made a test for it, it helped find the right signatures and finding out if all the values were being set correctly. Also I think it's nice if there's examples of how to use these functions in here, because there sure aren't any in the Ruby codebase.

Not at all! And I agree 100%.

I'm not mega mega familiar with the details here, so I'll give this a real review at some point, but I can't right now. Thank you for the PR!

@tinco
Copy link
Copy Markdown
Author

tinco commented Apr 19, 2017

This PR was not 100% correct, after reading a bunch of Ruby code and some help from the rust IRC channel I fully understand how it works now. I've got working code in my branch now, I'll clean it up and push it to this PR when I get some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants