| // ignore-tidy-linelength |
| //@ revisions: cpass1 cfail2 |
| //@ edition: 2021 |
| //@ [cpass1] compile-flags: --crate-type lib --emit dep-info,metadata |
| //@ [cfail2] aux-build: circular-dependencies-aux.rs |
| //@ [cfail2] compile-flags: --test --extern aux={{build-base}}/circular-dependencies/auxiliary/libcircular_dependencies_aux.rmeta -L dependency={{build-base}}/circular-dependencies |
| |
| pub struct Foo; |
| //[cfail2]~^ NOTE `Foo` is defined in the current crate |
| //[cfail2]~| NOTE `Foo` is defined in the current crate |
| //[cfail2]~| NOTE `circular_dependencies::Foo` is defined in crate `circular_dependencies` |
| //[cfail2]~| NOTE `circular_dependencies::Foo` is defined in crate `circular_dependencies` |
| |
| pub fn consume_foo(_: Foo) {} |
| //[cfail2]~^ NOTE function defined here |
| |
| pub fn produce_foo() -> Foo { |
| Foo |
| } |
| |
| #[test] |
| fn test() { |
| aux::consume_foo(produce_foo()); |
| //[cfail2]~^ ERROR mismatched types [E0308] |
| //[cfail2]~| NOTE expected `circular_dependencies::Foo`, found `Foo` |
| //[cfail2]~| NOTE arguments to this function are incorrect |
| //[cfail2]~| NOTE `Foo` and `circular_dependencies::Foo` have similar names, but are actually distinct types |
| //[cfail2]~| NOTE the crate `circular_dependencies` is compiled multiple times, possibly with different configurations |
| //[cfail2]~| NOTE function defined here |
| |
| consume_foo(aux::produce_foo()); |
| //[cfail2]~^ ERROR mismatched types [E0308] |
| //[cfail2]~| NOTE expected `Foo`, found `circular_dependencies::Foo` |
| //[cfail2]~| NOTE arguments to this function are incorrect |
| //[cfail2]~| NOTE `circular_dependencies::Foo` and `Foo` have similar names, but are actually distinct types |
| //[cfail2]~| NOTE the crate `circular_dependencies` is compiled multiple times, possibly with different configurations |
| } |