1 // Unit test for the "user substitutions" that are annotated on each
4 fn some_fn
<T
>(arg
: T
) { }
11 fn annot_underscore() {
13 some_fn
::<_
>(&c
); // OK
16 fn annot_reference_any_lifetime() {
18 some_fn
::<&u32>(&c
); // OK
21 fn annot_reference_static_lifetime() {
23 some_fn
::<&'
static u32>(&c
); //~ ERROR
26 fn annot_reference_named_lifetime
<'a
>(_d
: &'a
u32) {
28 some_fn
::<&'a
u32>(&c
); //~ ERROR
31 fn annot_reference_named_lifetime_ok
<'a
>(c
: &'a
u32) {
32 some_fn
::<&'a
u32>(c
);
35 fn annot_reference_named_lifetime_in_closure
<'a
>(_
: &'a
u32) {
38 some_fn
::<&'a
u32>(&c
); //~ ERROR
42 fn annot_reference_named_lifetime_in_closure_ok
<'a
>(c
: &'a
u32) {
44 some_fn
::<&'a
u32>(c
);