mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 15:01:51 +00:00
38 lines
1.7 KiB
Rust
38 lines
1.7 KiB
Rust
// 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
|
|
}
|