summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-50865-private-impl-trait/main.rs
blob: 16dfac53ad1bee1527253ea9d7c477f3ab2d5e10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// run-pass
// aux-build:lib.rs

// Regression test for #50865.
// When using generics or specifying the type directly, this example
// codegens `foo` internally. However, when using a private `impl Trait`
// function which references another private item, `foo` (in this case)
// wouldn't be codegenned until main.rs used `bar`, as with impl Trait
// it is not cast to `fn()` automatically to satisfy e.g.
// `fn foo() -> fn() { ... }`.

extern crate lib;

fn main() {
    lib::bar(()); // Error won't happen if bar is called from same crate
}