Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: Bindgen no longer generates nsTArray in function declarations. #1118

Closed
emilio opened this issue Oct 28, 2017 · 3 comments
Closed
Assignees

Comments

@emilio
Copy link
Contributor

emilio commented Oct 28, 2017

When trying to update bindgen, functions that looked like:

extern "C" {
    pub fn Gecko_GetAnonymousContentForElement(element:
                                                   RawGeckoElementBorrowed)
     -> *mut nsTArray<*mut nsIContent>;
}

Now look like:

extern "C" {
    pub fn Gecko_GetAnonymousContentForElement(element:
                                                   RawGeckoElementBorrowed)
     -> *mut u64;
}

Which means that there was probably a regression in how we detect opaque types and such. Bisecting now.

@emilio
Copy link
Contributor Author

emilio commented Oct 28, 2017

Bisect points angry at me with: bf9b3e9

@emilio
Copy link
Contributor Author

emilio commented Oct 30, 2017

A creduce'd version of this is:

template <class> class a;
template <class b> using c = a<b>;
class e {
  int *d;
};
template <class> class a : e {};
class g {
  a<g *> f;
};
a<g *> *Gecko_GetAnonymousContentForElement();

@emilio
Copy link
Contributor Author

emilio commented Oct 30, 2017

I got a fix for this.

emilio added a commit to emilio/rust-bindgen that referenced this issue Oct 30, 2017
bors-servo pushed a commit that referenced this issue Oct 30, 2017
ir: Don't eagerly-resolve template alias declarations.

Fixes #1118
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant