/dports/lang/rust/rustc-1.58.1-src/src/test/ui/regions/ |
H A D | regions-close-over-type-parameter-1.rs | 6 trait SomeTrait { trait 11 fn make_object1<A: SomeTrait>(v: A) -> Box<dyn SomeTrait + 'static> { in make_object1() 12 Box::new(v) as Box<dyn SomeTrait + 'static> in make_object1() 16 fn make_object2<'a, A: SomeTrait + 'a>(v: A) -> Box<dyn SomeTrait + 'a> { in make_object2() 17 Box::new(v) as Box<dyn SomeTrait + 'a> in make_object2() 20 fn make_object3<'a, 'b, A: SomeTrait + 'a>(v: A) -> Box<dyn SomeTrait + 'b> { in make_object3() 21 Box::new(v) as Box<dyn SomeTrait + 'b> in make_object3()
|
H A D | regions-close-over-type-parameter-multiple.rs | 5 trait SomeTrait { fn get(&self) -> isize; } in get() interface 8 fn make_object_good1<'a,'b,A:SomeTrait+'a+'b>(v: A) -> Box<dyn SomeTrait + 'a> { in make_object_good1() 10 Box::new(v) as Box<dyn SomeTrait + 'a> // ...hence this type is safe. in make_object_good1() 13 fn make_object_good2<'a,'b,A:SomeTrait+'a+'b>(v: A) -> Box<dyn SomeTrait + 'b> { in make_object_good2() 15 Box::new(v) as Box<dyn SomeTrait + 'b> // ...hence this type is safe. in make_object_good2() 18 fn make_object_bad<'a,'b,'c,A:SomeTrait+'a+'b>(v: A) -> Box<dyn SomeTrait + 'c> { in make_object_bad() 20 Box::new(v) as Box<dyn SomeTrait + 'a> //~ ERROR cannot infer an appropriate lifetime in make_object_bad()
|
H A D | regions-close-over-type-parameter-multiple.stderr | 4 LL | Box::new(v) as Box<dyn SomeTrait + 'a> 10 LL | fn make_object_bad<'a,'b,'c,A:SomeTrait+'a+'b>(v: A) -> Box<dyn SomeTrait + 'c> { 15 LL | Box::new(v) as Box<dyn SomeTrait + 'a> 20 LL | fn make_object_bad<'a,'b,'c,A:SomeTrait+'a+'b>(v: A) -> Box<dyn SomeTrait + 'c> { 25 LL | Box::new(v) as Box<dyn SomeTrait + 'a> 27 = note: expected `Box<(dyn SomeTrait + 'c)>` 28 found `Box<dyn SomeTrait>`
|
H A D | regions-close-over-type-parameter-successfully.rs | 5 trait SomeTrait { fn get(&self) -> isize; } in get() trait 7 impl<'a> SomeTrait for &'a isize { impl 13 fn make_object<'a,A:SomeTrait+'a>(v: A) -> Box<dyn SomeTrait+'a> { in make_object() 14 Box::new(v) as Box<dyn SomeTrait+'a> in make_object()
|
H A D | regions-close-over-type-parameter-1.stderr | 4 LL | fn make_object1<A: SomeTrait>(v: A) -> Box<dyn SomeTrait + 'static> { 6 LL | Box::new(v) as Box<dyn SomeTrait + 'static> 12 LL | fn make_object3<'a, 'b, A: SomeTrait + 'a>(v: A) -> Box<dyn SomeTrait + 'b> { 14 LL | Box::new(v) as Box<dyn SomeTrait + 'b>
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/object-lifetime/ |
H A D | object-lifetime-default-elision.rs | 6 trait SomeTrait { interface 11 r: Box<dyn SomeTrait+'a> 20 fn load0<'a>(ss: &'a Box<dyn SomeTrait>) -> Box<dyn SomeTrait> { in load0() argument 34 fn load1(ss: &dyn SomeTrait) -> &dyn SomeTrait { in load1() argument 48 fn load2<'a>(ss: &'a dyn SomeTrait) -> &dyn SomeTrait { in load2() argument 54 fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { in load3() argument
|
H A D | object-lifetime-default-mybox.rs | 5 trait SomeTrait { trait 19 fn load0(ss: &MyBox<dyn SomeTrait>) -> MyBox<dyn SomeTrait> { in load0() argument 23 fn load1<'a,'b>(a: &'a MyBox<dyn SomeTrait>, in load1() argument 24 b: &'b MyBox<dyn SomeTrait>) in load1() 25 -> &'b MyBox<dyn SomeTrait> in load1() argument 30 fn load2<'a>(ss: &MyBox<dyn SomeTrait + 'a>) -> MyBox<dyn SomeTrait + 'a> { in load2()
|
H A D | object-lifetime-default-elision.stderr | 10 LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { 20 LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { 27 = note: expected `&'b (dyn SomeTrait + 'b)` 28 found `&dyn SomeTrait` 39 LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { 49 LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { 56 = note: expected `&'b (dyn SomeTrait + 'b)` 57 found `&dyn SomeTrait`
|
H A D | object-lifetime-default-mybox.stderr | 4 LL | fn load1<'a,'b>(a: &'a MyBox<dyn SomeTrait>, 6 LL | b: &'b MyBox<dyn SomeTrait>) 7 LL | -> &'b MyBox<dyn SomeTrait> 19 = note: expected reference `&MyBox<(dyn SomeTrait + 'static)>` 20 found reference `&MyBox<(dyn SomeTrait + 'a)>` 24 LL | fn load2<'a>(ss: &MyBox<dyn SomeTrait + 'a>) -> MyBox<dyn SomeTrait + 'a> {
|
H A D | object-lifetime-default-from-box-error.rs | 6 trait SomeTrait { interface 11 r: Box<dyn SomeTrait+'a> 14 fn load(ss: &mut SomeStruct) -> Box<dyn SomeTrait> { in load() argument 21 fn store(ss: &mut SomeStruct, b: Box<dyn SomeTrait>) { in store() argument 28 fn store1<'b>(ss: &mut SomeStruct, b: Box<dyn SomeTrait+'b>) { in store1()
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/dyn-keyword/ |
H A D | dyn-2021-edition-error.stderr | 4 LL | let _x: &SomeTrait = todo!(); 9 LL | let _x: &dyn SomeTrait = todo!(); 15 LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) { 20 LL | fn function(x: &dyn SomeTrait, y: Box<SomeTrait>) { 26 LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) { 31 LL | fn function(x: &SomeTrait, y: Box<dyn SomeTrait>) {
|
H A D | dyn-2018-edition-lint.stderr | 4 LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) { 5 | ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait` 18 LL | fn function(x: &SomeTrait, y: Box<SomeTrait>) { 19 | ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait` 27 LL | let _x: &SomeTrait = todo!(); 28 | ^^^^^^^^^ help: use `dyn`: `dyn SomeTrait`
|
H A D | dyn-2021-edition-error.rs | 3 fn function(x: &SomeTrait, y: Box<SomeTrait>) { in function() argument 6 let _x: &SomeTrait = todo!(); in function() 10 trait SomeTrait {} trait
|
H A D | dyn-2018-edition-lint.rs | 4 fn function(x: &SomeTrait, y: Box<SomeTrait>) { in function() argument 9 let _x: &SomeTrait = todo!(); in function() 14 trait SomeTrait {} interface
|
/dports/lang/rust/rustc-1.58.1-src/compiler/rustc_error_codes/src/error_codes/ |
H A D | E0398.md | 8 The heart of the change is that where `&'a Box<SomeTrait>` used to default to 9 `&'a Box<SomeTrait+'a>`, it now defaults to `&'a Box<SomeTrait+'static>` (here, 10 `SomeTrait` is the name of some trait type). Note that the only types which are 11 affected are references to boxes, like `&Box<SomeTrait>` or 12 `&[Box<SomeTrait>]`. More common types like `&SomeTrait` or `Box<SomeTrait>` 21 # trait SomeTrait {} 22 fn foo(arg: &Box<SomeTrait>) { /* ... */ } 28 # trait SomeTrait {} 29 fn foo<'a>(arg: &'a Box<SomeTrait+'a>) { /* ... */ } 32 This explicitly states that you expect the trait object `SomeTrait` to contain
|
H A D | E0309.md | 8 // `SomeTrait` (below) requires that `T: 'a`, but the struct does 11 foo: <T as SomeTrait<'a>>::Output, 14 trait SomeTrait<'a> { 18 impl<'a, T> SomeTrait<'a> for T 30 `<T as SomeTrait<'a>>::Output`, as shown in the previous code. 41 foo: <T as SomeTrait<'a>>::Output 44 trait SomeTrait<'a> { 48 impl<'a, T> SomeTrait<'a> for T
|
H A D | E0405.md | 8 impl SomeTrait for Foo {} // error: trait `SomeTrait` is not in scope 17 use some_file::SomeTrait; 20 trait SomeTrait { 26 impl SomeTrait for Foo { // ok!
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/issues/ |
H A D | issue-14821.rs | 4 trait SomeTrait {} interface 6 impl SomeTrait for Meow {} 9 x: &'a dyn SomeTrait, 10 y: &'a dyn SomeTrait, 14 pub fn new<'b>(x: &'b dyn SomeTrait, y: &'b dyn SomeTrait) -> Foo<'b> { Foo { x: x, y: y } } in new() argument 20 let q = Foo::new(&r as &dyn SomeTrait, &s as &dyn SomeTrait); in main()
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/error-codes/ |
H A D | E0033.stderr | 1 error[E0423]: expected value, found trait `SomeTrait` 4 LL | let trait_obj: &dyn SomeTrait = SomeTrait; 7 error[E0038]: the trait `SomeTrait` cannot be made into an object 10 LL | let trait_obj: &dyn SomeTrait = SomeTrait; 11 | ^^^^^^^^^^^^^^ `SomeTrait` cannot be made into an object 16 LL | trait SomeTrait { 29 error[E0033]: type `&dyn SomeTrait` cannot be dereferenced 33 | ^^^^^^^^ type `&dyn SomeTrait` cannot be dereferenced
|
H A D | E0033-teach.stderr | 1 error[E0423]: expected value, found trait `SomeTrait` 4 LL | let trait_obj: &dyn SomeTrait = SomeTrait; 7 error[E0038]: the trait `SomeTrait` cannot be made into an object 10 LL | let trait_obj: &dyn SomeTrait = SomeTrait; 11 | ^^^^^^^^^^^^^^ `SomeTrait` cannot be made into an object 16 LL | trait SomeTrait { 29 error[E0033]: type `&dyn SomeTrait` cannot be dereferenced 33 | ^^^^^^^^ type `&dyn SomeTrait` cannot be dereferenced
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/traits/suggest-deferences/ |
H A D | issue-62530.fixed | 4 fn takes_type_parameter<T>(_x: T) where T: SomeTrait {} 6 trait SomeTrait {} 7 impl SomeTrait for &'_ str {} 8 impl SomeTrait for char {} 14 //~^ ERROR the trait bound `&String: SomeTrait` is not satisfied
|
H A D | issue-62530.rs | 4 fn takes_type_parameter<T>(_x: T) where T: SomeTrait {} in takes_type_parameter() argument 6 trait SomeTrait {} interface 7 impl SomeTrait for &'_ str {} impl 8 impl SomeTrait for char {}
|
/dports/lang/rust/rustc-1.58.1-src/src/test/rustdoc/intra-doc/ |
H A D | in-bodies.rs | 11 use SomeTrait; 16 impl SomeTrait for OtherStruct {} 19 pub trait SomeTrait {} trait 29 impl SomeTrait for SomeStruct {} in __implementation_details()
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/traits/alias/ |
H A D | issue-60021-assoc-method-resolve.rs | 5 trait SomeTrait { trait 9 impl<T> SomeTrait for Option<T> {} 11 trait SomeAlias = SomeTrait; 18 SomeTrait::map(&x);
|
/dports/lang/rust/rustc-1.58.1-src/src/test/ui/issues/auxiliary/ |
H A D | issue-38226-aux.rs | 5 let _: Box<SomeTrait> = Box::new(SomeTraitImpl); in foo() 13 pub trait SomeTrait { interface 20 use self::submod::SomeTrait; 23 impl SomeTrait for SomeTraitImpl {}
|