-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix IO::ARGF#read should always return i32 #10828
Conversation
This pull is probably not actually useful as I just made a stab at what needed to be changed |
Probably some IO type outside of the std library is returning an Int64. I don't think that's totally wrong, so maybe we should revert this return type annotation |
related to this pull #10580 |
As long as The real problem however is that the error message points to the abstract def, not the implementation which breaks the contract by returning |
But this is breaking someone's code. I don't think we are allowed to do that. |
Returning anything else but Int32 is a bug. Adding that type restriction in the abstract def just makes it visible. |
Ooops, sry I incorrectly identified this error as being caused by adding a return type to an abstract def. But this is really not the case in #10580. It adds a type restriction to the implementation. As @stakach suggested, this might be caused by a missing conversion from ˋSizeTˋ. So maybe it's our own code that's broken. We should have noticed that, though because we run CI against aarch64-musl. @stakach Can you provide information on the target platform and possibly a reduced reproduction? (ˋ--error-traceˋ would already help as well) |
This is where I'm seeing the error Which looks like the fix is to call |
We can probably call |
Could you try changing that in this PR and see if all specs pass here, and also pass in that ssh library? |
This fix is just a workaround, though.
But I think we should add a TODO comment and open an issue to track this. |
seeing errors like this on nightly