Skip to content

Commit

Permalink
rustc_span: Remove Symbol::with
Browse files Browse the repository at this point in the history
  • Loading branch information
petrochenkov committed Dec 27, 2020
1 parent dc6121c commit 0ae998e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
5 changes: 4 additions & 1 deletion compiler/rustc_resolve/src/lib.rs
Expand Up @@ -2416,7 +2416,10 @@ impl<'a> Resolver<'a> {
} else if i == 0 {
if ident
.name
.with(|n| n.chars().next().map_or(false, |c| c.is_ascii_uppercase()))
.as_str()
.chars()
.next()
.map_or(false, |c| c.is_ascii_uppercase())
{
(format!("use of undeclared type `{}`", ident), None)
} else {
Expand Down
12 changes: 3 additions & 9 deletions compiler/rustc_span/src/symbol.rs
Expand Up @@ -1451,12 +1451,6 @@ impl Symbol {
with_interner(|interner| interner.intern(string))
}

/// Access the symbol's chars. This is a slowish operation because it
/// requires locking the symbol interner.
pub fn with<F: FnOnce(&str) -> R, R>(self, f: F) -> R {
with_interner(|interner| f(interner.get(self)))
}

/// Convert to a `SymbolStr`. This is a slowish operation because it
/// requires locking the symbol interner.
pub fn as_str(self) -> SymbolStr {
Expand Down Expand Up @@ -1484,19 +1478,19 @@ impl Symbol {

impl fmt::Debug for Symbol {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
self.with(|str| fmt::Debug::fmt(&str, f))
fmt::Debug::fmt(&self.as_str(), f)
}
}

impl fmt::Display for Symbol {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
self.with(|str| fmt::Display::fmt(&str, f))
fmt::Display::fmt(&self.as_str(), f)
}
}

impl<S: Encoder> Encodable<S> for Symbol {
fn encode(&self, s: &mut S) -> Result<(), S::Error> {
self.with(|string| s.emit_str(string))
s.emit_str(&self.as_str())
}
}

Expand Down

0 comments on commit 0ae998e

Please sign in to comment.