Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- error[E0271]: type mismatch resolving `for<'a> <[closure@src/assembler/semantics/directive.rs:569:34: 583:10 label:_, directive:_, f:_] as std::ops::FnOnce<(assembler::semantics::Semantics<'a, assembler::session::CompositeSession<codebase::FileCodebase<'a, (dyn codebase::FileSystem + 'a)>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>>, assembler::semantics::TokenStreamState<<assembler::session::CompositeSession<codebase::FileCodebase<'a, (dyn codebase::FileSystem + 'a)>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as assembler::session::StringSource>::StringRef, <assembler::session::CompositeSession<codebase::FileCodebase<'a, (dyn codebase::FileSystem + 'a)>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as span::SpanSource>::Span>>,)>>::Output == assembler::semantics::Semantics<'a, assembler::session::CompositeSession<codebase::FileCodebase<'a, (dyn codebase::FileSystem + 'a)>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>>, assembler::semantics::TokenStreamState<<assembler::session::CompositeSession<codebase::FileCodebase<'a, (dyn codebase::FileSystem + 'a)>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as assembler::session::StringSource>::StringRef, <assembler::session::CompositeSession<codebase::FileCodebase<'a, (dyn codebase::FileSystem + 'a)>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as span::SpanSource>::Span>>`
- --> src/assembler/semantics/directive.rs:569:9
- |
- 569 | collect_semantic_actions(|actions| {
- | ^^^^^^^^^^^^^^^^^^^^^^^^ expected associated type, found struct `std::string::String`
- |
- ::: src/assembler/semantics/mod.rs:1424:19
- |
- 1424 | pub(super) fn collect_semantic_actions<F, S>(f: F) -> Vec<Event<S>>
- | ------------------------ required by a bound in this
- 1425 | where
- 1426 | F: for<'a> FnOnce(TestTokenStreamSemantics<'a, S>) -> TestTokenStreamSemantics<'a, S>,
- | ------------------------------- required by this bound in `assembler::semantics::tests::collect_semantic_actions`
- |
- = note: expected struct `assembler::semantics::Semantics<'_, _, assembler::semantics::TokenStreamState<<assembler::session::CompositeSession<codebase::FileCodebase<'_, dyn codebase::FileSystem>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as assembler::session::StringSource>::StringRef, <assembler::session::CompositeSession<codebase::FileCodebase<'_, dyn codebase::FileSystem>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as span::SpanSource>::Span>>`
- found struct `assembler::semantics::Semantics<'_, _, assembler::semantics::TokenStreamState<std::string::String, ()>>`
- = help: consider constraining the associated type `<assembler::session::CompositeSession<codebase::FileCodebase<'_, dyn codebase::FileSystem>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as assembler::session::StringSource>::StringRef` to `std::string::String` or calling a method that returns `<assembler::session::CompositeSession<codebase::FileCodebase<'_, dyn codebase::FileSystem>, span::fake::FakeSpanSystem<codebase::BufId, ()>, assembler::session::MockInterner, std::vec::Vec<std::rc::Rc<assembler::session::macros::MacroDef<(), std::string::String>>>, assembler::session::resolve::BiLevelNameTable<assembler::session::macros::MacroId, object::Symbol<object::BuiltinDefId, object::UserDefId>, std::string::String>, assembler::session::builder::ObjectBuilder<()>, diagnostics::IgnoreDiagnostics, std::vec::Vec<assembler::session::Event<object::Symbol<object::BuiltinDefId, object::UserDefId>, assembler::session::macros::MacroId, std::string::String, (), ()>>> as assembler::session::StringSource>::StringRef`
- = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html
Add Comment
Please, Sign In to add comment