summaryrefslogtreecommitdiffstats
path: root/src/test/ui/rfc-2126-crate-paths
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/rfc-2126-crate-paths')
-rw-r--r--src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.rs11
-rw-r--r--src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.stderr15
-rw-r--r--src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.rs4
-rw-r--r--src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.stderr9
4 files changed, 39 insertions, 0 deletions
diff --git a/src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.rs b/src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.rs
new file mode 100644
index 000000000..79f6b0dfe
--- /dev/null
+++ b/src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.rs
@@ -0,0 +1,11 @@
+struct S;
+
+pub mod m {
+ fn f() {
+ let s = ::m::crate::S; //~ ERROR failed to resolve
+ let s1 = ::crate::S; //~ ERROR failed to resolve
+ let s2 = crate::S; // no error
+ }
+}
+
+fn main() {}
diff --git a/src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.stderr b/src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.stderr
new file mode 100644
index 000000000..7e7ee3ce0
--- /dev/null
+++ b/src/test/ui/rfc-2126-crate-paths/crate-path-non-absolute.stderr
@@ -0,0 +1,15 @@
+error[E0433]: failed to resolve: `crate` in paths can only be used in start position
+ --> $DIR/crate-path-non-absolute.rs:5:22
+ |
+LL | let s = ::m::crate::S;
+ | ^^^^^ `crate` in paths can only be used in start position
+
+error[E0433]: failed to resolve: global paths cannot start with `crate`
+ --> $DIR/crate-path-non-absolute.rs:6:20
+ |
+LL | let s1 = ::crate::S;
+ | ^^^^^ global paths cannot start with `crate`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0433`.
diff --git a/src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.rs b/src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.rs
new file mode 100644
index 000000000..019ef8e9d
--- /dev/null
+++ b/src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.rs
@@ -0,0 +1,4 @@
+fn main() {
+ let crate = 0;
+ //~^ ERROR expected unit struct, unit variant or constant, found module `crate`
+}
diff --git a/src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.stderr b/src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.stderr
new file mode 100644
index 000000000..c39a70f66
--- /dev/null
+++ b/src/test/ui/rfc-2126-crate-paths/keyword-crate-as-identifier.stderr
@@ -0,0 +1,9 @@
+error[E0532]: expected unit struct, unit variant or constant, found module `crate`
+ --> $DIR/keyword-crate-as-identifier.rs:2:9
+ |
+LL | let crate = 0;
+ | ^^^^^ not a unit struct, unit variant or constant
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0532`.