Summary:
Update eolian_cxx tests in order to remove forbidden eolian notations.
For tests with containers that support non-pointer types,
change `ptr(int)` to `int`.
For tests with containers that only support pointer types,
change `ptr(int)` to `string`.
Remove tests for features that are no longer meaningful with eolian new
restrictions.
Add a FIXME note to eina::range_array when used with eina::string_view.
Reviewers: lauromoura, felipealmeida, q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers, bu5hm4n, segfaultxavi
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9236
later on @owned functions are enforced to have free functions attached,
if not, eolian will bail out. This is ensuring this for the eolian-cxx
functions
Differential Revision: https://phab.enlightenment.org/D7641
This new syntax separates the parent class from extensions, in
a familiar way to similar to e.g. Java. Since changing everything
at once is a lot of effort, implement it alongside for the time
being.
This fixes the C++ compilation tests.
list<int> is not allowed by eolian anymore, as the semantics were
unclear whether a pointer to int was passed, or if the int was stuffed
inside the list by casting.
ptr(string) is also not allowed as it's a pointer to a pointer type.
Both of the above types are strange when it comes to bindings. While C++
could probably be made to work, it's not clear we could have such types
in other bindings. Those types are in fact likely not so useful, as most
APIs can be designed around those restrictions.
This is a new type representing a mutable string (no const).
Regular strings cannot be made mutable with @owned because
they might be hidden behind typedefs.