Closed insertinterestingnamehere closed 8 years ago
Thanks a lot for this. Did you see the same weird type.h errors I saw?
What's happening here is that the API for a few things are going to change. Since we're going to allow types to have base types (and not just base IDs), some of the information that is currrently in the type registry will become methods in ndt::type. Just currently in transition.
Right. If I remember right, those particular errors were from an include order issue. When I fixed the code in ndt_type_from_pylist
(formerly located in type_conversions.hpp) to not use the old constructor, it triggered a clang-format run that changed the include order so that type_api.h was included first. Cython doesn't currently include other headers in their API headers (arguably either a bug or a not-supported feature), so the error reflects that no DyND header had been included when dynd::ndt::type
was referenced in that header. We should have had some whitespace there to prevent the re-ordering. Ironically, ndt_type_from_pylist
has no business being in the type_conversions files anyway. I went ahead and moved it into the type_deduction files instead.
Bugfixes to bring dynd-python into sync with https://github.com/libdynd/libdynd/pull/1254. Several bits of random cleanup that I took care of along the way are also included. We should discuss what the best way is to map type ids back to types (or how to eliminate a few remaining cases where that needs to happen). Here I ended up having to use
dynd::ndt::infos()
in a few places, and that seems less than ideal.