(Please edit this post if I use incorrect C++ terms. I'm a total C++ noob.)
How does Objective-C nullability work with C++ objects in an Objective-C++ class?
For example, given the following type and function:
typedef struct
{
const Foo* fooArray;
uint32_t fooArrayLength;
} FooList;
uint32_t GetFoo(const std::string& bar, std::shared_ptr<const FooList>& result);
Is it legal to redefine GetFoo
thusly?
uint32_t GetFoo(const std::string& _Nonnull bar, std::shared_ptr<const FooList _Nullable>& _Nonnull result);
Will I get any warnings from either clang or the static analyzer if I call GetFoo
thusly?
GetFoo(nil, nil);