Closed Bug 1500118 Opened 6 years ago Closed 5 years ago

Build bustage: out/gecko/structs.rs:587:11595: error[E0412]: cannot find type `T` in this scope

Categories

(Core :: CSS Parsing and Computation, defect, P2)

64 Branch
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: mayhemer, Assigned: emilio)

References

Details

Attachments

(3 files)

Attached patch patch to demoSplinter Review
Full error log will be added in an attachment to make it more readable (long lines).

Windows debug build, on few days old m-c.

STR:
- update m-c to 00676b03ab53
- apply the attached patch
- ./mach build

In a nut shell: I've added few new templates to mozglue, under a new dir `backtrack`.  When I create a new member with type being one of those templates in the nsIDocument class, I start getting these build errors.

The minimal change that introduces this build error is the new 

mozilla::backtrack::Queue<nsCOMPtr<nsIRunnable>> mFrameLoaderFinalizers__

member in dom\base\nsIDocument.h, line 4687.  If you comment that out, the tree builds.
Guys, can you please help?  This really blocks me, thanks.
Flags: needinfo?(mshal)
Flags: needinfo?(cmanchester)
This isn't a build system problem, it's a problem with the stylo build script that runs bindgen to generate Rust code from Gecko C++ types. I don't know the answer, but emilio should. I would guess you need to make a change to ServoBindings.toml:
https://dxr.mozilla.org/mozilla-central/source/layout/style/ServoBindings.toml
Component: General → CSS Parsing and Computation
Flags: needinfo?(mshal)
Flags: needinfo?(emilio)
Flags: needinfo?(cmanchester)
Product: Firefox Build System → Core
Attached patch patchSplinter Review
Yeah, sorry for the hassle... Bindgen gets somewhat confused when template parameters aren't just types, mostly because libclang doesn't expose them. The PageSize parameter in Queue is the one that's causing it to fall apart.

This allows me to build, you can land it with r=emilio when you please.
Assignee: nobody → emilio
Flags: needinfo?(emilio)
(In reply to Emilio Cobos Álvarez (:emilio) from comment #4)
> Created attachment 9018310 [details] [diff] [review]
> patch
> 
> Yeah, sorry for the hassle... Bindgen gets somewhat confused when template
> parameters aren't just types, mostly because libclang doesn't expose them.
> The PageSize parameter in Queue is the one that's causing it to fall apart.
> 
> This allows me to build, you can land it with r=emilio when you please.

Thanks for such a quick reply, Emilio!  This works for me.  I will land along with patches in bug 1148204.
Priority: -- → P2
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: