Skip to content

Commit 831f909

Browse files
committed
rustc: Convert statics to constants
1 parent b8fb0cf commit 831f909

File tree

14 files changed

+189
-189
lines changed

14 files changed

+189
-189
lines changed

src/librustc/back/link.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,22 +55,22 @@ use syntax::parse::token;
5555

5656
// This is the "magic number" expected at the beginning of a LLVM bytecode
5757
// object in an rlib.
58-
pub static RLIB_BYTECODE_OBJECT_MAGIC: &'static [u8] = b"RUST_OBJECT";
58+
pub const RLIB_BYTECODE_OBJECT_MAGIC: &'static [u8] = b"RUST_OBJECT";
5959

6060
// The version number this compiler will write to bytecode objects in rlibs
61-
pub static RLIB_BYTECODE_OBJECT_VERSION: u32 = 1;
61+
pub const RLIB_BYTECODE_OBJECT_VERSION: u32 = 1;
6262

6363
// The offset in bytes the bytecode object format version number can be found at
64-
pub static RLIB_BYTECODE_OBJECT_VERSION_OFFSET: uint = 11;
64+
pub const RLIB_BYTECODE_OBJECT_VERSION_OFFSET: uint = 11;
6565

6666
// The offset in bytes the size of the compressed bytecode can be found at in
6767
// format version 1
68-
pub static RLIB_BYTECODE_OBJECT_V1_DATASIZE_OFFSET: uint =
68+
pub const RLIB_BYTECODE_OBJECT_V1_DATASIZE_OFFSET: uint =
6969
RLIB_BYTECODE_OBJECT_VERSION_OFFSET + 4;
7070

7171
// The offset in bytes the compressed LLVM bytecode can be found at in format
7272
// version 1
73-
pub static RLIB_BYTECODE_OBJECT_V1_DATA_OFFSET: uint =
73+
pub const RLIB_BYTECODE_OBJECT_V1_DATA_OFFSET: uint =
7474
RLIB_BYTECODE_OBJECT_V1_DATASIZE_OFFSET + 8;
7575

7676

