diff options
author | bors-servo <release+servo@mozilla.com> | 2014-03-23 11:46:47 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-03-23 11:46:47 -0400 |
commit | e67d8a4003738a95d769ee562b3d45de1be279c2 (patch) | |
tree | 3fabcd10eaf38b508e3ff975a35fb7c2d532efbe | |
parent | de67069b0aad36301718e112e1f830ebc108be46 (diff) | |
parent | cfb2af60d8d6fcb1dad2d949f9f32aa369919ed8 (diff) | |
download | servo-e67d8a4003738a95d769ee562b3d45de1be279c2.tar.gz servo-e67d8a4003738a95d769ee562b3d45de1be279c2.zip |
auto merge of #1947 : saneyuki/servo/cast, r=jdm
follow up https://github.com/mozilla/servo/pull/1864#issuecomment-37109672
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index a422ee93a5b..ded87534683 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -5745,10 +5745,12 @@ class GlobalGenRoots(): derived += [CGGeneric('\n')] cast = [CGGeneric(string.Template('''pub trait ${castTraitName} { + #[inline(always)] fn from<T: ${fromBound}>(derived: &JS<T>) -> JS<Self> { unsafe { derived.clone().transmute() } } + #[inline(always)] fn to<T: ${toBound}>(base: &JS<T>) -> Option<JS<Self>> { match base.get().${checkFn}() { true => unsafe { Some(base.clone().transmute()) }, @@ -5756,6 +5758,7 @@ class GlobalGenRoots(): } } + #[inline(always)] unsafe fn to_unchecked<T: ${toBound}>(base: &JS<T>) -> JS<Self> { assert!(base.get().${checkFn}()); base.clone().transmute() |