Skip to content

Instantly share code, notes, and snippets.

@ttldtor
Created November 27, 2019 08:11
Show Gist options
  • Save ttldtor/0556f507de6e0009feeb4fe2e8608129 to your computer and use it in GitHub Desktop.
Save ttldtor/0556f507de6e0009feeb4fe2e8608129 to your computer and use it in GitHub Desktop.
../src/patterns/impl/DefaultPatternManager.cpp: In member function 'void ses::patterns::DefaultPatternManager::generateAnchorAndSeparatorGroups(se::api::common::Id, ses::documents::DocumentSnapshot::Ptr, const std::vector<std::shared_ptr<ses::patterns::Pattern> >&)':
../src/patterns/impl/DefaultPatternManager.cpp:469:47: error: no match for 'operator=' (operand types are 'std::unordered_map<long long int, ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > > >::mapped_type' {aka 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >'} and 'ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::SeparatorTag> >')
469 | separatorLexemeGroupsRecords_[snapshotId] = separatorLexemes;
| ^~~~~~~~~~~~~~~~
In file included from ../src/patterns/PatternManager.hpp:9,
from ../src/patterns/impl/DefaultPatternManager.hpp:12,
from ../src/patterns/impl/DefaultPatternManager.cpp:1:
../src/patterns/GroupsContainer.hpp:15:8: note: candidate: 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >& ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >::operator=(const ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&)'
15 | struct GroupsContainer {
| ^~~~~~~~~~~~~~~
../src/patterns/GroupsContainer.hpp:15:8: note: no known conversion for argument 1 from 'ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::SeparatorTag> >' to 'const ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&'
../src/patterns/GroupsContainer.hpp:15:8: note: candidate: 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >& ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >::operator=(ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&&)'
../src/patterns/GroupsContainer.hpp:15:8: note: no known conversion for argument 1 from 'ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::SeparatorTag> >' to 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&&'
../src/patterns/impl/DefaultPatternManager.cpp:473:25: error: 'struct ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::SeparatorTag> >' has no member named 'groups'
473 | if (!separatorLexemes.groups.empty()) {
| ^~~~~~
../src/patterns/impl/DefaultPatternManager.cpp:474:59: error: 'struct ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::SeparatorTag> >' has no member named 'groups'
474 | for (const auto&[lineIndex, items] : separatorLexemes.groups) {
| ^~~~~~
../src/patterns/impl/DefaultPatternManager.cpp:478:31: error: unable to deduce 'auto&&' from 'items'
478 | for (const auto& item : items) {
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp: In lambda function:
../src/patterns/impl/DefaultPatternManager.cpp:482:42: error: 'atoms' is not captured
482 | {atoms[groupItem.range.from].range.from, atoms[groupItem.range.to].range.to}}};
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp:480:28: note: the lambda has no capture-default
480 | std::visit([atoms](auto&& groupItem) {
| ^
../src/patterns/impl/DefaultPatternManager.cpp:476:12: note: '<typeprefixerror>atoms' declared here
476 | auto atoms = patternsMap[lineIndex]->getAtoms();
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp:482:82: error: 'atoms' is not captured
482 | {atoms[groupItem.range.from].range.from, atoms[groupItem.range.to].range.to}}};
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp:480:28: note: the lambda has no capture-default
480 | std::visit([atoms](auto&& groupItem) {
| ^
../src/patterns/impl/DefaultPatternManager.cpp:476:12: note: '<typeprefixerror>atoms' declared here
476 | auto atoms = patternsMap[lineIndex]->getAtoms();
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp: In member function 'void ses::patterns::DefaultPatternManager::generateAnchorAndSeparatorGroups(se::api::common::Id, ses::documents::DocumentSnapshot::Ptr, const std::vector<std::shared_ptr<ses::patterns::Pattern> >&)':
../src/patterns/impl/DefaultPatternManager.cpp:495:44: error: no match for 'operator=' (operand types are 'std::unordered_map<long long int, ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > > >::mapped_type' {aka 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >'} and 'ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::AnchorTag> >')
495 | anchorLexemeGroupsRecords_[snapshotId] = anchorLexemes;
| ^~~~~~~~~~~~~
In file included from ../src/patterns/PatternManager.hpp:9,
from ../src/patterns/impl/DefaultPatternManager.hpp:12,
from ../src/patterns/impl/DefaultPatternManager.cpp:1:
../src/patterns/GroupsContainer.hpp:15:8: note: candidate: 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >& ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >::operator=(const ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&)'
15 | struct GroupsContainer {
| ^~~~~~~~~~~~~~~
../src/patterns/GroupsContainer.hpp:15:8: note: no known conversion for argument 1 from 'ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::AnchorTag> >' to 'const ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&'
../src/patterns/GroupsContainer.hpp:15:8: note: candidate: 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >& ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >::operator=(ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&&)'
../src/patterns/GroupsContainer.hpp:15:8: note: no known conversion for argument 1 from 'ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::AnchorTag> >' to 'ses::patterns::GroupsContainer<ses::patterns::GroupsRecord<std::variant<ses::lexemes::LexemeGroup<ses::common::AnchorTag>, ses::lexemes::LexemeGroup<ses::common::SeparatorTag> > > >&&'
../src/patterns/impl/DefaultPatternManager.cpp:499:22: error: 'struct ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::AnchorTag> >' has no member named 'groups'
499 | if (!anchorLexemes.groups.empty()) {
| ^~~~~~
../src/patterns/impl/DefaultPatternManager.cpp:500:56: error: 'struct ses::common::Lines<ses::lexemes::LexemeGroup<ses::common::AnchorTag> >' has no member named 'groups'
500 | for (const auto&[lineIndex, items] : anchorLexemes.groups) {
| ^~~~~~
../src/patterns/impl/DefaultPatternManager.cpp:504:31: error: unable to deduce 'auto&&' from 'items'
504 | for (const auto& item : items) {
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp: In lambda function:
../src/patterns/impl/DefaultPatternManager.cpp:508:39: error: 'atoms' is not captured
508 | {atoms[groupItem.range.from].range.from, atoms[groupItem.range.to].range.to}}};
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp:506:28: note: the lambda has no capture-default
506 | std::visit([atoms](auto&& groupItem) {
| ^
../src/patterns/impl/DefaultPatternManager.cpp:502:12: note: '<typeprefixerror>atoms' declared here
502 | auto atoms = patternsMap[lineIndex]->getAtoms();
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp:508:79: error: 'atoms' is not captured
508 | {atoms[groupItem.range.from].range.from, atoms[groupItem.range.to].range.to}}};
| ^~~~~
../src/patterns/impl/DefaultPatternManager.cpp:506:28: note: the lambda has no capture-default
506 | std::visit([atoms](auto&& groupItem) {
| ^
../src/patterns/impl/DefaultPatternManager.cpp:502:12: note: '<typeprefixerror>atoms' declared here
502 | auto atoms = patternsMap[lineIndex]->getAtoms();
| ^~~~~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment