-
Notifications
You must be signed in to change notification settings - Fork 14k
Closed
Labels
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)
Description
Playpen link: https://is.gd/eYoVIw
Using Stable or Beta, the error message looks like this:
<std macros>:5:8: 6:42 error: mismatched types:
[.. eliding text ..]
<anon>:6:17: 6:24 note: in this expansion of try! (defined in <std macros>)
The key part is that it tells me that line 6 is where the try expansion happens.
But when running with Nightly, this is the error message (in full):
error: mismatched types [--explain E0308]
--> <std macros>:5:8
5 |> return $ crate :: result :: Result :: Err (
|> ^ expected struct `Foo`, found enum `std::result::Result`
<std macros>:5:8: 6:45: note: in this expansion of try! (defined in <std macros>)
note: expected type `Foo`
note: found type `std::result::Result<_, _>`
error: aborting due to previous error
playpen: application terminated with error code 101
The expansion site (line 6) is missing from the error diagnostics. While the playpen uses the new-style diagnostics, this problem (the missing line number) applies to the old-style diagnostics too.
I'm not sure if this is only for try!, or if it is for all macros (I didn't test that)
I'm not sure exactly what version of rustc the playpen is at, but this issue is reproduced with rustc 1.10.0-nightly (cd6a40017 2016-05-16)
Metadata
Metadata
Assignees
Labels
A-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)