This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +72
-0
lines changed Expand file tree Collapse file tree 2 files changed +72
-0
lines changed Original file line number Diff line number Diff line change 1+ // run-pass
2+ #![ allow( warnings) ]
3+
4+ #[ derive( Debug ) ]
5+ pub struct Bar { pub t : ( ) }
6+
7+ impl < T > Access for T { }
8+ pub trait Access {
9+ fn field ( & self , _: impl Sized , _: impl Sized ) {
10+ panic ! ( "got into Access::field" ) ;
11+ }
12+
13+ fn finish ( & self ) -> Result < ( ) , std:: fmt:: Error > {
14+ panic ! ( "got into Access::finish" ) ;
15+ }
16+
17+ fn debug_struct ( & self , _: impl Sized , _: impl Sized ) {
18+ panic ! ( "got into Access::debug_struct" ) ;
19+ }
20+ }
21+
22+ impl < T > MutAccess for T { }
23+ pub trait MutAccess {
24+ fn field ( & mut self , _: impl Sized , _: impl Sized ) {
25+ panic ! ( "got into MutAccess::field" ) ;
26+ }
27+
28+ fn finish ( & mut self ) -> Result < ( ) , std:: fmt:: Error > {
29+ panic ! ( "got into MutAccess::finish" ) ;
30+ }
31+
32+ fn debug_struct ( & mut self , _: impl Sized , _: impl Sized ) {
33+ panic ! ( "got into MutAccess::debug_struct" ) ;
34+ }
35+ }
36+
37+ fn main ( ) {
38+ let bar = Bar { t : ( ) } ;
39+ assert_eq ! ( "Bar { t: () }" , format!( "{:?}" , bar) ) ;
40+ }
Original file line number Diff line number Diff line change 1+ // run-pass
2+ #![ allow( warnings) ]
3+
4+ #[ derive( Debug ) ]
5+ pub struct Foo < T > ( pub T ) ;
6+
7+ use std:: fmt;
8+
9+ impl < T > Field for T { }
10+ impl < T > Finish for T { }
11+ impl Dt for & mut fmt:: Formatter < ' _ > { }
12+
13+ pub trait Field {
14+ fn field ( & self , _: impl Sized ) {
15+ panic ! ( "got into field" ) ;
16+ }
17+ }
18+ pub trait Finish {
19+ fn finish ( & self ) -> Result < ( ) , std:: fmt:: Error > {
20+ panic ! ( "got into finish" ) ;
21+ }
22+ }
23+ pub trait Dt {
24+ fn debug_tuple ( & self , _: & str ) {
25+ panic ! ( "got into debug_tuple" ) ;
26+ }
27+ }
28+
29+ fn main ( ) {
30+ let foo = Foo ( ( ) ) ;
31+ assert_eq ! ( "Foo(())" , format!( "{:?}" , foo) ) ;
32+ }
You can’t perform that action at this time.
0 commit comments