mojo
mojo copied to clipboard
[Feature Request] `ListLiteral` should be subscriptable and implement `__iter__`
Review Mojo's priorities
- [X] I have read the roadmap and priorities and I believe this request falls within the priorities.
What is your request?
its really not good entry level experience if list literal is not subscribtable or iterable
What is your motivation for this change?
error: Expression [10]:45:27: 'ListLiteral[[!kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>]]' is not subscriptable, it does not implement the `__getitem__`/`__setitem__` methods
error: Expression [12]:44:25: 'ListLiteral[[!kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>, !kgen.declref<_"$StringLiteral"::_StringLiteral>]]' does not implement the '__iter__' method
Any other details?
x
We have to evolve our list representation a bit. [1, 2, 3]
should be subscriptable but something like [1, "foo"]
will be a bit trickier to handle.
I have this issue with DynamicVector[String] as well
regarding __iter__
Indeed, as of Mojo version 0.7.0:
-
__iter__
is still not implemented forDynamicVector[String]
-
__iter__
and__getitem__
,__setitem__
,__refitem__
are not implemented forListLiteral
Related issues: #88, #89, now closed in favor of #100.