diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-03-04 15:18:57 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-04 15:18:57 -0800 |
commit | 6320ed2514d93fdbbd429a6d67ee9e8bfdfcb297 (patch) | |
tree | 385954c782cac23a90382ee3932310246e12dbaf /tests/headers/template-param-usage-15.hpp | |
parent | b71c7ba46b5992e00cc05d9d5788b9cecbcb6305 (diff) | |
parent | 35159dc4f6decb6d00199aeca8630fbfe8fb5d53 (diff) |
Auto merge of #557 - scoopr:objc, r=emilio
objc: Implement whitelist tracing
This implements the tracing facility to enable whitelisting.
The most ugly thing is the collecting of the protocol ItemIds that a interface conforms to. I couldn't use the Item::from_ty because the protocols aren't actually types (in clang), I'm just making them look like one, as thats how they behave in bindgens perspective. So I resorted in linear search of all ItemIds, as it was easyish to implement (local to objc.rs), but there are several good avenues to make that faster if it needs to.
The change to naming the types with the rust_name is also a suspect, I'm not totally sure of all the consequences but this allows the protocols/categories to be disambiguated, otherwise there could be multiple type items with the same name. Somehow I feel that I'm forgetting another rationale as well, from when I originally wrote that line few days ago.
Locally I also got a test failure, but to me that does not seem like it was caused by these changes. In call-conv-field.rs:
```diff
extern "stdcall" {
- #[link_name = "_bar@0"]
+ #[link_name = "bar@0"]
pub fn bar();
}
```
Diffstat (limited to 'tests/headers/template-param-usage-15.hpp')
0 files changed, 0 insertions, 0 deletions