#include <iostream>
using namespace std;
struct From;
struct By{
By(const From& f){}
};
struct From{
int i;
From(){}
//operator By() {}
};
struct To{
To(const By& b){}
};
int main() {
From f;
To to {f}; // works w/o conversion operator
//To to = f; // error: conversion from 'From' to non-scalar type 'To' requested
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEZyb207CgpzdHJ1Y3QgQnl7CiAgICBCeShjb25zdCBGcm9tJiBmKXt9Cn07CgpzdHJ1Y3QgRnJvbXsKICAgIGludCBpOwogICAgRnJvbSgpe30KICAgIC8vb3BlcmF0b3IgQnkoKSB7fQp9OwoKc3RydWN0IFRvewogICAgVG8oY29uc3QgQnkmIGIpe30KfTsKCmludCBtYWluKCkgewogICAgRnJvbSBmOwogICAgVG8gdG8ge2Z9OyAgLy8gd29ya3Mgdy9vIGNvbnZlcnNpb24gb3BlcmF0b3IKICAgIC8vVG8gdG8gPSBmOyAgLy8gZXJyb3I6IGNvbnZlcnNpb24gZnJvbSAnRnJvbScgdG8gbm9uLXNjYWxhciB0eXBlICdUbycgcmVxdWVzdGVkCiAgICByZXR1cm4gMDsKfQ==