servo: Update to new rust commit. Fix uses of bare function types in DOM bindings code.
authorBrian J. Burg <burg@cs.washington.edu>
Wed, 07 Nov 2012 14:35:21 -0800
changeset 333219 c34c035bbb3a9cb8f2cf420b7cb796b7e86c56ed
parent 333218 c345eb6f1c8aaec41cb844eabf0048c41b64f0d2
child 333220 3315caa84d9e92217a82e0e6e6931bf92d21a876
push id31307
push usergszorc@mozilla.com
push dateSat, 04 Feb 2017 00:59:06 +0000
treeherdermozilla-central@94079d43835f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
servo: Update to new rust commit. Fix uses of bare function types in DOM bindings code. Source-Repo: https://github.com/servo/servo Source-Revision: b3d502b29ab8c73914f2a39983cef20d24a5a973
servo/README.md
servo/src/servo/dom/bindings/utils.rs
--- a/servo/README.md
+++ b/servo/README.md
@@ -3,17 +3,17 @@
 Servo is a prototype web browser engine written in the [Rust]
 language. It is currently developed on OS X and Linux.
 
 **Note:** Servo always requires a specific version of Rust - building
 against a released version of Rust will not work, nor will the Rust
 'master' branch. The commit below will *probably* work. If it does not
 then the topic in #servo might know better.
 
-* Last known-good Rust commit: 94f05c1
+* Last known-good Rust commit: 13c01dd
 
 [rust]: http://www.rust-lang.org
 
 ## Prerequisites
 
 First, you need the Rust compiler, built from the exact commit listed
 above.
 
--- a/servo/src/servo/dom/bindings/utils.rs
+++ b/servo/src/servo/dom/bindings/utils.rs
@@ -90,17 +90,17 @@ extern fn has_instance(_cx: *JSContext, 
             unsafe { *bp = 1; }
             break;
         }
         o = JS_GetPrototype(o);
     }
     return 1;
 }
 
-pub fn prototype_jsclass(name: ~str) -> fn(compartment: &bare_compartment) -> JSClass {
+pub fn prototype_jsclass(name: ~str) -> @fn(compartment: &bare_compartment) -> JSClass {
     |compartment: &bare_compartment, move name| {
         {name: compartment.add_name(copy name),
          flags: 0,
          addProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8,
          delProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8,
          getProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8,
          setProperty: GetJSClassHookStubPointer(STRICT_PROPERTY_STUB) as *u8,
          enumerate: GetJSClassHookStubPointer(ENUMERATE_STUB) as *u8,
@@ -119,17 +119,17 @@ pub fn prototype_jsclass(name: ~str) -> 
                     null(), null(), null(), null(), null(),  // 25
                     null(), null(), null(), null(), null(),  // 30
                     null(), null(), null(), null(), null(),  // 35
                     null(), null(), null(), null(), null())} // 40
     }
 }
 
 pub fn instance_jsclass(name: ~str, finalize: *u8)
-    -> fn(compartment: &bare_compartment) -> JSClass {
+    -> @fn(compartment: &bare_compartment) -> JSClass {
     |compartment: &bare_compartment, move name| {
         {name: compartment.add_name(copy name),
          flags: JSCLASS_HAS_RESERVED_SLOTS(1),
          addProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8,
          delProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8,
          getProperty: GetJSClassHookStubPointer(PROPERTY_STUB) as *u8,
          setProperty: GetJSClassHookStubPointer(STRICT_PROPERTY_STUB) as *u8,
          enumerate: GetJSClassHookStubPointer(ENUMERATE_STUB) as *u8,