diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-09-05 17:24:28 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-09-05 17:24:28 -0700 |
| commit | 0a852e0da0503b3abcc2dd0b0858f64e3f4dc6b0 (patch) | |
| tree | e1d6c11cf6636762c27044d56c362a91ba7da86c /src/rustc | |
| parent | 9097410b433c0d7c7dca8f9296161b3074a8d21e (diff) | |
| download | rust-0a852e0da0503b3abcc2dd0b0858f64e3f4dc6b0.tar.gz rust-0a852e0da0503b3abcc2dd0b0858f64e3f4dc6b0.zip | |
rustc: Make "priv" work on enum variants
Diffstat (limited to 'src/rustc')
| -rw-r--r-- | src/rustc/middle/resolve.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rustc/middle/resolve.rs b/src/rustc/middle/resolve.rs index e52f8993d59..05872159f8c 100644 --- a/src/rustc/middle/resolve.rs +++ b/src/rustc/middle/resolve.rs @@ -1091,23 +1091,24 @@ struct Resolver { let atom = variant.node.name; let (child, _) = self.add_child(atom, parent, ~[ValueNS], variant.span); + let privacy = self.visibility_to_privacy(variant.node.vis); match variant.node.kind { tuple_variant_kind(_) => { - (*child).define_value(Public, + (*child).define_value(privacy, def_variant(item_id, local_def(variant.node.id)), variant.span); } struct_variant_kind(_) => { - (*child).define_type(Public, + (*child).define_type(privacy, def_variant(item_id, local_def(variant.node.id)), variant.span); self.structs.insert(local_def(variant.node.id), false); } enum_variant_kind(enum_definition) => { - (*child).define_type(Public, + (*child).define_type(privacy, def_ty(local_def(variant.node.id)), variant.span); for enum_definition.variants.each |variant| { |
