-
-
Notifications
You must be signed in to change notification settings - Fork 411
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
Audit use of Seq and try to make it less restrictive. #1131
Comments
Is there anything this should be tagged as? |
Thanks, I added some tags. This is ready for someone to pick up if they want to do an audit. |
Just an audit of usage in the standard library? Or anything else? |
I'd say just do the standard library. If there are conflicts between the proposed new interfaces and users existing code, hopefully those will come to light in the RFC process. |
@jemc: Sounds good, here's an overview. I can do something more in depth in a day or so to see where and how the various returned
Implemented explicitly by:
Used as return in interfaces (other than
Used as return (or constraint on return) in concrete types:
Used as parameter (or constraint on parameter) in concrete types:
|
@Perelandric thanks for the first pass audit. have you had a chance to dig in any further? |
@SeanTAllen My attempt so far is probably naive. I've merely searched for explicit uses of |
Next step would be for someone to confirm which methods of |
@Perelandric do you want to continue on with this or should I reach out to the dev list and see if anyone wants to take it on? |
@SeanTAllen Please put it out on the list. Thanks. |
@Perelandric email sent |
@jemc can you write up an issue on the RFC repo requesting the RFC and we can close this one out. I'm working on other RFCs now. |
Closed in favor of ponylang/rfcs#61. |
As discussed on the sync call, we want to audit the
Seq
interface, as it currently contains a lot of methods that make extra assumptions about what kind of sequence is being dealt with, whether it has a fixed size, whether the underlying pointer can be resized, etc.In the upcoming value-dependent type changes, we will have a
Vector
type with a fixed size that won't be compatible withSeq
as it currently stands.I would suggest reducing the number of methods in
Seq
and possibly adding other interfaces to coverSeq
s that have a size that isn't fixed, and the ability to reserve more space in the pointed-to-buffer.The text was updated successfully, but these errors were encountered: