rustc: Allow external structs to be constructed. Closes #3012.
Embarrassing.
This commit is contained in:
parent
ee2f0dd638
commit
bf0d4cc035
1 changed files with 3 additions and 1 deletions
|
@ -1476,6 +1476,8 @@ class Resolver {
|
||||||
if has_constructor {
|
if has_constructor {
|
||||||
child_name_bindings.define_value(def, dummy_sp());
|
child_name_bindings.define_value(def, dummy_sp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.structs.insert(def_id, has_constructor);
|
||||||
}
|
}
|
||||||
def_self(*) | def_arg(*) | def_local(*) |
|
def_self(*) | def_arg(*) | def_local(*) |
|
||||||
def_prim_ty(*) | def_ty_param(*) | def_binding(*) |
|
def_prim_ty(*) | def_ty_param(*) | def_binding(*) |
|
||||||
|
@ -4409,7 +4411,7 @@ class Resolver {
|
||||||
// let bar = Bar { ... } // no type parameters
|
// let bar = Bar { ... } // no type parameters
|
||||||
|
|
||||||
match self.resolve_path(path, TypeNS, false, visitor) {
|
match self.resolve_path(path, TypeNS, false, visitor) {
|
||||||
some(def_ty(class_id))
|
some(def_ty(class_id)) | some(def_class(class_id, _))
|
||||||
if self.structs.contains_key(class_id) => {
|
if self.structs.contains_key(class_id) => {
|
||||||
let has_constructor = self.structs.get(class_id);
|
let has_constructor = self.structs.get(class_id);
|
||||||
let class_def = def_class(class_id, has_constructor);
|
let class_def = def_class(class_id, has_constructor);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue