about summary refs log tree commit diff
path: root/src/rustc
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-09-05 17:24:28 -0700
committerPatrick Walton <pcwalton@mimiga.net>2012-09-05 17:24:28 -0700
commit0a852e0da0503b3abcc2dd0b0858f64e3f4dc6b0 (patch)
treee1d6c11cf6636762c27044d56c362a91ba7da86c /src/rustc
parent9097410b433c0d7c7dca8f9296161b3074a8d21e (diff)
downloadrust-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.rs7
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| {