about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMichael Woerister <michaelwoerister@posteo.net>2017-05-09 12:46:43 +0200
committerMichael Woerister <michaelwoerister@posteo.net>2017-05-09 12:46:43 +0200
commit115602b1beed92998998ec45460f917b6281980a (patch)
tree3d7f5532c4b570c7ac5fc359b2c37a624338315c /src
parent6a5e2a5a9eee3a504d89c014d80fd8f301226c27 (diff)
Add INVALID_CRATE CrateNum constant.
Diffstat (limited to 'src')
-rw-r--r--src/librustc/hir/def_id.rs5
-rw-r--r--src/libsyntax_pos/lib.rs4
2 files changed, 7 insertions, 2 deletions
diff --git a/src/librustc/hir/def_id.rs b/src/librustc/hir/def_id.rs
index a6b18ac10a7..47604b961ae 100644
--- a/src/librustc/hir/def_id.rs
+++ b/src/librustc/hir/def_id.rs
@@ -36,7 +36,10 @@ pub const LOCAL_CRATE: CrateNum = CrateNum(0);
 
 /// Virtual crate for builtin macros
 // FIXME(jseyfried): this is also used for custom derives until proc-macro crates get `CrateNum`s.
-pub const BUILTIN_MACROS_CRATE: CrateNum = CrateNum(!0);
+pub const BUILTIN_MACROS_CRATE: CrateNum = CrateNum(u32::MAX);
+
+/// A CrateNum value that indicates that something is wrong.
+pub const INVALID_CRATE: CrateNum = CrateNum(u32::MAX - 1);
 
 impl CrateNum {
     pub fn new(x: usize) -> CrateNum {
diff --git a/src/libsyntax_pos/lib.rs b/src/libsyntax_pos/lib.rs
index ec56098aa97..eb86a8e1379 100644
--- a/src/libsyntax_pos/lib.rs
+++ b/src/libsyntax_pos/lib.rs
@@ -494,7 +494,9 @@ impl Decodable for FileMap {
                 name: name,
                 name_was_remapped: name_was_remapped,
                 // `crate_of_origin` has to be set by the importer.
-                crate_of_origin: 0xEFFF_FFFF,
+                // This value matches up with rustc::hir::def_id::INVALID_CRATE.
+                // That constant is not available here unfortunately :(
+                crate_of_origin: ::std::u32::MAX - 1,
                 start_pos: start_pos,
                 end_pos: end_pos,
                 src: None,