summaryrefslogtreecommitdiffstats
path: root/tests/ui/inference/erase-type-params-in-label.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/inference/erase-type-params-in-label.rs')
-rw-r--r--tests/ui/inference/erase-type-params-in-label.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/ui/inference/erase-type-params-in-label.rs b/tests/ui/inference/erase-type-params-in-label.rs
new file mode 100644
index 000000000..1fea2da92
--- /dev/null
+++ b/tests/ui/inference/erase-type-params-in-label.rs
@@ -0,0 +1,27 @@
+fn main() {
+ let foo = foo(1, ""); //~ ERROR E0283
+}
+fn baz() {
+ let bar = bar(1, ""); //~ ERROR E0283
+}
+
+struct Bar<T, K, N: Default> {
+ t: T,
+ k: K,
+ n: N,
+}
+
+fn bar<T, K, Z: Default>(t: T, k: K) -> Bar<T, K, Z> {
+ Bar { t, k, n: Default::default() }
+}
+
+struct Foo<T, K, N: Default, M: Default> {
+ t: T,
+ k: K,
+ n: N,
+ m: M,
+}
+
+fn foo<T, K, W: Default, Z: Default>(t: T, k: K) -> Foo<T, K, W, Z> {
+ Foo { t, k, n: Default::default(), m: Default::default() }
+}