src/librustc/driver/config.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,10 @@ pub enum CrateType {
154154

155155
macro_rules! debugging_opts(
156156
([ $opt:ident ] $cnt:expr ) => (
157-
pub static $opt: u64 = 1 << $cnt;
157+
pub const $opt: u64 = 1 << $cnt;
158158
);
159159
([ $opt:ident, $($rest:ident),* ] $cnt:expr ) => (
160-
pub static $opt: u64 = 1 << $cnt;
160+
pub const $opt: u64 = 1 << $cnt;
161161
debugging_opts!([ $($rest),* ] $cnt + 1)
162162
)
163163
)
@@ -268,7 +268,7 @@ macro_rules! cgoptions(
268268
}
269269

270270
pub type CodegenSetter = fn(&mut CodegenOptions, v: Option<&str>) -> bool;
271-
pub static CG_OPTIONS: &'static [(&'static str, CodegenSetter,
271+
pub const CG_OPTIONS: &'static [(&'static str, CodegenSetter,
272272
&'static str)] =
273273
&[ $( (stringify!($opt), cgsetters::$opt, $desc) ),* ];
274274

src/librustc/lint/context.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ impl LintStore {
112112
pub fn register_pass(&mut self, sess: Option<&Session>,
113113
from_plugin: bool, pass: LintPassObject) {
114114
for &lint in pass.get_lints().iter() {
115-
self.lints.push((lint, from_plugin));
115+
self.lints.push((*lint, from_plugin));
116116

117-
let id = LintId::of(lint);
117+
let id = LintId::of(*lint);
118118
if !self.by_name.insert(lint.name_lower(), id) {
119119
let msg = format!("duplicate specification of lint {}", lint.name_lower());
120120
match (sess, from_plugin) {

src/librustc/lint/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,12 @@ macro_rules! declare_lint (
9999
macro_rules! lint_array ( ($( $lint:expr ),*) => (
100100
{
101101
#[allow(non_uppercase_statics)]
102-
static array: LintArray = &[ $( $lint ),* ];
102+
static array: LintArray = &[ $( &$lint ),* ];
103103
array
104104
}
105105
))
106106

107-
pub type LintArray = &'static [&'static Lint];
107+
pub type LintArray = &'static [&'static &'static Lint];
108108

109109
/// Trait for types providing lint checks.
110110
///

src/librustc/metadata/common.rs

Lines changed: 101 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -15,83 +15,83 @@ use back::svh::Svh;
1515

1616
// EBML enum definitions and utils shared by the encoder and decoder
1717

18-
pub static tag_items: uint = 0x00;
18+
pub const tag_items: uint = 0x00;
1919

20-
pub static tag_paths_data_name: uint = 0x01;
20+
pub const tag_paths_data_name: uint = 0x01;
2121

22-
pub static tag_def_id: uint = 0x02;
22+
pub const tag_def_id: uint = 0x02;
2323

24-
pub static tag_items_data: uint = 0x03;
24+
pub const tag_items_data: uint = 0x03;
2525

26-
pub static tag_items_data_item: uint = 0x04;
26+
pub const tag_items_data_item: uint = 0x04;
2727

28-
pub static tag_items_data_item_family: uint = 0x05;
28+
pub const tag_items_data_item_family: uint = 0x05;
2929

30-
pub static tag_items_data_item_type: uint = 0x07;
30+
pub const tag_items_data_item_type: uint = 0x07;
3131

32-
pub static tag_items_data_item_symbol: uint = 0x08;
32+
pub const tag_items_data_item_symbol: uint = 0x08;
3333

34-
pub static tag_items_data_item_variant: uint = 0x09;
34+
pub const tag_items_data_item_variant: uint = 0x09;
3535

36-
pub static tag_items_data_parent_item: uint = 0x0a;
36+
pub const tag_items_data_parent_item: uint = 0x0a;
3737

38-
pub static tag_items_data_item_is_tuple_struct_ctor: uint = 0x0b;
38+
pub const tag_items_data_item_is_tuple_struct_ctor: uint = 0x0b;
3939

40-
pub static tag_index: uint = 0x0c;
40+
pub const tag_index: uint = 0x0c;
4141

42-
pub static tag_index_buckets: uint = 0x0d;
42+
pub const tag_index_buckets: uint = 0x0d;
4343

44-
pub static tag_index_buckets_bucket: uint = 0x0e;
44+
pub const tag_index_buckets_bucket: uint = 0x0e;
4545

46-
pub static tag_index_buckets_bucket_elt: uint = 0x0f;
46+
pub const tag_index_buckets_bucket_elt: uint = 0x0f;
4747

48-
pub static tag_index_table: uint = 0x10;
48+
pub const tag_index_table: uint = 0x10;
4949

50-
pub static tag_meta_item_name_value: uint = 0x11;
50+
pub const tag_meta_item_name_value: uint = 0x11;
5151

52-
pub static tag_meta_item_name: uint = 0x12;
52+
pub const tag_meta_item_name: uint = 0x12;
5353

54-
pub static tag_meta_item_value: uint = 0x13;
54+
pub const tag_meta_item_value: uint = 0x13;
5555

56-
pub static tag_attributes: uint = 0x14;
56+
pub const tag_attributes: uint = 0x14;
5757

58-
pub static tag_attribute: uint = 0x15;
58+
pub const tag_attribute: uint = 0x15;
5959

60-
pub static tag_meta_item_word: uint = 0x16;
60+
pub const tag_meta_item_word: uint = 0x16;
6161

62-
pub static tag_meta_item_list: uint = 0x17;
62+
pub const tag_meta_item_list: uint = 0x17;
6363

6464
// The list of crates that this crate depends on
65-
pub static tag_crate_deps: uint = 0x18;
65+
pub const tag_crate_deps: uint = 0x18;
6666

6767
// A single crate dependency
68-
pub static tag_crate_dep: uint = 0x19;
68+
pub const tag_crate_dep: uint = 0x19;
6969

70-
pub static tag_crate_hash: uint = 0x1a;
71-
pub static tag_crate_crate_name: uint = 0x1b;
70+
pub const tag_crate_hash: uint = 0x1a;
71+
pub const tag_crate_crate_name: uint = 0x1b;
7272

73-
pub static tag_crate_dep_crate_name: uint = 0x1d;
74-
pub static tag_crate_dep_hash: uint = 0x1e;
73+
pub const tag_crate_dep_crate_name: uint = 0x1d;
74+
pub const tag_crate_dep_hash: uint = 0x1e;
7575

76-
pub static tag_mod_impl: uint = 0x1f;
76+
pub const tag_mod_impl: uint = 0x1f;
7777

78-
pub static tag_item_trait_item: uint = 0x20;
78+
pub const tag_item_trait_item: uint = 0x20;
7979

80-
pub static tag_item_trait_ref: uint = 0x21;
81-
pub static tag_item_super_trait_ref: uint = 0x22;
80+
pub const tag_item_trait_ref: uint = 0x21;
81+
pub const tag_item_super_trait_ref: uint = 0x22;
8282

8383
// discriminator value for variants
84-
pub static tag_disr_val: uint = 0x23;
84+
pub const tag_disr_val: uint = 0x23;
8585

8686
// used to encode ast_map::PathElem
87-
pub static tag_path: uint = 0x24;
88-
pub static tag_path_len: uint = 0x25;
89-
pub static tag_path_elem_mod: uint = 0x26;
90-
pub static tag_path_elem_name: uint = 0x27;
91-
pub static tag_item_field: uint = 0x28;
92-
pub static tag_item_field_origin: uint = 0x29;
93-
94-
pub static tag_item_variances: uint = 0x2a;
87+
pub const tag_path: uint = 0x24;
88+
pub const tag_path_len: uint = 0x25;
89+
pub const tag_path_elem_mod: uint = 0x26;
90+
pub const tag_path_elem_name: uint = 0x27;
91+
pub const tag_item_field: uint = 0x28;
92+
pub const tag_item_field_origin: uint = 0x29;
93+
94+
pub const tag_item_variances: uint = 0x2a;
9595
/*
9696
trait items contain tag_item_trait_item elements,
9797
impl items contain tag_item_impl_item elements, and classes
@@ -100,15 +100,15 @@ pub static tag_item_variances: uint = 0x2a;
100100
both, tag_item_trait_item and tag_item_impl_item have to be two
101101
different tags.
102102
*/
103-
pub static tag_item_impl_item: uint = 0x30;
104-
pub static tag_item_trait_method_explicit_self: uint = 0x31;
103+
pub const tag_item_impl_item: uint = 0x30;
104+
pub const tag_item_trait_method_explicit_self: uint = 0x31;
105105

106106

107107
// Reexports are found within module tags. Each reexport contains def_ids
108108
// and names.
109-
pub static tag_items_data_item_reexport: uint = 0x38;
110-
pub static tag_items_data_item_reexport_def_id: uint = 0x39;
111-
pub static tag_items_data_item_reexport_name: uint = 0x3a;
109+
pub const tag_items_data_item_reexport: uint = 0x38;
110+
pub const tag_items_data_item_reexport_def_id: uint = 0x39;
111+
pub const tag_items_data_item_reexport_name: uint = 0x3a;
112112

113113
// used to encode crate_ctxt side tables
114114
#[deriving(PartialEq)]
@@ -153,15 +153,15 @@ impl astencode_tag {
153153
}
154154
}
155155

156-
pub static tag_item_trait_item_sort: uint = 0x60;
156+
pub const tag_item_trait_item_sort: uint = 0x60;
157157

158-
pub static tag_item_trait_parent_sort: uint = 0x61;
158+
pub const tag_item_trait_parent_sort: uint = 0x61;
159159

160-
pub static tag_item_impl_type_basename: uint = 0x62;
160+
pub const tag_item_impl_type_basename: uint = 0x62;
161161

162-
pub static tag_crate_triple: uint = 0x66;
162+
pub const tag_crate_triple: uint = 0x66;
163163

164-
pub static tag_dylib_dependency_formats: uint = 0x67;
164+
pub const tag_dylib_dependency_formats: uint = 0x67;
165165

166166
// Language items are a top-level directory (for speed). Hierarchy:
167167
//
@@ -170,81 +170,81 @@ pub static tag_dylib_dependency_formats: uint = 0x67;
170170
// - tag_lang_items_item_id: u32
171171
// - tag_lang_items_item_node_id: u32
172172

173-
pub static tag_lang_items: uint = 0x70;
174-
pub static tag_lang_items_item: uint = 0x71;
175-
pub static tag_lang_items_item_id: uint = 0x72;
176-
pub static tag_lang_items_item_node_id: uint = 0x73;
177-
pub static tag_lang_items_missing: uint = 0x74;
173+
pub const tag_lang_items: uint = 0x70;
174+
pub const tag_lang_items_item: uint = 0x71;
175+
pub const tag_lang_items_item_id: uint = 0x72;
176+
pub const tag_lang_items_item_node_id: uint = 0x73;
177+
pub const tag_lang_items_missing: uint = 0x74;
178178

179-
pub static tag_item_unnamed_field: uint = 0x75;
180-
pub static tag_items_data_item_visibility: uint = 0x76;
179+
pub const tag_item_unnamed_field: uint = 0x75;
180+
pub const tag_items_data_item_visibility: uint = 0x76;
181181

182-
pub static tag_item_method_tps: uint = 0x79;
183-
pub static tag_item_method_fty: uint = 0x7a;
182+
pub const tag_item_method_tps: uint = 0x79;
183+
pub const tag_item_method_fty: uint = 0x7a;
184184

185-
pub static tag_mod_child: uint = 0x7b;
186-
pub static tag_misc_info: uint = 0x7c;
187-
pub static tag_misc_info_crate_items: uint = 0x7d;
185+
pub const tag_mod_child: uint = 0x7b;
186+
pub const tag_misc_info: uint = 0x7c;
187+
pub const tag_misc_info_crate_items: uint = 0x7d;
188188

189-
pub static tag_item_method_provided_source: uint = 0x7e;
190-
pub static tag_item_impl_vtables: uint = 0x7f;
189+
pub const tag_item_method_provided_source: uint = 0x7e;
190+
pub const tag_item_impl_vtables: uint = 0x7f;
191191

192-
pub static tag_impls: uint = 0x80;
193-
pub static tag_impls_impl: uint = 0x81;
192+
pub const tag_impls: uint = 0x80;
193+
pub const tag_impls_impl: uint = 0x81;
194194

195-
pub static tag_items_data_item_inherent_impl: uint = 0x82;
196-
pub static tag_items_data_item_extension_impl: uint = 0x83;
195+
pub const tag_items_data_item_inherent_impl: uint = 0x82;
196+
pub const tag_items_data_item_extension_impl: uint = 0x83;
197197

198198
// GAP 0x84, 0x85, 0x86
199199

200-
pub static tag_native_libraries: uint = 0x87;
201-
pub static tag_native_libraries_lib: uint = 0x88;
202-
pub static tag_native_libraries_name: uint = 0x89;
203-
pub static tag_native_libraries_kind: uint = 0x8a;
200+
pub const tag_native_libraries: uint = 0x87;
201+
pub const tag_native_libraries_lib: uint = 0x88;
202+
pub const tag_native_libraries_name: uint = 0x89;
203+
pub const tag_native_libraries_kind: uint = 0x8a;
204204

205-
pub static tag_plugin_registrar_fn: uint = 0x8b;
206-
pub static tag_exported_macros: uint = 0x8c;
207-
pub static tag_macro_def: uint = 0x8d;
205+
pub const tag_plugin_registrar_fn: uint = 0x8b;
206+
pub const tag_exported_macros: uint = 0x8c;
207+
pub const tag_macro_def: uint = 0x8d;
208208

209-
pub static tag_method_argument_names: uint = 0x8e;
210-
pub static tag_method_argument_name: uint = 0x8f;
209+
pub const tag_method_argument_names: uint = 0x8e;
210+
pub const tag_method_argument_name: uint = 0x8f;
211211

212-
pub static tag_reachable_extern_fns: uint = 0x90;
213-
pub static tag_reachable_extern_fn_id: uint = 0x91;
212+
pub const tag_reachable_extern_fns: uint = 0x90;
213+
pub const tag_reachable_extern_fn_id: uint = 0x91;
214214

215-
pub static tag_items_data_item_stability: uint = 0x92;
215+
pub const tag_items_data_item_stability: uint = 0x92;
216216

217-
pub static tag_items_data_item_repr: uint = 0x93;
217+
pub const tag_items_data_item_repr: uint = 0x93;
218218

219219
#[deriving(Clone, Show)]
220220
pub struct LinkMeta {
221221
pub crate_name: String,
222222
pub crate_hash: Svh,
223223
}
224224

225-
pub static tag_unboxed_closures: uint = 0x95;
226-
pub static tag_unboxed_closure: uint = 0x96;
227-
pub static tag_unboxed_closure_type: uint = 0x97;
228-
pub static tag_unboxed_closure_kind: uint = 0x98;
225+
pub const tag_unboxed_closures: uint = 0x95;
226+
pub const tag_unboxed_closure: uint = 0x96;
227+
pub const tag_unboxed_closure_type: uint = 0x97;
228+
pub const tag_unboxed_closure_kind: uint = 0x98;
229229

230-
pub static tag_struct_fields: uint = 0x99;
231-
pub static tag_struct_field: uint = 0x9a;
232-
pub static tag_struct_field_id: uint = 0x9b;
230+
pub const tag_struct_fields: uint = 0x99;
231+
pub const tag_struct_field: uint = 0x9a;
232+
pub const tag_struct_field_id: uint = 0x9b;
233233

234-
pub static tag_attribute_is_sugared_doc: uint = 0x9c;
234+
pub const tag_attribute_is_sugared_doc: uint = 0x9c;
235235

236-
pub static tag_trait_def_bounds: uint = 0x9d;
236+
pub const tag_trait_def_bounds: uint = 0x9d;
237237

238-
pub static tag_items_data_region: uint = 0x9e;
238+
pub const tag_items_data_region: uint = 0x9e;
239239

240-
pub static tag_region_param_def: uint = 0xa0;
241-
pub static tag_region_param_def_ident: uint = 0xa1;
242-
pub static tag_region_param_def_def_id: uint = 0xa2;
243-
pub static tag_region_param_def_space: uint = 0xa3;
244-
pub static tag_region_param_def_index: uint = 0xa4;
240+
pub const tag_region_param_def: uint = 0xa0;
241+
pub const tag_region_param_def_ident: uint = 0xa1;
242+
pub const tag_region_param_def_def_id: uint = 0xa2;
243+
pub const tag_region_param_def_space: uint = 0xa3;
244+
pub const tag_region_param_def_index: uint = 0xa4;
245245

246-
pub static tag_type_param_def: uint = 0xa5;
246+
pub const tag_type_param_def: uint = 0xa5;
247247

248-
pub static tag_item_generics: uint = 0xa6;
249-
pub static tag_method_ty_generics: uint = 0xa7;
248+
pub const tag_item_generics: uint = 0xa6;
249+
pub const tag_method_ty_generics: uint = 0xa7;
250250

src/librustc/metadata/encoder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2035,7 +2035,7 @@ fn encode_dylib_dependency_formats(rbml_w: &mut Encoder, ecx: &EncodeContext) {
20352035

20362036
// NB: Increment this as you change the metadata encoding version.
20372037
#[allow(non_uppercase_statics)]
2038-
pub static metadata_encoding_version : &'static [u8] = &[b'r', b'u', b's', b't', 0, 0, 0, 1 ];
2038+
pub const metadata_encoding_version : &'static [u8] = &[b'r', b'u', b's', b't', 0, 0, 0, 1 ];
20392039

20402040
pub fn encode_metadata(parms: EncodeParams, krate: &Crate) -> Vec<u8> {
20412041
let mut wr = SeekableMemWriter::new();

0 commit comments

Comments
 (0)