From 5cf96e70f49badf4a3085e80658a85e19ca4edda Mon Sep 17 00:00:00 2001 From: Alexis Bourget Date: Tue, 10 Aug 2021 01:36:39 +0200 Subject: [PATCH] Add tests for misplaced/duplicated pub in fn decl --- .../ui/parser/issue-87694-duplicated-pub.rs | 5 +++++ .../ui/parser/issue-87694-duplicated-pub.stderr | 17 +++++++++++++++++ src/test/ui/parser/issue-87694-misplaced-pub.rs | 5 +++++ .../ui/parser/issue-87694-misplaced-pub.stderr | 10 ++++++++++ 4 files changed, 37 insertions(+) create mode 100644 src/test/ui/parser/issue-87694-duplicated-pub.rs create mode 100644 src/test/ui/parser/issue-87694-duplicated-pub.stderr create mode 100644 src/test/ui/parser/issue-87694-misplaced-pub.rs create mode 100644 src/test/ui/parser/issue-87694-misplaced-pub.stderr diff --git a/src/test/ui/parser/issue-87694-duplicated-pub.rs b/src/test/ui/parser/issue-87694-duplicated-pub.rs new file mode 100644 index 00000000000..cf6e463d41d --- /dev/null +++ b/src/test/ui/parser/issue-87694-duplicated-pub.rs @@ -0,0 +1,5 @@ +pub const pub fn test() {} +//~^ ERROR expected one of `async`, `extern`, `fn`, or `unsafe`, found keyword `pub` +//~| NOTE expected one of `async`, `extern`, `fn`, or `unsafe` +//~| HELP there is already a visibility, remove this one +//~| NOTE explicit visibility first seen here diff --git a/src/test/ui/parser/issue-87694-duplicated-pub.stderr b/src/test/ui/parser/issue-87694-duplicated-pub.stderr new file mode 100644 index 00000000000..9d62c3feb55 --- /dev/null +++ b/src/test/ui/parser/issue-87694-duplicated-pub.stderr @@ -0,0 +1,17 @@ +error: expected one of `async`, `extern`, `fn`, or `unsafe`, found keyword `pub` + --> $DIR/issue-87694-duplicated-pub.rs:1:11 + | +LL | pub const pub fn test() {} + | ^^^ + | | + | expected one of `async`, `extern`, `fn`, or `unsafe` + | help: there is already a visibility, remove this one + | +note: explicit visibility first seen here + --> $DIR/issue-87694-duplicated-pub.rs:1:1 + | +LL | pub const pub fn test() {} + | ^^^ + +error: aborting due to previous error + diff --git a/src/test/ui/parser/issue-87694-misplaced-pub.rs b/src/test/ui/parser/issue-87694-misplaced-pub.rs new file mode 100644 index 00000000000..3f824617cad --- /dev/null +++ b/src/test/ui/parser/issue-87694-misplaced-pub.rs @@ -0,0 +1,5 @@ +const pub fn test() {} +//~^ ERROR expected one of `async`, `extern`, `fn`, or `unsafe`, found keyword `pub` +//~| NOTE expected one of `async`, `extern`, `fn`, or `unsafe` +//~| HELP visibility `pub` must come before `const` +//~| SUGGESTION pub const diff --git a/src/test/ui/parser/issue-87694-misplaced-pub.stderr b/src/test/ui/parser/issue-87694-misplaced-pub.stderr new file mode 100644 index 00000000000..ac588ad5a77 --- /dev/null +++ b/src/test/ui/parser/issue-87694-misplaced-pub.stderr @@ -0,0 +1,10 @@ +error: expected one of `async`, `extern`, `fn`, or `unsafe`, found keyword `pub` + --> $DIR/issue-87694-misplaced-pub.rs:1:7 + | +LL | const pub fn test() {} + | ----- ^^^ expected one of `async`, `extern`, `fn`, or `unsafe` + | | + | help: visibility `pub` must come before `const`: `pub const` + +error: aborting due to previous error +