blob: 89f15b52810213e49fd5c45cf4329d02ebe9bc44 [file] [log] [blame]
{
"message": "expected a path on the left-hand side of `+`, not `&'a Foo`",
"code": {
"code": "E0178",
"explanation": "\nIn types, the `+` type operator has low precedence, so it is often necessary\nto use parentheses.\n\nFor example:\n\n```compile_fail,E0178\ntrait Foo {}\n\nstruct Bar<'a> {\n w: &'a Foo + Copy, // error, use &'a (Foo + Copy)\n x: &'a Foo + 'a, // error, use &'a (Foo + 'a)\n y: &'a mut Foo + 'a, // error, use &'a mut (Foo + 'a)\n z: fn() -> Foo + 'a, // error, use fn() -> (Foo + 'a)\n}\n```\n\nMore details can be found in [RFC 438].\n\n[RFC 438]: https://github.com/rust-lang/rfcs/pull/438\n"
},
"level": "error",
"spans": [
{
"file_name": "./tests/everything/E0178.rs",
"byte_start": 60,
"byte_end": 74,
"line_start": 6,
"line_end": 6,
"column_start": 8,
"column_end": 22,
"is_primary": true,
"text": [
{
"text": " w: &'a Foo + Send,",
"highlight_start": 8,
"highlight_end": 22
}
],
"label": null,
"suggested_replacement": null,
"expansion": null
}
],
"children": [
{
"message": "try adding parentheses",
"code": null,
"level": "help",
"spans": [
{
"file_name": "./tests/everything/E0178.rs",
"byte_start": 60,
"byte_end": 74,
"line_start": 6,
"line_end": 6,
"column_start": 8,
"column_end": 22,
"is_primary": true,
"text": [
{
"text": " w: &'a Foo + Send,",
"highlight_start": 8,
"highlight_end": 22
}
],
"label": null,
"suggested_replacement": "&'a (Foo + Send)",
"expansion": null
}
],
"children": [],
"rendered": null
}
],
"rendered": "error[E0178]: expected a path on the left-hand side of `+`, not `&'a Foo`\n --> ./tests/everything/E0178.rs:6:8\n |\n6 | w: &'a Foo + Send,\n | ^^^^^^^^^^^^^^ help: try adding parentheses: `&'a (Foo + Send)`\n\nIf you want more information on this error, try using \"rustc --explain E0178\"\n"
}
{
"message": "aborting due to previous error",
"code": null,
"level": "error",
"spans": [],
"children": [],
"rendered": "error: aborting due to previous error\n\n"
}