-
Notifications
You must be signed in to change notification settings - Fork 389
Description
In #1181, I published a tentative implementation for Rust type aliases.
The problem to solve is the following: we have two bridges, one exporting the Rust type, the other declaring functions, which need to work with this type. Currently, one cannot express this, because trying to use the same type in the second bridge would fail, since RustType trait is already implemented. So we need a possibility to specify an alias.
The tentative implementation specifies the alias via type Name = ::path::Name, where Name must be same on both sides. That's somewhat bad, since ideal would be an use ::path::Name statement. However, use is not allowed in extern blocks.
The question: Do we want to allow use for Rust types on the bridge module level? Writing use ::path::Name at the bridge level would be idiomatic Rust and we could generate appropriate Rust type alias with checks and so on at that level, instead of misusing type syntax in an extern block for it.
Any other ideas how to express it?
Thanks.