Skip to content

Commit bf0d4cc

Browse files
committed
rustc: Allow external structs to be constructed. Closes #3012.
Embarrassing.
1 parent ee2f0dd commit bf0d4cc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/rustc/middle/resolve3.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1476,6 +1476,8 @@ class Resolver {
14761476
if has_constructor {
14771477
child_name_bindings.define_value(def, dummy_sp());
14781478
}
1479+
1480+
self.structs.insert(def_id, has_constructor);
14791481
}
14801482
def_self(*) | def_arg(*) | def_local(*) |
14811483
def_prim_ty(*) | def_ty_param(*) | def_binding(*) |
@@ -4409,7 +4411,7 @@ class Resolver {
44094411
// let bar = Bar { ... } // no type parameters
44104412

44114413
match self.resolve_path(path, TypeNS, false, visitor) {
4412-
some(def_ty(class_id))
4414+
some(def_ty(class_id)) | some(def_class(class_id, _))
44134415
if self.structs.contains_key(class_id) => {
44144416
let has_constructor = self.structs.get(class_id);
44154417
let class_def = def_class(class_id, has_constructor);

0 commit comments

Comments
 (0)