summaryrefslogtreecommitdiffstats
path: root/src/test/ui/impl-trait/auxiliary
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/impl-trait/auxiliary')
-rw-r--r--src/test/ui/impl-trait/auxiliary/extra-item.rs1
-rw-r--r--src/test/ui/impl-trait/auxiliary/no_method_suggested_traits.rs36
-rw-r--r--src/test/ui/impl-trait/auxiliary/xcrate.rs23
3 files changed, 60 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/auxiliary/extra-item.rs b/src/test/ui/impl-trait/auxiliary/extra-item.rs
new file mode 100644
index 000000000..8eaeafa52
--- /dev/null
+++ b/src/test/ui/impl-trait/auxiliary/extra-item.rs
@@ -0,0 +1 @@
+pub trait MyTrait {}
diff --git a/src/test/ui/impl-trait/auxiliary/no_method_suggested_traits.rs b/src/test/ui/impl-trait/auxiliary/no_method_suggested_traits.rs
new file mode 100644
index 000000000..cefb17e0f
--- /dev/null
+++ b/src/test/ui/impl-trait/auxiliary/no_method_suggested_traits.rs
@@ -0,0 +1,36 @@
+pub use reexport::Reexported;
+
+pub struct Foo;
+pub enum Bar { X }
+
+pub mod foo {
+ pub trait PubPub {
+ fn method(&self) {}
+
+ fn method3(&self) {}
+ }
+
+ impl PubPub for u32 {}
+ impl PubPub for i32 {}
+}
+pub mod bar {
+ trait PubPriv {
+ fn method(&self);
+ }
+}
+mod qux {
+ pub trait PrivPub {
+ fn method(&self);
+ }
+}
+mod quz {
+ trait PrivPriv {
+ fn method(&self);
+ }
+}
+
+mod reexport {
+ pub trait Reexported {
+ fn method(&self);
+ }
+}
diff --git a/src/test/ui/impl-trait/auxiliary/xcrate.rs b/src/test/ui/impl-trait/auxiliary/xcrate.rs
new file mode 100644
index 000000000..ac016258b
--- /dev/null
+++ b/src/test/ui/impl-trait/auxiliary/xcrate.rs
@@ -0,0 +1,23 @@
+// NOTE commented out due to issue #45994
+//pub fn fourway_add(a: i32) -> impl Fn(i32) -> impl Fn(i32) -> impl Fn(i32) -> i32 {
+// move |b| move |c| move |d| a + b + c + d
+//}
+
+fn some_internal_fn() -> u32 {
+ 1
+}
+
+fn other_internal_fn() -> u32 {
+ 1
+}
+
+// See #40839
+pub fn return_closure_accessing_internal_fn() -> impl Fn() -> u32 {
+ || {
+ some_internal_fn() + 1
+ }
+}
+
+pub fn return_internal_fn() -> impl Fn() -> u32 {
+ other_internal_fn
+}