Skip to content

Commit 1b984b5

Browse files
Add E0264 error explanation
1 parent 4dbdfb4 commit 1b984b5

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

src/librustc/diagnostics.rs

+25-1
Original file line numberDiff line numberDiff line change
@@ -1037,6 +1037,31 @@ fn foo<'a, 'b, 'a>(x: &'a str, y: &'b str) { }
10371037
```
10381038
"##,
10391039

1040+
E0264: r##"
1041+
An unknown external lang item was used. Erroneous code example:
1042+
1043+
```
1044+
#![feature(lang_items)]
1045+
1046+
extern "C" {
1047+
#[lang = "cake"] // error: unknown external lang item: `cake`
1048+
fn cake();
1049+
}
1050+
```
1051+
1052+
A list of available external lang items is available in
1053+
`src/librustc/middle/weak_lang_items.rs`. Example:
1054+
1055+
```
1056+
#![feature(lang_items)]
1057+
1058+
extern "C" {
1059+
#[lang = "panic_fmt"] // ok!
1060+
fn cake();
1061+
}
1062+
```
1063+
"##,
1064+
10401065
E0265: r##"
10411066
This error indicates that a static or constant references itself.
10421067
All statics and constants need to resolve to a value in an acyclic manner.
@@ -2200,7 +2225,6 @@ register_diagnostics! {
22002225
// E0134,
22012226
// E0135,
22022227
E0229, // associated type bindings are not allowed here
2203-
E0264, // unknown external lang item
22042228
E0278, // requirement is not satisfied
22052229
E0279, // requirement is not satisfied
22062230
E0280, // requirement is not satisfied

src/librustc/middle/weak_lang_items.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ impl<'a> Context<'a> {
102102
}
103103
} else)* {
104104
span_err!(self.sess, span, E0264,
105-
"unknown external lang item: `{}`",
106-
name);
105+
"unknown external lang item: `{}`",
106+
name);
107107
}
108108
}
109109
}

0 commit comments

Comments
 (0)