Add test for str for "expected primitive, found type"

This commit is contained in:
Zachary S 2024-11-09 00:23:53 -06:00
parent d37e6dfee8
commit 5f6645dc51
2 changed files with 28 additions and 3 deletions

View File

@ -1,10 +1,14 @@
#![allow(non_camel_case_types)] #![allow(non_camel_case_types)]
struct bool; struct bool;
struct str;
fn foo(_: bool) {} fn foo(_: bool) {}
fn bar(_: &str) {}
fn main() { fn main() {
foo(true); foo(true);
//~^ ERROR mismatched types [E0308] //~^ ERROR mismatched types [E0308]
bar("hello");
//~^ ERROR mismatched types [E0308]
} }

View File

@ -1,5 +1,5 @@
error[E0308]: mismatched types error[E0308]: mismatched types
--> $DIR/similar_paths_primitive.rs:8:9 --> $DIR/similar_paths_primitive.rs:10:9
| |
LL | foo(true); LL | foo(true);
| --- ^^^^ expected `bool`, found a different `bool` | --- ^^^^ expected `bool`, found a different `bool`
@ -14,11 +14,32 @@ note: `bool` is defined in the current crate
LL | struct bool; LL | struct bool;
| ^^^^^^^^^^^ | ^^^^^^^^^^^
note: function defined here note: function defined here
--> $DIR/similar_paths_primitive.rs:5:4 --> $DIR/similar_paths_primitive.rs:6:4
| |
LL | fn foo(_: bool) {} LL | fn foo(_: bool) {}
| ^^^ ------- | ^^^ -------
error: aborting due to 1 previous error error[E0308]: mismatched types
--> $DIR/similar_paths_primitive.rs:12:9
|
LL | bar("hello");
| --- ^^^^^^^ expected `str`, found a different `str`
| |
| arguments to this function are incorrect
|
= note: str and `str` have similar names, but are actually distinct types
= note: str is a primitive defined by the language
note: `str` is defined in the current crate
--> $DIR/similar_paths_primitive.rs:4:1
|
LL | struct str;
| ^^^^^^^^^^
note: function defined here
--> $DIR/similar_paths_primitive.rs:7:4
|
LL | fn bar(_: &str) {}
| ^^^ -------
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0308`. For more information about this error, try `rustc --explain E0308`.