File: impl-block-params-declared-in-wrong-spot-issue-113073.stderr

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (102 lines) | stat: -rw-r--r-- 3,633 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
error[E0261]: use of undeclared lifetime name `'a`
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:7:13
   |
LL | impl Foo<T: 'a + Default> for u8 {}
   |     -       ^^ undeclared lifetime
   |     |
   |     help: consider introducing lifetime `'a` here: `<'a>`

error[E0229]: associated item constraints are not allowed here
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:3:10
   |
LL | impl Foo<T: Default> for String {}
   |          ^^^^^^^^^^ associated item constraint not allowed here
   |
help: declare the type parameter right after the `impl` keyword
   |
LL - impl Foo<T: Default> for String {}
LL + impl<T: Default> Foo<T> for String {}
   |

error[E0229]: associated item constraints are not allowed here
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:7:10
   |
LL | impl Foo<T: 'a + Default> for u8 {}
   |          ^^^^^^^^^^^^^^^ associated item constraint not allowed here
   |
help: declare the type parameter right after the `impl` keyword
   |
LL - impl Foo<T: 'a + Default> for u8 {}
LL + impl<'a, T: 'a + Default> Foo<T> for u8 {}
   |

error[E0229]: associated item constraints are not allowed here
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:13:13
   |
LL | impl<T> Foo<T: Default> for u16 {}
   |             ^^^^^^^^^^ associated item constraint not allowed here
   |
help: declare the type parameter right after the `impl` keyword
   |
LL - impl<T> Foo<T: Default> for u16 {}
LL + impl<T, T: Default> Foo<T> for u16 {}
   |

error[E0229]: associated item constraints are not allowed here
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:17:14
   |
LL | impl<'a> Foo<T: 'a + Default> for u32 {}
   |              ^^^^^^^^^^^^^^^ associated item constraint not allowed here
   |
help: declare the type parameter right after the `impl` keyword
   |
LL - impl<'a> Foo<T: 'a + Default> for u32 {}
LL + impl<'a, 'a, T: 'a + Default> Foo<T> for u32 {}
   |

error[E0229]: associated item constraints are not allowed here
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:23:10
   |
LL | impl Bar<T: Default, K: Default> for String {}
   |          ^^^^^^^^^^ associated item constraint not allowed here
   |
help: declare the type parameter right after the `impl` keyword
   |
LL - impl Bar<T: Default, K: Default> for String {}
LL + impl<T: Default> Bar<T, K: Default> for String {}
   |

error[E0107]: trait takes 2 generic arguments but 1 generic argument was supplied
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:27:9
   |
LL | impl<T> Bar<T, K: Default> for u8 {}
   |         ^^^ - supplied 1 generic argument
   |         |
   |         expected 2 generic arguments
   |
note: trait defined here, with 2 generic parameters: `T`, `K`
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:21:7
   |
LL | trait Bar<T, K> {}
   |       ^^^ -  -
help: add missing generic argument
   |
LL | impl<T> Bar<T, K, K: Default> for u8 {}
   |              +++

error[E0229]: associated item constraints are not allowed here
  --> $DIR/impl-block-params-declared-in-wrong-spot-issue-113073.rs:27:16
   |
LL | impl<T> Bar<T, K: Default> for u8 {}
   |                ^^^^^^^^^^ associated item constraint not allowed here
   |
help: declare the type parameter right after the `impl` keyword
   |
LL - impl<T> Bar<T, K: Default> for u8 {}
LL + impl<T, K: Default> Bar<T, K> for u8 {}
   |

error: aborting due to 8 previous errors

Some errors have detailed explanations: E0107, E0229, E0261.
For more information about an error, try `rustc --explain E0107`.