Simplify type resolution of named impl keys
diff --git a/gen/src/write.rs b/gen/src/write.rs
index 406018a..9f9c039 100644
--- a/gen/src/write.rs
+++ b/gen/src/write.rs
@@ -1374,8 +1374,7 @@
}
fn write_rust_box_extern(out: &mut OutFile, key: NamedImplKey) {
- let ident = key.rust;
- let resolve = out.types.resolve(ident);
+ let resolve = out.types.resolve(&key);
let inner = resolve.name.to_fully_qualified();
let instance = resolve.name.to_symbol();
@@ -1441,8 +1440,7 @@
}
fn write_rust_box_impl(out: &mut OutFile, key: NamedImplKey) {
- let ident = key.rust;
- let resolve = out.types.resolve(ident);
+ let resolve = out.types.resolve(&key);
let inner = resolve.name.to_fully_qualified();
let instance = resolve.name.to_symbol();
@@ -1741,8 +1739,7 @@
}
fn write_weak_ptr(out: &mut OutFile, key: NamedImplKey) {
- let ident = key.rust;
- let resolve = out.types.resolve(ident);
+ let resolve = out.types.resolve(&key);
let inner = resolve.name.to_fully_qualified();
let instance = resolve.name.to_symbol();
diff --git a/syntax/resolve.rs b/syntax/resolve.rs
index 08fcf16..821f542 100644
--- a/syntax/resolve.rs
+++ b/syntax/resolve.rs
@@ -1,3 +1,4 @@
+use crate::syntax::instantiate::NamedImplKey;
use crate::syntax::{Lifetimes, NamedType, Pair, Types};
use proc_macro2::Ident;
@@ -31,3 +32,9 @@
&self.rust
}
}
+
+impl<'a> UnresolvedName for NamedImplKey<'a> {
+ fn ident(&self) -> &Ident {
+ self.rust
+ }
+}