| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:29:20 | |
| | | |
| LL | fn foo(a: usize, b: usize) -> usize { a } | |
| | ----------------------------------- function `foo` defined here | |
| ... | |
| LL | let _: usize = foo; | |
| | ----- ^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize, usize) -> usize {foo}` | |
| help: use parentheses to call this function | |
| | | |
| LL | let _: usize = foo(/* usize */, /* usize */); | |
| | ++++++++++++++++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:30:16 | |
| | | |
| LL | struct S(usize, usize); | |
| | -------- `S` defines a struct constructor here, which should be called | |
| ... | |
| LL | let _: S = S; | |
| | - ^ expected `S`, found struct constructor | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected struct `S` | |
| found struct constructor `fn(usize, usize) -> S {S}` | |
| help: use parentheses to construct this tuple struct | |
| | | |
| LL | let _: S = S(/* usize */, /* usize */); | |
| | ++++++++++++++++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:31:20 | |
| | | |
| LL | fn bar() -> usize { 42 } | |
| | ----------------- function `bar` defined here | |
| ... | |
| LL | let _: usize = bar; | |
| | ----- ^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn() -> usize {bar}` | |
| help: use parentheses to call this function | |
| | | |
| LL | let _: usize = bar(); | |
| | ++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:32:16 | |
| | | |
| LL | struct V(); | |
| | -------- `V` defines a struct constructor here, which should be called | |
| ... | |
| LL | let _: V = V; | |
| | - ^ expected `V`, found struct constructor | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected struct `V` | |
| found struct constructor `fn() -> V {V}` | |
| help: use parentheses to construct this tuple struct | |
| | | |
| LL | let _: 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 } | |
| | ----------------------------------- associated function `baz` defined here | |
| ... | |
| LL | let _: usize = T::baz; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize, usize) -> usize {<_ as T>::baz}` | |
| help: use parentheses to call this associated function | |
| | | |
| LL | let _: usize = T::baz(/* usize */, /* usize */); | |
| | ++++++++++++++++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:34:20 | |
| | | |
| LL | fn bat(x: usize) -> usize { 42 } | |
| | ------------------------- associated function `bat` defined here | |
| ... | |
| LL | let _: usize = T::bat; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize) -> usize {<_ as T>::bat}` | |
| help: use parentheses to call this associated function | |
| | | |
| LL | let _: usize = T::bat(/* usize */); | |
| | +++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:35:16 | |
| | | |
| LL | A(usize), | |
| | - `A` defines an enum variant constructor here, which should be called | |
| ... | |
| LL | let _: E = E::A; | |
| | - ^^^^ expected `E`, found enum constructor | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected enum `E` | |
| found enum constructor `fn(usize) -> E {E::A}` | |
| help: use parentheses to construct this tuple variant | |
| | | |
| LL | let _: E = E::A(/* usize */); | |
| | +++++++++++++ | |
| error[E0533]: expected value, found struct variant `E::B` | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:36:16 | |
| | | |
| LL | let _: E = E::B; | |
| | ^^^^ not a value | |
| | | |
| help: you might have meant to create a new value of the struct | |
| | | |
| LL | let _: E = E::B { a: /* value */ }; | |
| | ++++++++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:37:20 | |
| | | |
| LL | fn baz(x: usize, y: usize) -> usize { x } | |
| | ----------------------------------- associated function `baz` defined here | |
| ... | |
| LL | let _: usize = X::baz; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize, usize) -> usize {<X as T>::baz}` | |
| help: use parentheses to call this associated function | |
| | | |
| LL | let _: usize = X::baz(/* usize */, /* usize */); | |
| | ++++++++++++++++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:38:20 | |
| | | |
| LL | fn bat(x: usize) -> usize { 42 } | |
| | ------------------------- associated function `bat` defined here | |
| ... | |
| LL | let _: usize = X::bat; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize) -> usize {<X as T>::bat}` | |
| help: use parentheses to call this associated function | |
| | | |
| LL | let _: usize = X::bat(/* usize */); | |
| | +++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:39:20 | |
| | | |
| LL | fn bax(x: usize) -> usize { 42 } | |
| | ------------------------- associated function `bax` defined here | |
| ... | |
| LL | let _: usize = X::bax; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize) -> usize {<X as T>::bax}` | |
| help: use parentheses to call this associated function | |
| | | |
| LL | let _: usize = X::bax(/* usize */); | |
| | +++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:40:20 | |
| | | |
| LL | fn bach(x: usize) -> usize; | |
| | --------------------------- associated function `bach` defined here | |
| ... | |
| LL | let _: usize = X::bach; | |
| | ----- ^^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `fn(usize) -> usize {<X as T>::bach}` | |
| help: use parentheses to call this associated function | |
| | | |
| LL | let _: usize = X::bach(/* usize */); | |
| | +++++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:41:20 | |
| | | |
| LL | fn ban(&self) -> usize { 42 } | |
| | ---------------------- method `ban` defined here | |
| ... | |
| LL | let _: usize = X::ban; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `for<'a> fn(&'a X) -> usize {<X as T>::ban}` | |
| help: use parentheses to call this method | |
| | | |
| LL | let _: usize = X::ban(/* &X */); | |
| | ++++++++++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:42:20 | |
| | | |
| LL | fn bal(&self) -> usize; | |
| | ----------------------- method `bal` defined here | |
| ... | |
| LL | let _: usize = X::bal; | |
| | ----- ^^^^^^ expected `usize`, found fn item | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found fn item `for<'a> fn(&'a X) -> usize {<X as T>::bal}` | |
| help: use parentheses to call this method | |
| | | |
| LL | let _: usize = X::bal(/* &X */); | |
| | ++++++++++ | |
| 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; | |
| | ^^^ method, not a field | |
| | | |
| help: use parentheses to call the method | |
| | | |
| LL | let _: usize = X.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; | |
| | ^^^ method, not a field | |
| | | |
| help: use parentheses to call the method | |
| | | |
| LL | let _: usize = X.bal(); | |
| | ++ | |
| error[E0308]: mismatched types | |
| --> $DIR/fn-or-tuple-struct-without-args.rs:46:20 | |
| | | |
| LL | let closure = || 42; | |
| | -- the found closure | |
| LL | let _: usize = closure; | |
| | ----- ^^^^^^^ expected `usize`, found closure | |
| | | | |
| | expected due to this | |
| | | |
| = note: expected type `usize` | |
| found closure `{closure@$DIR/fn-or-tuple-struct-without-args.rs:45:19: 45:21}` | |
| help: use parentheses to call this closure | |
| | | |
| LL | let _: usize = closure(); | |
| | ++ | |
| error: aborting due to 17 previous errors | |
| Some errors have detailed explanations: E0308, E0533, E0615. | |
| For more information about an error, try `rustc --explain E0308`. |