rust/tests/ui/derives/derive-Debug-use-ufcs-tuple.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

33 lines
579 B
Rust
Raw Normal View History

2021-01-22 23:50:31 -06:00
// run-pass
#![allow(warnings)]
#[derive(Debug)]
pub struct Foo<T>(pub T);
use std::fmt;
impl<T> Field for T {}
impl<T> Finish for T {}
impl Dt for &mut fmt::Formatter<'_> {}
pub trait Field {
fn field(&self, _: impl Sized) {
panic!("got into field");
}
}
pub trait Finish {
fn finish(&self) -> Result<(), std::fmt::Error> {
panic!("got into finish");
}
}
pub trait Dt {
fn debug_tuple(&self, _: &str) {
panic!("got into debug_tuple");
}
}
fn main() {
let foo = Foo(());
assert_eq!("Foo(())", format!("{:?}", foo));
}