error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:25:44 | LL | static a: RefCell>>> = RefCell::new(HashMap::new()); | ^^^ expected 2 lifetime parameters | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values | LL | static a: RefCell>>>> = RefCell::new(HashMap::new()); | ++++++++++++++++++ error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:25:44 | LL | / thread_local! { LL | | LL | | LL | | static a: RefCell>>> = RefCell::new(HashMap::new()); | | ^^^ expected 2 lifetime parameters LL | | LL | | LL | | } | |_- | = help: this function's return type contains a borrowed value, but the signature does not say which one of `init`'s 3 lifetimes it is borrowed from error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:33:44 | LL | static b: RefCell>>> = RefCell::new(HashMap::new()); | ^^^^ expected 2 lifetime parameters | | | expected named lifetime parameter | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static` | LL | static b: RefCell>>>> = RefCell::new(HashMap::new()); | +++++++ ++++++++++++++++++ error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:33:44 | LL | / thread_local! { LL | | LL | | LL | | LL | | static b: RefCell>>> = RefCell::new(HashMap::new()); | | ^^^^ expected 2 lifetime parameters | | | | | expected named lifetime parameter LL | | LL | | LL | | } | |_- | = help: this function's return type contains a borrowed value, but the signature does not say which one of `init`'s 4 lifetimes it is borrowed from error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:40:47 | LL | static c: RefCell>>>> = RefCell::new(HashMap::new()); | ^ expected 2 lifetime parameters | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values | LL | static c: RefCell>>>> = RefCell::new(HashMap::new()); | +++++++++++++++++ error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:40:47 | LL | / thread_local! { LL | | LL | | LL | | static c: RefCell>>>> = RefCell::new(HashMap::new()); | | ^ expected 2 lifetime parameters LL | | LL | | LL | | } | |_- | = help: this function's return type contains a borrowed value, but the signature does not say which one of `init`'s 3 lifetimes it is borrowed from error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:48:44 | LL | static d: RefCell>>>> = RefCell::new(HashMap::new()); | ^ ^ expected 2 lifetime parameters | | | expected named lifetime parameter | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static` | LL | static d: RefCell>>>> = RefCell::new(HashMap::new()); | +++++++ +++++++++++++++++ error[E0106]: missing lifetime specifiers --> $DIR/missing-lifetime-specifier.rs:48:44 | LL | / thread_local! { LL | | LL | | LL | | LL | | static d: RefCell>>>> = RefCell::new(HashMap::new()); | | ^ ^ expected 2 lifetime parameters | | | | | expected named lifetime parameter LL | | LL | | LL | | } | |_- | = help: this function's return type contains a borrowed value, but the signature does not say which one of `init`'s 4 lifetimes it is borrowed from error[E0106]: missing lifetime specifier --> $DIR/missing-lifetime-specifier.rs:58:44 | LL | static f: RefCell>>>> = RefCell::new(HashMap::new()); | ^ expected named lifetime parameter | = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static` | LL | static f: RefCell>>>> = RefCell::new(HashMap::new()); | +++++++ error[E0106]: missing lifetime specifier --> $DIR/missing-lifetime-specifier.rs:58:44 | LL | / thread_local! { LL | | static f: RefCell>>>> = RefCell::new(HashMap::new()); | | ^ expected named lifetime parameter LL | | LL | | LL | | LL | | } | |_- | = help: this function's return type contains a borrowed value, but the signature does not say which one of `init`'s 3 lifetimes it is borrowed from error[E0107]: union takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:54:44 | LL | static e: RefCell>>>> = RefCell::new(HashMap::new()); | ^^^ ------- supplied 1 lifetime argument | | | expected 2 lifetime arguments | note: union defined here, with 2 lifetime parameters: `'t`, `'k` --> $DIR/missing-lifetime-specifier.rs:16:11 | LL | pub union Qux<'t, 'k, I> { | ^^^ -- -- help: add missing lifetime argument | LL | static e: RefCell>>>> = RefCell::new(HashMap::new()); | +++++++++ error[E0107]: trait takes 2 lifetime arguments but 1 lifetime argument was supplied --> $DIR/missing-lifetime-specifier.rs:58:45 | LL | static f: RefCell>>>> = RefCell::new(HashMap::new()); | ^^^ ------- supplied 1 lifetime argument | | | expected 2 lifetime arguments | note: trait defined here, with 2 lifetime parameters: `'t`, `'k` --> $DIR/missing-lifetime-specifier.rs:20:7 | LL | trait Tar<'t, 'k, I> {} | ^^^ -- -- help: add missing lifetime argument | LL | static f: RefCell>>>> = RefCell::new(HashMap::new()); | +++++++++ error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:22:1 | LL | / thread_local! { LL | | LL | | LL | | static a: RefCell>>> = RefCell::new(HashMap::new()); LL | | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'1` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:22:1 | LL | / thread_local! { LL | | LL | | LL | | static a: RefCell>>> = RefCell::new(HashMap::new()); LL | | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'2` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:29:1 | LL | / thread_local! { LL | | LL | | LL | | LL | | static b: RefCell>>> = RefCell::new(HashMap::new()); | | - let's call the lifetime of this reference `'1` LL | | LL | | LL | | } | |_^ returning this value requires that `'1` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) help: to declare that the trait object captures data from argument `init`, you can add an explicit `'_` lifetime bound | LL | static b: RefCell>>> = RefCell::new(HashMap::new()); | ++++ error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:29:1 | LL | / thread_local! { LL | | LL | | LL | | ... | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'2` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) help: to declare that the trait object captures data from argument `init`, you can add an explicit `'_` lifetime bound | LL | static b: RefCell>>> = RefCell::new(HashMap::new()); | ++++ error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:29:1 | LL | / thread_local! { LL | | LL | | LL | | ... | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'3` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) help: to declare that the trait object captures data from argument `init`, you can add an explicit `'_` lifetime bound | LL | static b: RefCell>>> = RefCell::new(HashMap::new()); | ++++ error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:37:1 | LL | / thread_local! { LL | | LL | | LL | | static c: RefCell>>>> = RefCell::new(HashMap::new()); LL | | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'1` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:37:1 | LL | / thread_local! { LL | | LL | | LL | | static c: RefCell>>>> = RefCell::new(HashMap::new()); LL | | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'2` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:44:1 | LL | / thread_local! { LL | | LL | | LL | | LL | | static d: RefCell>>>> = RefCell::new(HashMap::new()); | | - let's call the lifetime of this reference `'1` LL | | LL | | LL | | } | |_^ returning this value requires that `'1` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) help: to declare that the trait object captures data from argument `init`, you can add an explicit `'_` lifetime bound | LL | static d: RefCell + '_>>>> = RefCell::new(HashMap::new()); | ++++ error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:44:1 | LL | / thread_local! { LL | | LL | | LL | | ... | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'2` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) help: to declare that the trait object captures data from argument `init`, you can add an explicit `'_` lifetime bound | LL | static d: RefCell + '_>>>> = RefCell::new(HashMap::new()); | ++++ error: lifetime may not live long enough --> $DIR/missing-lifetime-specifier.rs:44:1 | LL | / thread_local! { LL | | LL | | LL | | ... | LL | | LL | | } | | ^ | | | | |_has type `Option<&mut Option>>>>>>` | returning this value requires that `'3` must outlive `'static` | = note: this error originates in the macro `$crate::thread::local_impl::thread_local_inner` which comes from the expansion of the macro `thread_local` (in Nightly builds, run with -Z macro-backtrace for more info) help: to declare that the trait object captures data from argument `init`, you can add an explicit `'_` lifetime bound | LL | static d: RefCell + '_>>>> = RefCell::new(HashMap::new()); | ++++ error: aborting due to 22 previous errors Some errors have detailed explanations: E0106, E0107. For more information about an error, try `rustc --explain E0106`.