taichi-dev/taichi
View on GitHub[Lang] Deprecate ti.field(ti.f32), use ti.field(ti.f32, None) instead for advanced layouts
Open
#1,614 opened on Jul 30, 2020
discussionfeature requestgood first issuepythonwelcome contribution
Description
Concisely describe the proposed feature
I'd like to deprecate ti.field(ti.f32), use ti.field(ti.f32, shape=None) instead for advanced layout.
Why? Clarity matters:
- People who knows about advanced layouts definitely won't bother with adding a
None. - Beginners who just want to declare a dense field will be confused by
Some variable(s) not placedand get busy seeking where ashape=xxxis missed. It would be great if we'd raise anargument 'shape' not specifiederror for them.
Describe the solution you'd like (if any)
Since ti.field is a newly-added API, we are OK to tweak it as much as we want before v0.7.0 finally release, we'd only do this on ti.field, not ti.var, both ensuring backward-compatib and pushing refactoring forward.
Simply change def field(dt, shape=None) -> def field(dt, shape) should be OK.
Additional comments @k-ye @yuanming-hu WDYT about this change?