use crate::util::nodemap::{NodeMap, FxHashSet};
use errors::FatalError;
-use syntax_pos::{Span, DUMMY_SP, symbol::InternedString, MultiSpan};
+use syntax_pos::{Span, DUMMY_SP, MultiSpan};
use syntax::source_map::Spanned;
use syntax::ast::{self, CrateSugar, Ident, Name, NodeId, AsmDialect};
use syntax::ast::{Attribute, Label, LitKind, StrStyle, FloatTy, IntTy, UintTy};
own_counts
}
- pub fn get_named(&self, name: InternedString) -> Option<&GenericParam> {
+ pub fn get_named(&self, name: Symbol) -> Option<&GenericParam> {
for param in &self.params {
- if name == param.name.ident().as_interned_str() {
+ if name == param.name.ident().name {
return Some(param);
}
}
MutImmutable => MutMutable,
}
}
+
+ pub fn prefix_str(&self) -> &'static str {
+ match self {
+ MutMutable => "mut ",
+ MutImmutable => "",
+ }
+ }
}
#[derive(Copy, Clone, PartialEq, RustcEncodable, RustcDecodable, Debug, HashStable)]
Normal,
}
+impl Unsafety {
+ pub fn prefix_str(&self) -> &'static str {
+ match self {
+ Unsafety::Unsafe => "unsafe ",
+ Unsafety::Normal => "",
+ }
+ }
+}
+
#[derive(Copy, Clone, PartialEq, RustcEncodable, RustcDecodable, Debug, HashStable)]
pub enum Constness {
Const,
Fn(P<FnDecl>, FnHeader, Generics, BodyId),
/// A module.
Mod(Mod),
- /// An external module.
+ /// An external module, e.g. `extern { .. }`.
ForeignMod(ForeignMod),
/// Module-level inline assembly (from `global_asm!`).
GlobalAsm(P<GlobalAsm>),
/// `#[used]`: indicates that LLVM can't eliminate this function (but the
/// linker can!).
const USED = 1 << 9;
- /// #[ffi_returns_twice], indicates that an extern function can return
+ /// `#[ffi_returns_twice]`, indicates that an extern function can return
/// multiple times
const FFI_RETURNS_TWICE = 1 << 10;
- /// #[track_caller]: allow access to the caller location
+ /// `#[track_caller]`: allow access to the caller location
const TRACK_CALLER = 1 << 11;
}
}