error[E0423]: expected value, found struct variant `E::B` --> $DIR/fn-or-tuple-struct-without-args.rs:36:16 | LL | B { a: usize }, | -------------- `E::B` defined here ... LL | let _: E = E::B; | ^^^- | | | | | help: a tuple variant with a similar name exists: `A` | did you mean `E::B { /* fields */ }`? error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:29:20 | LL | fn foo(a: usize, b: usize) -> usize { a } | ----------------------------------- fn(usize, usize) -> usize {foo} defined here ... LL | let _: usize = foo; | ^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `foo(a, b)` | = note: expected type `usize` found type `fn(usize, usize) -> usize {foo}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:30:16 | LL | struct S(usize, usize); | ----------------------- fn(usize, usize) -> S {S} defined here ... LL | let _: S = S; | ^ | | | expected struct `S`, found fn item | help: use parentheses to instantiate this tuple struct: `S(_, _)` | = note: expected type `S` found type `fn(usize, usize) -> S {S}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:31:20 | LL | fn bar() -> usize { 42 } | ----------------- fn() -> usize {bar} defined here ... LL | let _: usize = bar; | ^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `bar()` | = note: expected type `usize` found type `fn() -> usize {bar}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:32:16 | LL | struct V(); | ----------- fn() -> V {V} defined here ... LL | let _: V = V; | ^ | | | expected struct `V`, found fn item | help: use parentheses to instantiate this tuple struct: `V()` | = note: expected type `V` found type `fn() -> V {V}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:33:20 | LL | fn baz(x: usize, y: usize) -> usize { x } | ----------------------------------- fn(usize, usize) -> usize {<_ as T>::baz} defined here ... LL | let _: usize = T::baz; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `T::baz(x, y)` | = note: expected type `usize` found type `fn(usize, usize) -> usize {<_ as T>::baz}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:34:20 | LL | fn bat(x: usize) -> usize { 42 } | ------------------------- fn(usize) -> usize {<_ as T>::bat} defined here ... LL | let _: usize = T::bat; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `T::bat(x)` | = note: expected type `usize` found type `fn(usize) -> usize {<_ as T>::bat}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:35:16 | LL | A(usize), | -------- fn(usize) -> E {E::A} defined here ... LL | let _: E = E::A; | ^^^^ | | | expected enum `E`, found fn item | help: use parentheses to instantiate this tuple variant: `E::A(_)` | = note: expected type `E` found type `fn(usize) -> E {E::A}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:37:20 | LL | fn baz(x: usize, y: usize) -> usize { x } | ----------------------------------- fn(usize, usize) -> usize {::baz} defined here ... LL | let _: usize = X::baz; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `X::baz(x, y)` | = note: expected type `usize` found type `fn(usize, usize) -> usize {::baz}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:38:20 | LL | fn bat(x: usize) -> usize { 42 } | ------------------------- fn(usize) -> usize {::bat} defined here ... LL | let _: usize = X::bat; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `X::bat(x)` | = note: expected type `usize` found type `fn(usize) -> usize {::bat}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:39:20 | LL | fn bax(x: usize) -> usize { 42 } | ------------------------- fn(usize) -> usize {::bax} defined here ... LL | let _: usize = X::bax; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `X::bax(x)` | = note: expected type `usize` found type `fn(usize) -> usize {::bax}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:40:20 | LL | fn bach(x: usize) -> usize; | --------------------------- fn(usize) -> usize {::bach} defined here ... LL | let _: usize = X::bach; | ^^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `X::bach(x)` | = note: expected type `usize` found type `fn(usize) -> usize {::bach}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:41:20 | LL | fn ban(&self) -> usize { 42 } | ---------------------- for<'r> fn(&'r X) -> usize {::ban} defined here ... LL | let _: usize = X::ban; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `X::ban(_)` | = note: expected type `usize` found type `for<'r> fn(&'r X) -> usize {::ban}` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:42:20 | LL | fn bal(&self) -> usize; | ----------------------- for<'r> fn(&'r X) -> usize {::bal} defined here ... LL | let _: usize = X::bal; | ^^^^^^ | | | expected usize, found fn item | help: use parentheses to call this function: `X::bal(_)` | = note: expected type `usize` found type `for<'r> fn(&'r X) -> usize {::bal}` error[E0615]: attempted to take value of method `ban` on type `X` --> $DIR/fn-or-tuple-struct-without-args.rs:43:22 | LL | let _: usize = X.ban; | ^^^ help: use parentheses to call the method: `ban()` error[E0615]: attempted to take value of method `bal` on type `X` --> $DIR/fn-or-tuple-struct-without-args.rs:44:22 | LL | let _: usize = X.bal; | ^^^ help: use parentheses to call the method: `bal()` error[E0308]: mismatched types --> $DIR/fn-or-tuple-struct-without-args.rs:46:20 | LL | let closure = || 42; | -- closure defined here LL | let _: usize = closure; | ^^^^^^^ | | | expected usize, found closure | help: use parentheses to call this closure: `closure()` | = note: expected type `usize` found type `[closure@$DIR/fn-or-tuple-struct-without-args.rs:45:19: 45:24]` error: aborting due to 17 previous errors Some errors have detailed explanations: E0308, E0423, E0615. For more information about an error, try `rustc --explain E0308`.