# Byte order mark and shebang #!/usr/bin/env rustx #![allow(dead_code)] fn source_input() {} ==> SourceFile( Shebang, InnerAttribute(MetaItem(Identifier, ParenthesizedTokens(Identifier))), FunctionItem(fn, BoundIdentifier, ParamList, Block)) # Inner attribute after whitespace #! [allow(dead_code)] fn retained() {} ==> SourceFile( InnerAttribute(MetaItem(Identifier, ParenthesizedTokens(Identifier))), FunctionItem(fn, BoundIdentifier, ParamList, Block))